15 #ifndef BT_TRANSFORM_H 16 #define BT_TRANSFORM_H 20 #ifdef BT_USE_DOUBLE_PRECISION 21 #define btTransformData btTransformDoubleData 23 #define btTransformData btTransformFloatData 60 : m_basis(other.m_basis),
61 m_origin(other.m_origin)
92 return x.
dot3(m_basis[0], m_basis[1], m_basis[2]) + m_origin;
104 return getRotation() * q;
130 m_origin.
setValue(m[12], m[13], m[14]);
138 m[12] = m_origin.
x();
139 m[13] = m_origin.
y();
140 m[14] = m_origin.
z();
200 return identityTransform;
286 #endif //BT_TRANSFORM_H
void deSerializeFloat(const struct btMatrix3x3FloatData &dataIn)
void serialize(struct btMatrix3x3Data &dataOut) const
void deSerializeDouble(const struct btVector3DoubleData &dataIn)
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
void setRotation(const btQuaternion &q)
Set the matrix from a quaternion.
void serializeFloat(struct btMatrix3x3FloatData &dataOut) const
btVector3 dot3(const btVector3 &v0, const btVector3 &v1, const btVector3 &v2) const
void serializeFloat(struct btVector3FloatData &dataOut) const
#define SIMD_FORCE_INLINE
btMatrix3x3 transpose() const
Return the transpose of the matrix.
void deSerialize(const struct btMatrix3x3Data &dataIn)
btMatrix3x3 transposeTimes(const btMatrix3x3 &m) const
const btScalar & x() const
Return the x value.
void deSerializeDouble(const struct btMatrix3x3DoubleData &dataIn)
btMatrix3x3 operator*(const btMatrix3x3 &m, const btScalar &k)
void deSerialize(const struct btVector3DoubleData &dataIn)
const btScalar & y() const
Return the y value.
const btScalar & z() const
Return the z value.
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
void serialize(struct btVector3Data &dataOut) const
void getOpenGLSubMatrix(btScalar *m) const
Fill the rotational part of an OpenGL matrix and clear the shear/perspective.
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
void setFromOpenGLSubMatrix(const btScalar *m)
Set from the rotational part of a 4x4 OpenGL matrix.
void deSerializeFloat(const struct btVector3FloatData &dataIn)
void getRotation(btQuaternion &q) const
Get the matrix represented as a quaternion.
void setIdentity()
Set the matrix to the identity.
static const btMatrix3x3 & getIdentity()
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...