The Transform class supports rigid transforms with only translation and rotation and no scaling/shear. It can be used in combination with Vector3, Quaternion and Matrix3x3 linear algebra classes. More...
#include <Transform.h>

Public Member Functions | |
| TFSIMD_FORCE_INLINE btTransform | as_bt (void) const __attribute__((deprecated)) | 
| TFSIMD_FORCE_INLINE btTransform | asBt (void) const | 
| Return a btTransform.   | |
| void | deSerialize (const struct TransformData &dataIn) | 
| void | deSerializeDouble (const struct TransformDoubleData &dataIn) | 
| void | deSerializeFloat (const struct TransformFloatData &dataIn) | 
| TFSIMD_FORCE_INLINE Matrix3x3 & | getBasis () | 
| Return the basis matrix for the rotation.   | |
| TFSIMD_FORCE_INLINE const  Matrix3x3 &  | getBasis () const | 
| Return the basis matrix for the rotation.   | |
| void | getOpenGLMatrix (tfScalar *m) const | 
| Fill an array representation.   | |
| TFSIMD_FORCE_INLINE Vector3 & | getOrigin () | 
| Return the origin vector translation.   | |
| TFSIMD_FORCE_INLINE const Vector3 & | getOrigin () const | 
| Return the origin vector translation.   | |
| Quaternion | getRotation () const | 
| Return a quaternion representing the rotation.   | |
| Transform | inverse () const | 
| Return the inverse of this transform.   | |
| Transform | inverseTimes (const Transform &t) const | 
| Return the inverse of this transform times the other transform.   | |
| TFSIMD_FORCE_INLINE Vector3 | invXform (const Vector3 &inVec) const | 
| TFSIMD_FORCE_INLINE void | mult (const Transform &t1, const Transform &t2) | 
| Set the current transform as the value of the product of two transforms.   | |
| TFSIMD_FORCE_INLINE Vector3 | operator() (const Vector3 &x) const | 
| Return the transform of the vector.   | |
| TFSIMD_FORCE_INLINE Vector3 | operator* (const Vector3 &x) const | 
| Return the transform of the vector.   | |
| TFSIMD_FORCE_INLINE Quaternion | operator* (const Quaternion &q) const | 
| Return the transform of the Quaternion.   | |
| Transform | operator* (const Transform &t) const | 
| Return the product of this transform and the other.   | |
| Transform & | operator*= (const Transform &t) | 
| Multiply this Transform by another(this = this * another)   | |
| TFSIMD_FORCE_INLINE Transform & | operator= (const Transform &other) | 
| Assignment Operator.   | |
| TFSIMD_FORCE_INLINE Transform & | operator= (const btTransform &other) | 
| Assignment Operator from btTransform.   | |
| void | serialize (struct TransformData &dataOut) const | 
| void | serializeFloat (struct TransformFloatData &dataOut) const | 
| TFSIMD_FORCE_INLINE void | setBasis (const Matrix3x3 &basis) | 
| Set the rotational element by Matrix3x3.   | |
| void | setFromOpenGLMatrix (const tfScalar *m) | 
| Set from an array.   | |
| void | setIdentity () | 
| Set this transformation to the identity.   | |
| TFSIMD_FORCE_INLINE void | setOrigin (const Vector3 &origin) | 
| Set the translational element.   | |
| TFSIMD_FORCE_INLINE void | setRotation (const Quaternion &q) | 
| Set the rotational element by Quaternion.   | |
| Transform () | |
| No initialization constructor.   | |
| TFSIMD_FORCE_INLINE | Transform (const Quaternion &q, const Vector3 &c=Vector3(tfScalar(0), tfScalar(0), tfScalar(0))) | 
| Constructor from Quaternion (optional Vector3 )   | |
| TFSIMD_FORCE_INLINE | Transform (const Matrix3x3 &b, const Vector3 &c=Vector3(tfScalar(0), tfScalar(0), tfScalar(0))) | 
| Constructor from Matrix3x3 (optional Vector3)   | |
| TFSIMD_FORCE_INLINE | Transform (const Transform &other) | 
| Copy constructor.   | |
| TFSIMD_FORCE_INLINE | Transform (const btTransform &other) | 
| Copy constructor from btTransform.   | |
Static Public Member Functions | |
| static const Transform & | getIdentity () | 
| Return an identity transform.   | |
Private Attributes | |
| Matrix3x3 | m_basis | 
| Storage for the rotation.   | |
| Vector3 | m_origin | 
| Storage for the translation.   | |
The Transform class supports rigid transforms with only translation and rotation and no scaling/shear. It can be used in combination with Vector3, Quaternion and Matrix3x3 linear algebra classes.
Definition at line 32 of file Transform.h.
| tf::Transform::Transform | ( | ) |  [inline] | 
        
