Bullet Collision Detection & Physics Library
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
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]

Public Member Functions

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

Private Attributes

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

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 28 of file btTransform.h.

Constructor & Destructor Documentation

◆ btTransform() [1/4]

btTransform::btTransform ( )
inline

No initialization constructor.

Definition at line 39 of file btTransform.h.

◆ btTransform() [2/4]

btTransform::btTransform ( const btQuaternion q,
const btVector3 c = btVector3(btScalar(0), btScalar(0), btScalar(0)) 
)
inlineexplicit

Constructor from btQuaternion (optional btVector3 )

Parameters
qRotation from quaternion
cTranslation from Vector (default 0,0,0)

Definition at line 43 of file btTransform.h.

◆ btTransform() [3/4]

btTransform::btTransform ( const btMatrix3x3 b,
const btVector3 c = btVector3(btScalar(0), btScalar(0), btScalar(0)) 
)
inlineexplicit

Constructor from btMatrix3x3 (optional btVector3)

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

Definition at line 53 of file btTransform.h.

◆ btTransform() [4/4]

btTransform::btTransform ( const btTransform other)
inline

Copy constructor.

Definition at line 60 of file btTransform.h.

Member Function Documentation

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btTransform::BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ deSerialize()

void btTransform::deSerialize ( const struct btTransformData dataIn)
inline

Definition at line 269 of file btTransform.h.

◆ deSerializeDouble()

void btTransform::deSerializeDouble ( const struct btTransformDoubleData dataIn)
inline

Definition at line 281 of file btTransform.h.

◆ deSerializeFloat()

void btTransform::deSerializeFloat ( const struct btTransformFloatData dataIn)
inline

Definition at line 275 of file btTransform.h.

◆ getBasis() [1/2]

btMatrix3x3 & btTransform::getBasis ( )
inline

Return the basis matrix for the rotation.

Definition at line 109 of file btTransform.h.

◆ getBasis() [2/2]

const btMatrix3x3 & btTransform::getBasis ( ) const
inline

Return the basis matrix for the rotation.

Definition at line 111 of file btTransform.h.

◆ getIdentity()

static const btTransform & btTransform::getIdentity ( )
inlinestatic

Return an identity transform.

Definition at line 198 of file btTransform.h.

◆ getOpenGLMatrix()

void btTransform::getOpenGLMatrix ( btScalar m) const
inline

Fill an array representation.

Parameters
mA pointer to a 16 element array (12 rotation(row major padded on the right by 1), and 3 translation

Definition at line 136 of file btTransform.h.

◆ getOrigin() [1/2]

btVector3 & btTransform::getOrigin ( )
inline

Return the origin vector translation.

Definition at line 114 of file btTransform.h.

◆ getOrigin() [2/2]

const btVector3 & btTransform::getOrigin ( ) const
inline

Return the origin vector translation.

Definition at line 116 of file btTransform.h.

◆ getRotation()

btQuaternion btTransform::getRotation ( ) const
inline

Return a quaternion representing the rotation.

Definition at line 119 of file btTransform.h.

◆ inverse()

btTransform btTransform::inverse ( ) const
inline

Return the inverse of this transform.

Definition at line 183 of file btTransform.h.

◆ inverseTimes()

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

Return the inverse of this transform times the other transform.

Parameters
tThe other transform return this.inverse() * the other

Definition at line 223 of file btTransform.h.

◆ invXform()

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

Definition at line 216 of file btTransform.h.

◆ mult()

void btTransform::mult ( const btTransform t1,
const btTransform 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 77 of file btTransform.h.

◆ operator()()

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

Return the transform of the vector.

Definition at line 91 of file btTransform.h.

◆ operator*() [1/3]

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

Return the transform of the btQuaternion.

Definition at line 103 of file btTransform.h.

◆ operator*() [2/3]

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

Return the product of this transform and the other.

Definition at line 231 of file btTransform.h.

◆ operator*() [3/3]

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

Return the transform of the vector.

Definition at line 97 of file btTransform.h.

◆ operator*=()

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

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

Parameters
tThe other transform

Definition at line 175 of file btTransform.h.

◆ operator=()

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

Assignment Operator.

Definition at line 66 of file btTransform.h.

◆ serialize()

void btTransform::serialize ( struct btTransformData dataOut) const
inline

Definition at line 257 of file btTransform.h.

◆ serializeFloat()

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

Definition at line 263 of file btTransform.h.

◆ setBasis()

void btTransform::setBasis ( const btMatrix3x3 basis)
inline

Set the rotational element by btMatrix3x3.

Definition at line 155 of file btTransform.h.

◆ setFromOpenGLMatrix()

void btTransform::setFromOpenGLMatrix ( const btScalar m)
inline

Set from an array.

Parameters
mA pointer to a 16 element array (12 rotation(row major padded on the right by 1), and 3 translation

Definition at line 128 of file btTransform.h.

◆ setIdentity()

void btTransform::setIdentity ( )
inline

Set this transformation to the identity.

Definition at line 167 of file btTransform.h.

◆ setOrigin()

void btTransform::setOrigin ( const btVector3 origin)
inline

Set the translational element.

Parameters
originThe vector to set the translation to

Definition at line 147 of file btTransform.h.

◆ setRotation()

void btTransform::setRotation ( const btQuaternion q)
inline

Set the rotational element by btQuaternion.

Definition at line 161 of file btTransform.h.

Member Data Documentation

◆ m_basis

btMatrix3x3 btTransform::m_basis
private

Storage for the rotation.

Definition at line 32 of file btTransform.h.

◆ m_origin

btVector3 btTransform::m_origin
private

Storage for the translation.

Definition at line 34 of file btTransform.h.


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