Public Member Functions | Static Public Member Functions | Private Attributes

btTransform Class Reference

The btTransform class supports rigid transforms with only translation and rotation and no scaling/shear. More...

#include <btTransform.h>

Collaboration diagram for btTransform:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 btTransform ()
 No initialization constructor.
 btTransform (const btQuaternion &q, const btVector3 &c=btVector3(btScalar(0), btScalar(0), btScalar(0)))
 Constructor from btQuaternion (optional btVector3 ).
 btTransform (const btMatrix3x3 &b, const btVector3 &c=btVector3(btScalar(0), btScalar(0), btScalar(0)))
 Constructor from btMatrix3x3 (optional btVector3).
 btTransform (const btTransform &other)
 Copy constructor.
btTransformoperator= (const btTransform &other)
 Assignment Operator.
void mult (const btTransform &t1, const btTransform &t2)
 Set the current transform as the value of the product of two transforms.
btVector3 operator() (const btVector3 &x) const
 Return the transform of the vector.
btVector3 operator* (const btVector3 &x) const
 Return the transform of the vector.
btQuaternion operator* (const btQuaternion &q) const
 Return the transform of the btQuaternion.
btMatrix3x3getBasis ()
 Return the basis matrix for the rotation.
const btMatrix3x3getBasis () const
 Return the basis matrix for the rotation.
btVector3getOrigin ()
 Return the origin vector translation.
const btVector3getOrigin () const
 Return the origin vector translation.
btQuaternion getRotation () const
 Return a quaternion representing the rotation.
void setFromOpenGLMatrix (const btScalar *m)
 Set from an array.
void getOpenGLMatrix (btScalar *m) const
 Fill an array representation.
void setOrigin (const btVector3 &origin)
 Set the translational element.
btVector3 invXform (const btVector3 &inVec) const
void setBasis (const btMatrix3x3 &basis)
 Set the rotational element by btMatrix3x3.
void setRotation (const btQuaternion &q)
 Set the rotational element by btQuaternion.
void setIdentity ()
 Set this transformation to the identity.
btTransformoperator*= (const btTransform &t)
 Multiply this Transform by another(this = this * another).
btTransform inverse () const
 Return the inverse of this transform.
btTransform inverseTimes (const btTransform &t) const
 Return the inverse of this transform times the other transform.
btTransform operator* (const btTransform &t) const
 Return the product of this transform and the other.
void serialize (struct btTransformData &dataOut) const
void serializeFloat (struct btTransformFloatData &dataOut) const
void deSerialize (const struct btTransformData &dataIn)
void deSerializeDouble (const struct btTransformDoubleData &dataIn)
void deSerializeFloat (const struct btTransformFloatData &dataIn)

Static Public Member Functions

static const btTransformgetIdentity ()
 Return an identity transform.

Private Attributes

btMatrix3x3 m_basis
 Storage for the rotation.
btVector3 m_origin
 Storage for the translation.

Detailed Description

The btTransform class supports rigid transforms with only translation and rotation and no scaling/shear.

It can be used in combination with btVector3, btQuaternion and btMatrix3x3 linear algebra classes.

Definition at line 34 of file btTransform.h.


Constructor & Destructor Documentation

btTransform::btTransform (  )  [inline]

No initialization constructor.

Definition at line 44 of file btTransform.h.

btTransform::btTransform ( const btQuaternion q,
const btVector3 c = btVector3(btScalar(0), btScalar(0), btScalar(0)) 
) [inline, explicit]

Constructor from btQuaternion (optional btVector3 ).

Parameters:
q Rotation from quaternion
c Translation from Vector (default 0,0,0)

Definition at line 48 of file btTransform.h.

btTransform::btTransform ( const btMatrix3x3 b,
const btVector3 c = btVector3(btScalar(0), btScalar(0), btScalar(0)) 
) [inline, explicit]

Constructor from btMatrix3x3 (optional btVector3).

Parameters:
b Rotation from Matrix
c Translation from Vector default (0,0,0)

Definition at line 57 of file btTransform.h.

btTransform::btTransform ( const btTransform other  )  [inline]

Copy constructor.

Definition at line 63 of file btTransform.h.


Member Function Documentation