No initialization constructor.
Definition at line 42 of file Transform.h.
| TFSIMD_FORCE_INLINE tf::Transform::Transform | ( | const Quaternion & | q, | 
| const Vector3 & | c = Vector3(tfScalar(0), tfScalar(0), tfScalar(0))  | 
        ||
| ) |  [inline, explicit] | 
        
Constructor from Quaternion (optional Vector3 )
| q | Rotation from quaternion | 
| c | Translation from Vector (default 0,0,0) | 
Definition at line 46 of file Transform.h.
| TFSIMD_FORCE_INLINE tf::Transform::Transform | ( | const Matrix3x3 & | b, | 
| const Vector3 & | c = Vector3(tfScalar(0), tfScalar(0), tfScalar(0))  | 
        ||
| ) |  [inline, explicit] | 
        
Constructor from Matrix3x3 (optional Vector3)
| b | Rotation from Matrix | 
| c | Translation from Vector default (0,0,0) | 
Definition at line 55 of file Transform.h.
| TFSIMD_FORCE_INLINE tf::Transform::Transform | ( | const Transform & | other | ) |  [inline] | 
        
Copy constructor.
Definition at line 61 of file Transform.h.
| TFSIMD_FORCE_INLINE tf::Transform::Transform | ( | const btTransform & | other | ) |  [inline] | 
        
Copy constructor from btTransform.
Definition at line 67 of file Transform.h.
| TFSIMD_FORCE_INLINE btTransform tf::Transform::as_bt | ( | void | ) |  const [inline] | 
        
Definition at line 88 of file Transform.h.
| TFSIMD_FORCE_INLINE btTransform tf::Transform::asBt | ( | void | ) |  const [inline] | 
        
Return a btTransform.
Definition at line 90 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::deSerialize | ( | const struct TransformData & | dataIn | ) | 
Definition at line 301 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::deSerializeDouble | ( | const struct TransformDoubleData & | dataIn | ) | 
Definition at line 313 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::deSerializeFloat | ( | const struct TransformFloatData & | dataIn | ) | 
Definition at line 307 of file Transform.h.
| TFSIMD_FORCE_INLINE Matrix3x3& tf::Transform::getBasis | ( | ) |  [inline] | 
        
Return the basis matrix for the rotation.
Definition at line 133 of file Transform.h.
| TFSIMD_FORCE_INLINE const Matrix3x3& tf::Transform::getBasis | ( | ) |  const [inline] | 
        
Return the basis matrix for the rotation.
Definition at line 135 of file Transform.h.
| static const Transform& tf::Transform::getIdentity | ( | ) |  [inline, static] | 
        
Return an identity transform.
Definition at line 224 of file Transform.h.
| void tf::Transform::getOpenGLMatrix | ( | tfScalar * | m | ) |  const [inline] | 
        
