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

#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 ( )
inlineexplicit

Construct uninitialized angle.

Referenced by Degrees().

◆ 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)
inlinestatic

Construct an angle in degrees.

References Angle().

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

◆ operator double()

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

Return value (in radians).

◆ degrees()

double Angle::degrees ( ) const

◆ 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(), and liesBetween().

◆ 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().

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


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