void btTransform::deSerialize ( const struct btTransformData &  dataIn  ) 
void btTransform::deSerializeDouble ( const struct btTransformDoubleData dataIn  ) 
void btTransform::deSerializeFloat ( const struct btTransformFloatData dataIn  ) 
const btMatrix3x3& btTransform::getBasis (  )  const [inline]

Return the basis matrix for the rotation.

Definition at line 114 of file btTransform.h.

btMatrix3x3& btTransform::getBasis (  )  [inline]

Return the basis matrix for the rotation.

Definition at line 112 of file btTransform.h.

static const btTransform& btTransform::getIdentity (  )  [inline, static]

Return an identity transform.

Definition at line 203 of file btTransform.h.

void btTransform::getOpenGLMatrix ( btScalar m  )  const [inline]

Fill an array representation.

Parameters:
m A pointer to a 15 element array (12 rotation(row major padded on the right by 1), and 3 translation

Definition at line 139 of file btTransform.h.

const btVector3& btTransform::getOrigin (  )  const [inline]

Return the origin vector translation.

Definition at line 119 of file btTransform.h.

btVector3& btTransform::getOrigin (  )  [inline]

Return the origin vector translation.

Definition at line 117 of file btTransform.h.

btQuaternion btTransform::getRotation (  )  const [inline]

Return a quaternion representing the rotation.

Definition at line 122 of file btTransform.h.

btTransform btTransform::inverse (  )  const [inline]

Return the inverse of this transform.

Definition at line 188 of file btTransform.h.

btTransform btTransform::inverseTimes ( const btTransform t  )  const [inline]

Return the inverse of this transform times the other transform.

Parameters:
t The other transform return this.inverse() * the other

Definition at line 230 of file btTransform.h.

btVector3 btTransform::invXform ( const btVector3 inVec  )  const [inline]

Definition at line 223 of file btTransform.h.

void btTransform::mult ( const btTransform t1,
const btTransform t2 
) [inline]

Set the current transform as the value of the product of two transforms.

Parameters:
t1 Transform 1
t2 Transform 2 This = Transform1 * Transform2

Definition at line 81 of file btTransform.h.

btVector3 btTransform::operator() ( const btVector3 x  )  const [inline]

Return the transform of the vector.

Definition at line 94 of file btTransform.h.

btVector3 btTransform::operator* ( const btVector3 x  )  const [inline]

Return the transform of the vector.

Definition at line 100 of file btTransform.h.

btQuaternion btTransform::operator* ( const btQuaternion q  )  const [inline]

Return the transform of the btQuaternion.

Definition at line 106 of file btTransform.h.

btTransform btTransform::operator* ( const btTransform t  )  const [inline]

Return the product of this transform and the other.

Definition at line 238 of file btTransform.h.

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

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

Parameters:
t The other transform

Definition at line 180 of file btTransform.h.

btTransform& btTransform::operator= ( const btTransform other  )  [inline]

Assignment Operator.

Definition at line 69 of file btTransform.h.

void btTransform::serialize ( struct btTransformData &  dataOut  )  const [inline]

Definition at line 267 of file btTransform.h.

void btTransform::serializeFloat ( struct btTransformFloatData dataOut  )  const [inline]

Definition at line 273 of file btTransform.h.

void btTransform::setBasis ( const btMatrix3x3 basis  )  [inline]

Set the rotational element by btMatrix3x3.

Definition at line 159 of file btTransform.h.

void btTransform::setFromOpenGLMatrix ( const btScalar m  )  [inline]

Set from an array.

Parameters:
m A pointer to a 15 element array (12 rotation(row major padded on the right by 1), and 3 translation

Definition at line 131 of file btTransform.h.

void btTransform::setIdentity (  )  [inline]

Set this transformation to the identity.

Definition at line 172 of file btTransform.h.

void btTransform::setOrigin ( const btVector3 origin  )  [inline]

Set the translational element.

Parameters:
origin The vector to set the translation to

Definition at line 150 of file btTransform.h.

void btTransform::setRotation ( const btQuaternion q  )  [inline]

Set the rotational element by btQuaternion.

Definition at line 165 of file btTransform.h.


Member Data Documentation

Storage for the rotation.

Definition at line 37 of file btTransform.h.

Storage for the translation.

Definition at line 39 of file btTransform.h.


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