All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Private Attributes
tf::Transform Class Reference

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>

Inheritance diagram for tf::Transform:
Inheritance graph
[legend]

List of all members.

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 Matrix3x3getBasis ()
 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.
Transformoperator*= (const Transform &t)
 Multiply this Transform by another(this = this * another)
TFSIMD_FORCE_INLINE Transformoperator= (const Transform &other)
 Assignment Operator.
TFSIMD_FORCE_INLINE Transformoperator= (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 TransformgetIdentity ()
 Return an identity transform.

Private Attributes

Matrix3x3 m_basis
 Storage for the rotation.
Vector3 m_origin
 Storage for the translation.

Detailed Description

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.


Constructor & Destructor Documentation

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 )

Parameters:
qRotation from quaternion
cTranslation 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)

Parameters:
bRotation from Matrix
cTranslation from Vector default (0,0,0)

Definition at line 55 of file Transform.h.

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.


Member Function Documentation

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.

Definition at line 301 of file Transform.h.

Definition at line 313 of file Transform.h.

Definition at line 307 of file Transform.h.

Return the basis matrix for the rotation.

Definition at line 133 of file Transform.h.

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.

Parameters:
mA 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.

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.

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.

Return the inverse of this transform times the other transform.

Parameters:
tThe 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.

Parameters:
t1Transform 1
t2Transform 2 This = Transform1 * Transform2

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.

Transform& tf::Transform::operator*= ( const Transform t) [inline]

Multiply this Transform by another(this = this * another)

Parameters:
tThe 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.

Definition at line 288 of file Transform.h.

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.

Parameters:
mA 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.

Parameters:
originThe vector to set the translation to

Definition at line 171 of file Transform.h.

Set the rotational element by Quaternion.

Definition at line 186 of file Transform.h.


Member Data Documentation

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.


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


tf
Author(s): Tully Foote, Eitan Marder-Eppstein, Wim Meeussen
autogenerated on Thu Aug 22 2013 11:29:02