Public Member Functions | Static Public Member Functions

zeus::TAngle Class Reference

#include <Angle.h>

Inheritance diagram for zeus::TAngle:
zeus::IAngle

List of all members.

Public Member Functions

 TAngle ()
 Default constructor.
 TAngle (const Float &fAngle, ESystem eSystem)
 Constructor with value.
 TAngle (const TAngle &rAngle)
 Copy constructor: Constructor taking class type object.
 TAngle (const IAngle &rAngle)
 Constructor taking interface type object.
virtual ~TAngle ()
 Virtual destructor.
virtual Float MQUALIFIER getRadians () const
virtual Float MQUALIFIER getDegrees () const
virtual void MQUALIFIER setRadians (const Float &fAngle)
virtual void MQUALIFIER setDegrees (const Float &fAngle)
virtual void MQUALIFIER assign (const IAngle &rAngle)
virtual bool MQUALIFIER isEqual (const IAngle &rAngle, bool bNormalizeToSingleCircle=false) const
virtual Float MQUALIFIER cos () const
virtual Float MQUALIFIER sin () const
virtual Float MQUALIFIER tan () const
virtual void MQUALIFIER normalizeToInterval (const IAngle &rAngleMin, const IAngle &rAngleMax, bool bIncludeMin, bool bIncludeMax)
virtual void MQUALIFIER normalizeToSingleCircle ()
const TAngleoperator= (const IAngle &rAngle)
 Assignment of interface type object.
const TAngleoperator= (const TAngle &rAngle)
 Assignment of class type object.
TAngle operator+ (const IAngle &rAngle) const
TAngle operator- (const IAngle &rAngle) const
const TAngleoperator+= (const IAngle &rAngle)
const TAngleoperator-= (const IAngle &rAngle)
TAngle operator* (const Float &rFloat) const
TAngle operator/ (const Float &rFloat) const
bool operator== (const IAngle &rAngle) const
bool operator!= (const IAngle &rAngle) const
bool operator< (const IAngle &rAngle) const
bool operator<= (const IAngle &rAngle) const
bool operator> (const IAngle &rAngle) const
bool operator>= (const IAngle &rAngle) const
Float getValue (ESystem eSystem) const

Static Public Member Functions

static Float radiansToDegrees (const Float &fAngle)
static Float degreesToRadians (const Float &fAngle)

Detailed Description

TAngle encapsulates a floating point angle. Its value can be read specifically as radians or degrees. The class also serves as convertor between different angle systems.

TAngle objects are stack objects.


Constructor & Destructor Documentation

zeus::TAngle::TAngle (  ) [inline]

Default constructor.

zeus::TAngle::TAngle ( const Float &  fAngle,
ESystem  eSystem 
)

Constructor with value.

Constructor with value.

Parameters:
fAngle[IN]: The angle.
eSystem[IN]: The angle system.
zeus::TAngle::TAngle ( const TAngle rAngle ) [inline]

Copy constructor: Constructor taking class type object.

zeus::TAngle::TAngle ( const IAngle rAngle ) [inline]

Constructor taking interface type object.

virtual zeus::TAngle::~TAngle (  ) [inline, virtual]

Virtual destructor.


Member Function Documentation

virtual void MQUALIFIER zeus::TAngle::assign ( const IAngle rAngle ) [inline, virtual]

Assignment.

Parameters:
rAngle[IN]: Reference to interface type object to be assigned to this object.

Implements zeus::IAngle.

virtual Float MQUALIFIER zeus::TAngle::cos (  ) const [inline, virtual]

Trigonometry.

Calculate the cosine of this angle.

Returns:
: Cosine of this angle.

Implements zeus::IAngle.

static Float zeus::TAngle::degreesToRadians ( const Float &  fAngle ) [inline, static]

Static conversion method to convert an angle from degrees to radiant

Parameters:
fAngle: angle in degrees
Returns:
angle in radiant
virtual Float MQUALIFIER zeus::TAngle::getDegrees (  ) const [inline, virtual]

