Home | Download | Screen shots | Discussion | Documentation | Links |
---|
Inheritance diagram for SFRotation:
Public Types | |
typedef const | float (&ConstArrayReference)[4] |
typedef float(* | ArrayPointer )[4] |
typedef const float(* | ConstArrayPointer )[4] |
Public Methods | |
typedef | float (&ArrayReference)[4] |
SFRotation () throw () | |
Default constructor. | |
SFRotation (ConstArrayReference rot) throw () | |
Constructor. | |
SFRotation (float x, float y, float z, float angle) throw () | |
Constructor. | |
SFRotation (const SFVec3f &axis, float angle) throw () | |
Constructor. | |
SFRotation (const SFVec3f &fromVec, const SFVec3f &toVec) throw () | |
Construct a rotation between two vectors. | |
virtual | ~SFRotation () throw () |
Destructor. | |
ConstArrayReference | get () const throw () |
Get the value of this rotation. | |
void | set (ConstArrayReference rot) throw () |
Set the value of this rotation. | |
float | getX () const throw () |
Get the x-component of the rotation axis. | |
void | setX (float value) throw () |
Set the x-component of the rotation axis. | |
float | getY () const throw () |
Get the y-component of the rotation axis. | |
void | setY (float value) throw () |
Set the y-component of the rotation axis. | |
float | getZ () const throw () |
Get the z-component of the rotation axis. | |
void | setZ (float value) throw () |
Set the z-component of the rotation axis. | |
float | getAngle () const throw () |
Get the rotation angle. | |
void | setAngle (float value) throw () |
Set the rotation angle. | |
const SFVec3f | getAxis () const throw () |
Get the axis of rotation as a SFVec3f. | |
void | setAxis (const SFVec3f &vec) throw () |
Set the axis of rotation using a SFVec3f. | |
const SFRotation | inverse () const throw () |
Get the inverse. | |
const SFRotation | multiply (const SFRotation &rot) const throw () |
Multiply two rotations. | |
const SFVec3f | multVec (const SFVec3f &vec) const |
Multiply the matrix corresponding to this rotation by a vector. | |
const SFRotation | slerp (const SFRotation &destRot, float t) const throw () |
Perform a Spherical Linear IntERPolation. | |
virtual std::auto_ptr< FieldValue > | clone () const throw (std::bad_alloc) |
Virtual copy constructor. | |
virtual FieldValue & | assign (const FieldValue &value) throw (std::bad_cast) |
Virtual assignment. | |
virtual Type | type () const throw () |
Get the FieldValue::Type associated with this class. | |
Private Methods | |
virtual void | print (std::ostream &os) const |
Print to an output stream. | |
Private Attributes | |
float | value [4] |
Per the VRML97 specification, the axis of an SFRotation is a normalized vector (5.8). The specification leaves undefined how to deal with an attempt to construct an SFRotation from an axis vector that is not normalized. In order to allow users of the library to minimize the number of normalizations, OpenVRML takes the following approach:
|
Default constructor. Construct with the default value, (0, 0, 1, 0). |
|
Constructor.
|
|
Constructor.
|
|
Constructor.
|
|
Construct a rotation between two vectors. Construct a SFRotation equal to the rotation between two different vectors.
|
|
Destructor.
|
|
Virtual assignment.
Implements FieldValue. |
|
Virtual copy constructor.
Implements FieldValue. |
|
Get the value of this rotation.
|
|
Get the rotation angle.
|
|
Get the axis of rotation as a SFVec3f.
|
|
Get the x-component of the rotation axis.
|
|
Get the y-component of the rotation axis.
|
|
Get the z-component of the rotation axis.
|
|
Get the inverse.
|
|
Multiply two rotations.
|
|
Multiply the matrix corresponding to this rotation by a vector.
|
|
Print to an output stream.
Implements FieldValue. |
|
Set the value of this rotation.
|
|
Set the rotation angle.
|
|
Set the axis of rotation using a SFVec3f.
|
|
Set the x-component of the rotation axis.
|
|
Set the y-component of the rotation axis.
|
|
Set the z-component of the rotation axis.
|
|
Perform a Spherical Linear IntERPolation.
|
|
Get the FieldValue::Type associated with this class.
Implements FieldValue. |