20#ifdef BT_USE_DOUBLE_PRECISION
21#define btTransformData btTransformDoubleData
23#define btTransformData btTransformFloatData
60 : m_basis(other.m_basis),
67 m_basis = other.m_basis;
78 m_basis = t1.m_basis * t2.m_basis;
92 return x.dot3(m_basis[0], m_basis[1], m_basis[2]) +
m_origin;
121 m_basis.getRotation(q);
129 m_basis.setFromOpenGLSubMatrix(m);
130 m_origin.setValue(m[12], m[13], m[14]);
137 m_basis.getOpenGLSubMatrix(m);
162 m_basis.setRotation(q);
168 m_basis.setIdentity();
177 m_basis *= t.m_basis;
199 static const btTransform identityTransform(btMatrix3x3::getIdentity());
200 return identityTransform;
215btTransform::invXform(
const btVector3& inVec)
const
218 return (m_basis.transpose() *
v);
225 return btTransform(m_basis.transposeTimes(t.m_basis),
233 (*
this)(t.m_origin));
239 return (t1.getBasis() == t2.getBasis() &&
240 t1.getOrigin() == t2.getOrigin());
258 m_basis.serialize(dataOut.m_basis);
259 m_origin.serialize(dataOut.m_origin);
264 m_basis.serializeFloat(dataOut.
m_basis);
270 m_basis.deSerialize(dataIn.m_basis);
271 m_origin.deSerialize(dataIn.m_origin);
276 m_basis.deSerializeFloat(dataIn.
m_basis);
282 m_basis.deSerializeDouble(dataIn.
m_basis);
ATTR_WARN_UNUSED_RESULT const BMVert * v
btMatrix3x3
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
local_group_size(16, 16) .push_constant(Type b