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. More...
#include <btTransform.h>
Public Member Functions | |
btTransform () | |
No initialization constructor. | |
SIMD_FORCE_INLINE | btTransform (const btQuaternion &q, const btVector3 &c=btVector3(btScalar(0), btScalar(0), btScalar(0))) |
Constructor from btQuaternion (optional btVector3 ) | |
SIMD_FORCE_INLINE | btTransform (const btMatrix3x3 &b, const btVector3 &c=btVector3(btScalar(0), btScalar(0), btScalar(0))) |
Constructor from btMatrix3x3 (optional btVector3) | |
SIMD_FORCE_INLINE | btTransform (const btTransform &other) |
Copy constructor. | |
void | deSerialize (const struct btTransformData &dataIn) |
void | deSerializeDouble (const struct btTransformDoubleData &dataIn) |
void | deSerializeFloat (const struct btTransformFloatData &dataIn) |
SIMD_FORCE_INLINE btMatrix3x3 & | getBasis () |
Return the basis matrix for the rotation. | |
SIMD_FORCE_INLINE const btMatrix3x3 & | getBasis () const |
Return the basis matrix for the rotation. | |
void | getOpenGLMatrix (btScalar *m) const |
Fill an array representation. | |
SIMD_FORCE_INLINE btVector3 & | getOrigin () |
Return the origin vector translation. | |
SIMD_FORCE_INLINE const btVector3 & | getOrigin () const |
Return the origin vector translation. | |
btQuaternion | getRotation () const |
Return a quaternion representing the rotation. | |
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. | |
SIMD_FORCE_INLINE btVector3 | invXform (const btVector3 &inVec) const |
SIMD_FORCE_INLINE void | mult (const btTransform &t1, const btTransform &t2) |
Set the current transform as the value of the product of two transforms. | |
SIMD_FORCE_INLINE btVector3 | operator() (const btVector3 &x) const |
Return the transform of the vector. | |
SIMD_FORCE_INLINE btVector3 | operator* (const btVector3 &x) const |
Return the transform of the vector. | |
SIMD_FORCE_INLINE btQuaternion | operator* (const btQuaternion &q) const |
Return the transform of the btQuaternion. | |
btTransform | operator* (const btTransform &t) const |
Return the product of this transform and the other. | |
btTransform & | operator*= (const btTransform &t) |
Multiply this Transform by another(this = this * another) | |
SIMD_FORCE_INLINE btTransform & | operator= (const btTransform &other) |
Assignment Operator. | |
void | serialize (struct btTransformData &dataOut) const |
void | serializeFloat (struct btTransformFloatData &dataOut) const |
SIMD_FORCE_INLINE void | setBasis (const btMatrix3x3 &basis) |
Set the rotational element by btMatrix3x3. | |
void | setFromOpenGLMatrix (const btScalar *m) |
Set from an array. | |
void | setIdentity () |
Set this transformation to the identity. | |
SIMD_FORCE_INLINE void | setOrigin (const btVector3 &origin) |
Set the translational element. | |
SIMD_FORCE_INLINE void | setRotation (const btQuaternion &q) |
Set the rotational element by btQuaternion. | |
Static Public Member Functions | |
static const btTransform & | getIdentity () |
Return an identity transform. | |
Private Attributes | |
btMatrix3x3 | m_basis |
Storage for the rotation. | |
btVector3 | m_origin |
Storage for the translation. |
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.
btTransform::btTransform | ( | ) | [inline] |
No initialization constructor.
Definition at line 44 of file btTransform.h.
SIMD_FORCE_INLINE btTransform::btTransform | ( | const btQuaternion & | q, |
const btVector3 & | c = btVector3(btScalar(0), btScalar(0), btScalar(0)) |
||
) | [inline, explicit] |
Constructor from btQuaternion (optional btVector3 )
q | Rotation from quaternion |
c | Translation from Vector (default 0,0,0) |
Definition at line 48 of file btTransform.h.
SIMD_FORCE_INLINE btTransform::btTransform | ( | const btMatrix3x3 & | b, |
const btVector3 & | c = btVector3(btScalar(0), btScalar(0), btScalar(0)) |
||
) | [inline, explicit] |
Constructor from btMatrix3x3 (optional btVector3)
b | Rotation from Matrix |
c | Translation from Vector default (0,0,0) |
Definition at line 57 of file btTransform.h.
SIMD_FORCE_INLINE btTransform::btTransform | ( | const btTransform & | other | ) | [inline] |
Copy constructor.
Definition at line 63 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::deSerialize | ( | const struct btTransformData & | dataIn | ) |
Definition at line 282 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::deSerializeDouble | ( | const struct btTransformDoubleData & | dataIn | ) |
Definition at line 294 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::deSerializeFloat | ( | const struct btTransformFloatData & | dataIn | ) |
Definition at line 288 of file btTransform.h.
SIMD_FORCE_INLINE btMatrix3x3& btTransform::getBasis | ( | ) | [inline] |
Return the basis matrix for the rotation.
Definition at line 114 of file btTransform.h.
SIMD_FORCE_INLINE const btMatrix3x3& btTransform::getBasis | ( | ) | const [inline] |
Return the basis matrix for the rotation.
Definition at line 116 of file btTransform.h.
static const btTransform& btTransform::getIdentity | ( | ) | [inline, static] |
Return an identity transform.
Definition at line 205 of file btTransform.h.
void btTransform::getOpenGLMatrix | ( | btScalar * | 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 141 of file btTransform.h.
SIMD_FORCE_INLINE btVector3& btTransform::getOrigin | ( | ) | [inline] |
Return the origin vector translation.
Definition at line 119 of file btTransform.h.
SIMD_FORCE_INLINE const btVector3& btTransform::getOrigin | ( | ) | const [inline] |
Return the origin vector translation.
Definition at line 121 of file btTransform.h.
btQuaternion btTransform::getRotation | ( | ) | const [inline] |
Return a quaternion representing the rotation.
Definition at line 124 of file btTransform.h.
btTransform btTransform::inverse | ( | ) | const [inline] |
Return the inverse of this transform.
Definition at line 190 of file btTransform.h.
SIMD_FORCE_INLINE btTransform btTransform::inverseTimes | ( | const btTransform & | t | ) | const |
Return the inverse of this transform times the other transform.
t | The other transform return this.inverse() * the other |
Definition at line 232 of file btTransform.h.
SIMD_FORCE_INLINE btVector3 btTransform::invXform | ( | const btVector3 & | inVec | ) | const |
Definition at line 225 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::mult | ( | const btTransform & | t1, |
const btTransform & | t2 | ||
) | [inline] |
Set the current transform as the value of the product of two transforms.
t1 | Transform 1 |
t2 | Transform 2 This = Transform1 * Transform2 |
Definition at line 81 of file btTransform.h.
SIMD_FORCE_INLINE btVector3 btTransform::operator() | ( | const btVector3 & | x | ) | const [inline] |
Return the transform of the vector.
Definition at line 94 of file btTransform.h.
SIMD_FORCE_INLINE btVector3 btTransform::operator* | ( | const btVector3 & | x | ) | const [inline] |
Return the transform of the vector.
Definition at line 102 of file btTransform.h.
SIMD_FORCE_INLINE btQuaternion btTransform::operator* | ( | const btQuaternion & | q | ) | const [inline] |
Return the transform of the btQuaternion.
Definition at line 108 of file btTransform.h.
SIMD_FORCE_INLINE btTransform btTransform::operator* | ( | const btTransform & | t | ) | const |
Return the product of this transform and the other.
Definition at line 240 of file btTransform.h.
btTransform& btTransform::operator*= | ( | const btTransform & | t | ) | [inline] |
Multiply this Transform by another(this = this * another)
t | The other transform |
Definition at line 182 of file btTransform.h.
SIMD_FORCE_INLINE btTransform& btTransform::operator= | ( | const btTransform & | other | ) | [inline] |
Assignment Operator.
Definition at line 69 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::serialize | ( | struct btTransformData & | dataOut | ) | const |
Definition at line 269 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::serializeFloat | ( | struct btTransformFloatData & | dataOut | ) | const |
Definition at line 275 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::setBasis | ( | const btMatrix3x3 & | basis | ) | [inline] |
Set the rotational element by btMatrix3x3.
Definition at line 161 of file btTransform.h.
void btTransform::setFromOpenGLMatrix | ( | const btScalar * | 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 133 of file btTransform.h.
void btTransform::setIdentity | ( | ) | [inline] |
Set this transformation to the identity.
Definition at line 174 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::setOrigin | ( | const btVector3 & | origin | ) | [inline] |
Set the translational element.
origin | The vector to set the translation to |
Definition at line 152 of file btTransform.h.
SIMD_FORCE_INLINE void btTransform::setRotation | ( | const btQuaternion & | q | ) | [inline] |
Set the rotational element by btQuaternion.
Definition at line 167 of file btTransform.h.
btMatrix3x3 btTransform::m_basis [private] |
Storage for the rotation.
Definition at line 37 of file btTransform.h.
btVector3 btTransform::m_origin [private] |
Storage for the translation.
Definition at line 39 of file btTransform.h.