Read the angle's value in degrees.

Returns:
: Angle in degrees.

Implements zeus::IAngle.

virtual Float MQUALIFIER zeus::TAngle::getRadians (  ) const [inline, virtual]

Read the angle's value in radians.

Returns:
: Angle in radians.

Implements zeus::IAngle.

Float zeus::TAngle::getValue ( ESystem  eSystem ) const

returns the value depending on the system

Parameters:
eSystem: requested angle system
Returns:
value converted in the requested system
bool MQUALIFIER zeus::TAngle::isEqual ( const IAngle rAngle,
bool  bNormalizeToSingleCircle = false 
) const [virtual]

Checks if two angles are equal. If normalisation is selected the angle is normalized to 0-360

Parameters:
rAngle: angle to check
bNormalizeToSingleCircle: selects the normalisation (default = false)
Return values:
true: angles are equal
false: angles are not equal.

Implements zeus::IAngle.

void MQUALIFIER zeus::TAngle::normalizeToInterval ( const IAngle rAngleMin,
const IAngle rAngleMax,
bool  bIncludeMin,
bool  bIncludeMax 
) [virtual]

Normalizes the angle to an angle interval

Parameters:
rAngleMin: minimum interval value
rAngleMax: maximum interval value
bIncludeMin: flag if the minumum is included
bIncludeMax: flag if the maximum is included

Implements zeus::IAngle.

void MQUALIFIER zeus::TAngle::normalizeToSingleCircle (  ) [virtual]

Normalizes the angle to an angle interval between 0 and 360 degrees

Implements zeus::IAngle.

bool zeus::TAngle::operator!= ( const IAngle rAngle ) const [inline]
TAngle zeus::TAngle::operator* ( const Float &  rFloat ) const [inline]
TAngle zeus::TAngle::operator+ ( const IAngle rAngle ) const [inline]
const TAngle& zeus::TAngle::operator+= ( const IAngle rAngle ) [inline]
TAngle zeus::TAngle::operator- ( const IAngle rAngle ) const [inline]
const TAngle& zeus::TAngle::operator-= ( const IAngle rAngle ) [inline]
TAngle zeus::TAngle::operator/ ( const Float &  rFloat ) const [inline]
bool zeus::TAngle::operator< ( const IAngle rAngle ) const [inline]
bool zeus::TAngle::operator<= ( const IAngle rAngle ) const [inline]
const TAngle& zeus::TAngle::operator= ( const IAngle rAngle ) [inline]

Assignment of interface type object.

const TAngle& zeus::TAngle::operator= ( const TAngle rAngle ) [inline]

Assignment of class type object.

bool zeus::TAngle::operator== ( const IAngle rAngle ) const [inline]
bool zeus::TAngle::operator> ( const IAngle rAngle ) const [inline]
bool zeus::TAngle::operator>= ( const IAngle rAngle ) const [inline]
static Float zeus::TAngle::radiansToDegrees ( const Float &  fAngle ) [inline, static]

Static conversion method to convert an angle from radiant to degrees

Parameters:
fAngle: radiant angle
Returns:
angle in degrees
virtual void MQUALIFIER zeus::TAngle::setDegrees ( const Float &  fAngle ) [inline, virtual]

Set the angle's value in degrees.

Parameters:
fAngle[IN]: Angle in degrees.

Implements zeus::IAngle.

virtual void MQUALIFIER zeus::TAngle::setRadians ( const Float &  fAngle ) [inline, virtual]

Set the angle's value in radians.

Parameters:
fAngle[IN]: Angle in radians.

Implements zeus::IAngle.

virtual Float MQUALIFIER zeus::TAngle::sin (  ) const [inline, virtual]

Calculate the sine of this angle.

Returns:
: Sine of this angle.

Implements zeus::IAngle.

virtual Float MQUALIFIER zeus::TAngle::tan (  ) const [inline, virtual]

Calculate the tangent of this angle.

Returns:
: Tangent of this angle.

Implements zeus::IAngle.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:32:27