Physsim::AAngle Class Reference

Class for representation of orientation by an angle around an axis. More...

#include <AAngle.h>

Inheritance diagram for Physsim::AAngle:

Physsim::Base List of all members.

Public Member Functions

 AAngle ()
 Default constructor.
 AAngle (const AAngle &source)
 AAngle (boost::shared_array< const Real > array)
 Constructs an axis-angle object from an array of four Real values.
 AAngle (const Quat *q)
 Constructs an axis-angle object from a quaternion.
 AAngle (Real x, Real y, Real z, Real angle)
 Constructs an axis-angle object from four Real values.
 AAngle (const Vector3 *v, Real angle)
 Constructs an axis-angle object from a vector and a Real value.
 AAngle (const VectorN *v)
 Constructs an axis-angle object from a 4D vector (components 0-2 are axis, component 3 is angle).
 AAngle (const Matrix3 *m)
 Constructs an axis-angle object from a 3x3 rotation matrix.
 AAngle (const Matrix3 *m, const Vector3 *axis)
 Constructs an axis-angle object from a 3x3 rotation matrix and a desired axis.
 AAngle (const Matrix4 *m)
 Constructs an axis-angle object from a 4x4 transformation matrix.
bool epsilon_equals (const AAngle &a, Real epsilon) const
 Determines whether this axis-angle object is equal to another within some tolerance epsilon.
void set (boost::shared_array< const Real > array)
 Sets this object from an array of four Reals.
void set (Real x, Real y, Real z, Real angle)
 Sets this object from four Real values.
void set (const VectorN *v)
 Constructs an axis-angle object from a 4D vector (components 0-2 are axis, component 3 is angle).
void set (const Vector3 *v, Real angle)
 Sets this object from a three-dimensional vector and a Real value.
void set (const Matrix3 *m)
 Sets the object from a rotation matrix.
void set (const Matrix3 *m, const Vector3 *axis)
 Sets the object from a rotation matrix and rotation axis.
void set (const Matrix4 *m)
 Sets the object from a transformation matrix.
void set (const Quat *q)
 Sets this object from a quaternion object.
void operator= (const AAngle &source)
 Copies a axis-angle object.
AAngle operator * (const AAngle &a) const
 Multiplies two axis-angle representations.
void operator *= (const AAngle &a)
 Multiplies this axis-angle representation by another and stores the result in this.

Static Public Member Functions

static bool epsilon_equals (const AAngle &a1, const AAngle &a2, Real epsilon)
 Determines whether two axis-angle objects are equal to within some tolerance epsilon.

Public Attributes

Real _angle
Real _x
Real _y
Real _z

Detailed Description

Class for representation of orientation by an angle around an axis.


Constructor & Destructor Documentation

AAngle::AAngle ( boost::shared_array< const Real >  array  ) 

Constructs an axis-angle object from an array of four Real values.

Parameters:
array a 4-dimensional (or larger) array; the first three values are the axis and the fourth is the angle


Member Function Documentation

void AAngle::set ( boost::shared_array< const Real >  array  ) 

Sets this object from an array of four Reals.

Parameters:
array a 4-dimensional (or larger) array; the first three values are the axis and the fourth is the angle

void AAngle::set ( const VectorN v  ) 

Constructs an axis-angle object from a 4D vector (components 0-2 are axis, component 3 is angle).

Prints an error message to stderr if v is not a 4D vector

void AAngle::set ( const Quat q  ) 

Sets this object from a quaternion object.

Todo:
test this method

AAngle AAngle::operator * ( const AAngle a  )  const

Multiplies two axis-angle representations.

This has the effect of performing a rotation by a, then performing a rotation by this.

void AAngle::operator *= ( const AAngle a  ) 

Multiplies this axis-angle representation by another and stores the result in this.

This has the effect of performing a rotation by a, then performing a rotation by this.


The documentation for this class was generated from the following files:
Generated on Wed Oct 24 14:54:22 2007 for Physsim by  doxygen 1.5.1