17 #ifndef BT_TRANSFORM_H
18 #define BT_TRANSFORM_H
23 #ifdef BT_USE_DOUBLE_PRECISION
24 #define btTransformData btTransformDoubleData
26 #define btTransformData btTransformFloatData
64 : m_basis(other.m_basis),
65 m_origin(other.m_origin)
96 return x.
dot3(m_basis[0], m_basis[1], m_basis[2]) + m_origin;
108 return getRotation() * q;
134 m_origin.
setValue(m[12],m[13],m[14]);
142 m[12] = m_origin.
x();
143 m[13] = m_origin.
y();
144 m[14] = m_origin.
z();
206 return identityTransform;
299 #endif //BT_TRANSFORM_H
float4 operator*(const float4 &a, float fact)
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 deSerialize(const struct btVector3Data &dataIn)
#define SIMD_FORCE_INLINE
btMatrix3x3 transposeTimes(const btMatrix3x3 &m) const
const btScalar & x() const
Return the x value.
void deSerialize(const struct btMatrix3x3Data &dataIn)
void getRotation(btQuaternion &q) const
Get the matrix represented as a quaternion.
void deSerializeDouble(const struct btMatrix3x3DoubleData &dataIn)
void serialize(struct btVector3Data &dataOut) const
void serializeFloat(struct btVector3FloatData &dataOut) const
const btScalar & y() const
Return the y value.
void getOpenGLSubMatrix(btScalar *m) const
Fill the rotational part of an OpenGL matrix and clear the shear/perspective.
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
void serializeFloat(struct btMatrix3x3FloatData &dataOut) const
btMatrix3x3 transpose() const
Return the transpose of the matrix.
btVector3 dot3(const btVector3 &v0, const btVector3 &v1, const btVector3 &v2) const
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 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...
const btScalar & z() const
Return the z value.