Ipelib

Public Member Functions | Static Public Member Functions | List of all members
ipe::Angle Class Reference
Ipe Geometry

`#include <ipegeo.h>`

## Public Member Functions
| Angle ()
| Angle (double alpha)
| operator double () const
double | degrees () const
Angle | normalize (double lowlimit)
bool | liesBetween (Angle small, Angle large) const

## Static Public Member Functions
static Angle | Degrees (double alpha)

## Detailed Description

A double that's an angle.

An Angle is really nothing more than a double. Having a separate type is sometimes useful, for instance in the Vector constructor, and this class serves as the right place for a few utility functions. It also makes it clear whether a value is in radians or in degrees.

## Constructor & Destructor Documentation

## ◆ Angle() [1/2]

ipe::Angle::Angle | ( |  | ) |
| inline explicit

Construct uninitialized angle.

Referenced by ipe::Vector::angle(), Degrees(), and ipe::Arc::intersect().

## ◆ Angle() [2/2]

ipe::Angle::Angle | ( | double | alpha | ) |
| inline

Construct an angle (in radians).

## Member Function Documentation

## ◆ Degrees()

static Angle ipe::Angle::Degrees | ( | double | alpha | ) |
| inline static

Construct an angle in degrees.

References Angle().

Referenced by ipe::ImlParser::parseStyle().

## ◆ operator double()

ipe::Angle::operator double | ( |  | ) | const
| inline

Return value (in radians).

References degrees(), liesBetween(), and normalize().

## ◆ degrees()

double Angle::degrees | ( |  | ) | const

Referenced by operator double(), and ipe::StyleSheet::saveAsXml().

## ◆ normalize()

Angle Angle::normalize | ( | double | lowlimit | ) |

Normalize the value to the range lowlimit .. lowlimit + 2 pi.

This Angle object is modified, a copy is returned.

Referenced by ipe::Painter::doDrawArc(), ipe::Snap::getLine(), liesBetween(), and operator double().

## ◆ liesBetween()

bool Angle::liesBetween | ( | Angle | small,
|  | Angle | large
| ) |  | const

When considering the positively oriented circle arc from angle small to large, does it cover this angle?

References normalize(), and ipe::Vector::Vector().

Referenced by ipe::Arc::bbox(), ipe::Arc::distance(), ipe::Arc::intersect(), and operator double().

The documentation for this class was generated from the following files:

- ipegeo.h
- ipegeo.cpp