Fill an array representation.
| m | A pointer to a 15 element array (12 rotation(row major padded on the right by 1), and 3 translation | 
Definition at line 160 of file Transform.h.
| TFSIMD_FORCE_INLINE Vector3& tf::Transform::getOrigin | ( | ) |  [inline] | 
        
Return the origin vector translation.
Definition at line 138 of file Transform.h.
| TFSIMD_FORCE_INLINE const Vector3& tf::Transform::getOrigin | ( | ) |  const [inline] | 
        
Return the origin vector translation.
Definition at line 140 of file Transform.h.
| Quaternion tf::Transform::getRotation | ( | ) |  const [inline] | 
        
Return a quaternion representing the rotation.
Definition at line 143 of file Transform.h.
| Transform tf::Transform::inverse | ( | ) |  const [inline] | 
        
Return the inverse of this transform.
Definition at line 209 of file Transform.h.
| TFSIMD_FORCE_INLINE Transform tf::Transform::inverseTimes | ( | const Transform & | t | ) | const | 
Return the inverse of this transform times the other transform.
| t | The other transform return this.inverse() * the other | 
Definition at line 251 of file Transform.h.
| TFSIMD_FORCE_INLINE Vector3 tf::Transform::invXform | ( | const Vector3 & | inVec | ) | const | 
Definition at line 244 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::mult | ( | const Transform & | t1, | 
| const Transform & | t2 | ||
| ) |  [inline] | 
        
Set the current transform as the value of the product of two transforms.
Definition at line 100 of file Transform.h.
| TFSIMD_FORCE_INLINE Vector3 tf::Transform::operator() | ( | const Vector3 & | x | ) |  const [inline] | 
        
Return the transform of the vector.
Definition at line 113 of file Transform.h.
| TFSIMD_FORCE_INLINE Vector3 tf::Transform::operator* | ( | const Vector3 & | x | ) |  const [inline] | 
        
Return the transform of the vector.
Definition at line 121 of file Transform.h.
| TFSIMD_FORCE_INLINE Quaternion tf::Transform::operator* | ( | const Quaternion & | q | ) |  const [inline] | 
        
Return the transform of the Quaternion.
Definition at line 127 of file Transform.h.
| TFSIMD_FORCE_INLINE Transform tf::Transform::operator* | ( | const Transform & | t | ) | const | 
Return the product of this transform and the other.
Definition at line 259 of file Transform.h.
Multiply this Transform by another(this = this * another)
| t | The other transform | 
Definition at line 201 of file Transform.h.
| TFSIMD_FORCE_INLINE Transform& tf::Transform::operator= | ( | const Transform & | other | ) |  [inline] | 
        
Assignment Operator.
Definition at line 73 of file Transform.h.
| TFSIMD_FORCE_INLINE Transform& tf::Transform::operator= | ( | const btTransform & | other | ) |  [inline] | 
        
Assignment Operator from btTransform.
Definition at line 81 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::serialize | ( | struct TransformData & | dataOut | ) | const | 
Definition at line 288 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::serializeFloat | ( | struct TransformFloatData & | dataOut | ) | const | 
Definition at line 294 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::setBasis | ( | const Matrix3x3 & | basis | ) |  [inline] | 
        
Set the rotational element by Matrix3x3.
Definition at line 180 of file Transform.h.
| void tf::Transform::setFromOpenGLMatrix | ( | const tfScalar * | m | ) |  [inline] | 
        
Set from an array.
| m | A pointer to a 15 element array (12 rotation(row major padded on the right by 1), and 3 translation | 
Definition at line 152 of file Transform.h.
| void tf::Transform::setIdentity | ( | ) |  [inline] | 
        
Set this transformation to the identity.
Definition at line 193 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::setOrigin | ( | const Vector3 & | origin | ) |  [inline] | 
        
Set the translational element.
| origin | The vector to set the translation to | 
Definition at line 171 of file Transform.h.
| TFSIMD_FORCE_INLINE void tf::Transform::setRotation | ( | const Quaternion & | q | ) |  [inline] | 
        
Set the rotational element by Quaternion.
Definition at line 186 of file Transform.h.
Matrix3x3 tf::Transform::m_basis [private] | 
        
Storage for the rotation.
Definition at line 35 of file Transform.h.
Vector3 tf::Transform::m_origin [private] | 
        
Storage for the translation.
Definition at line 37 of file Transform.h.