SIM_Position Class Reference

#include <SIM_Position.h>

Inheritance diagram for SIM_Position:

SIM_Data SIM_PositionComposite SIM_PositionSimple SIM_Motion RBD_State SIM_PointPosition

List of all members.

Public Member Functions

void getTransform (UT_DMatrix4 &xform) const
void getInverseTransform (UT_DMatrix4 &xform) const
void getOrientation (UT_Quaternion &q) const
void getPosition (UT_Vector3 &t) const
void getPivot (UT_Vector3 &p) const
UT_Vector3 selfToWorld (const UT_Vector3 &p) const
UT_Vector3 worldToSelf (const UT_Vector3 &p) const

Protected Member Functions

 SIM_Position (const SIM_DataFactory *factory)
virtual ~SIM_Position ()
virtual void getTransformSubclass (UT_DMatrix4 &xform) const
 This implementation returns the identity matrix.
virtual void getInverseTransformSubclass (UT_DMatrix4 &xform) const
 This implementation calls getTransform and inverts it.
virtual void getOrientationSubclass (UT_Quaternion &q) const
 This implementation calls getTransform and extracts the rotations.
virtual void getPositionSubclass (UT_Vector3 &t) const
 This implementation calls getTransform and extracts the translates.
virtual void getPivotSubclass (UT_Vector3 &p) const
 This implementation returns (0, 0, 0) as the pivot.
virtual UT_Vector3 selfToWorldSubclass (const UT_Vector3 &p) const
 This implementation calls getTransform and does the multiply.
virtual UT_Vector3 worldToSelfSubclass (const UT_Vector3 &p) const
 This implementation calls getInverseTransform and does the multiply.


Detailed Description

This is the abstract base class for standard positional data. Positional data is not exactly the same as a transform in that it does not permit scales, and the rotation is always applied before the translation.
Examples:

SIM/SIM_SolverSNOW.C.

Definition at line 28 of file SIM_Position.h.


Constructor & Destructor Documentation

SIM_Position::SIM_Position ( const SIM_DataFactory factory  )  [explicit, protected]

virtual SIM_Position::~SIM_Position (  )  [protected, virtual]


Member Function Documentation

void SIM_Position::getInverseTransform ( UT_DMatrix4 xform  )  const

Gets the inverse transform matrix from our position and rotation. This function just calls getInverseTransformSubclass().

Examples:
SIM/SIM_SolverSNOW.C.

virtual void SIM_Position::getInverseTransformSubclass ( UT_DMatrix4 xform  )  const [protected, virtual]

This implementation calls getTransform and inverts it.

Reimplemented in SIM_PositionSimple.

void SIM_Position::getOrientation ( UT_Quaternion q  )  const

Gets a matrix representing the rotation component of the position. This function just calls getRotationMatrixSubclass().

virtual void SIM_Position::getOrientationSubclass ( UT_Quaternion q  )  const [protected, virtual]

This implementation calls getTransform and extracts the rotations.

Reimplemented in SIM_PositionSimple.

void SIM_Position::getPivot ( UT_Vector3 p  )  const

Gets a vector representing the pivot component of the position. This function just calls getPivotSubclass().

virtual void SIM_Position::getPivotSubclass ( UT_Vector3 p  )  const [protected, virtual]

This implementation returns (0, 0, 0) as the pivot.

Reimplemented in SIM_PositionSimple.

void SIM_Position::getPosition ( UT_Vector3 t  )  const

Gets a vector representing the translation component of the position. This function just calls getPositionSubclass().

virtual void SIM_Position::getPositionSubclass ( UT_Vector3 t  )  const [protected, virtual]

This implementation calls getTransform and extracts the translates.

Reimplemented in SIM_PositionSimple.

void SIM_Position::getTransform ( UT_DMatrix4 xform  )  const

Gets a transform matrix from our position and rotation data. This function just calls getTransformSubclass().

virtual void SIM_Position::getTransformSubclass ( UT_DMatrix4 xform  )  const [protected, virtual]

This implementation returns the identity matrix.

Reimplemented in SIM_PositionComposite, and SIM_PositionSimple.

UT_Vector3 SIM_Position::selfToWorld ( const UT_Vector3 p  )  const

Transforms a point into worldspace from object space. This function just calls selfToWorldSubclass().

virtual UT_Vector3 SIM_Position::selfToWorldSubclass ( const UT_Vector3 p  )  const [protected, virtual]

This implementation calls getTransform and does the multiply.

Reimplemented in SIM_PositionSimple.

UT_Vector3 SIM_Position::worldToSelf ( const UT_Vector3 p  )  const

Transforms a point into object space from world space. This function just calls worldToSelfSubclass().

virtual UT_Vector3 SIM_Position::worldToSelfSubclass ( const UT_Vector3 p  )  const [protected, virtual]

This implementation calls getInverseTransform and does the multiply.

Reimplemented in SIM_PositionSimple.


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

Generated on Fri May 25 00:10:40 2012 for HDK by  doxygen 1.5.9