26 #define TransformData TransformDoubleData 61 : m_basis(other.m_basis),
62 m_origin(other.m_origin)
93 m_basis[1].dot(x) + m_origin.
y(),
94 m_basis[2].dot(x) + m_origin.
z());
132 m_origin.
setValue(m[12],m[13],m[14]);
140 m[12] = m_origin.
x();
141 m[13] = m_origin.
y();
142 m[14] = m_origin.
z();
204 return identityTransform;
void serializeFloat(struct Matrix3x3FloatData &dataOut) const
TFSIMD_FORCE_INLINE void serialize(struct Vector3Data &dataOut) const
The Quaternion implements quaternion to perform linear algebra rotations in combination with Matrix3x...
void deSerializeDouble(const struct Matrix3x3DoubleData &dataIn)
double tfScalar
The tfScalar type abstracts floating point numbers, to easily switch between double and single floati...
TFSIMD_FORCE_INLINE bool operator==(const Matrix3x3 &m1, const Matrix3x3 &m2)
Equality operator between two matrices It will test all elements are equal.
The Matrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with Q...
TFSIMD_FORCE_INLINE void setValue(const tfScalar &x, const tfScalar &y, const tfScalar &z)
void getRotation(Quaternion &q) const
Get the matrix represented as a quaternion.
void setRotation(const Quaternion &q)
Set the matrix from a quaternion.
void setIdentity()
Set the matrix to the identity.
TFSIMD_FORCE_INLINE const tfScalar & x() const
Return the x value.
TFSIMD_FORCE_INLINE void serializeFloat(struct Vector3FloatData &dataOut) const
TFSIMD_FORCE_INLINE const tfScalar & z() const
Return the z value.
TFSIMD_FORCE_INLINE void deSerializeDouble(const struct Vector3DoubleData &dataIn)
TFSIMD_FORCE_INLINE Vector3()
No initialization constructor.
TFSIMD_FORCE_INLINE const tfScalar & y() const
Return the y value.
#define TFSIMD_FORCE_INLINE
Matrix3x3 transposeTimes(const Matrix3x3 &m) const
TFSIMD_FORCE_INLINE const tfScalar & x() const
Return the x value.
void deSerializeFloat(const struct Matrix3x3FloatData &dataIn)
TFSIMD_FORCE_INLINE tfScalar dot(const Quaternion &q1, const Quaternion &q2)
Calculate the dot product between two quaternions.
void setFromOpenGLSubMatrix(const tfScalar *m)
Set from a carray of tfScalars.
TFSIMD_FORCE_INLINE void deSerialize(const struct Vector3Data &dataIn)
Matrix3x3 transpose() const
Return the transpose of the matrix.
void deSerialize(const struct Matrix3x3Data &dataIn)
TFSIMD_FORCE_INLINE void deSerializeFloat(const struct Vector3FloatData &dataIn)
void getOpenGLSubMatrix(tfScalar *m) const
Fill the values of the matrix into a 9 element array.
static const Matrix3x3 & getIdentity()
Vector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-byte...
void serialize(struct Matrix3x3Data &dataOut) const