23 #ifndef _deMatrix6_inl
24 #define _deMatrix6_inl
27 return _mat3[(i / 3) * 2 + (j / 3)].
elementAt(i % 3, j % 3);
30 return _mat3[(i / 3) * 2 + (j / 3)].
elementAt(i % 3, j % 3);
33 _mat3[0] = m._mat3[0]; _mat3[1] = m._mat3[1];
34 _mat3[2] = m._mat3[2]; _mat3[3] = m._mat3[3];
45 _mat3[0].
negate(m._mat3[0]); _mat3[1].
negate(m._mat3[1]);
46 _mat3[2].
negate(m._mat3[2]); _mat3[3].
negate(m._mat3[3]);
49 _mat3[0].
add(m1._mat3[0], m2._mat3[0]); _mat3[1].
add(m1._mat3[1], m2._mat3[1]);
50 _mat3[2].
add(m1._mat3[2], m2._mat3[2]); _mat3[3].
add(m1._mat3[3], m2._mat3[3]);
53 _mat3[0].
subtract(m1._mat3[0], m2._mat3[0]); _mat3[1].
subtract(m1._mat3[1], m2._mat3[1]);
54 _mat3[2].
subtract(m1._mat3[2], m2._mat3[2]); _mat3[3].
subtract(m1._mat3[3], m2._mat3[3]);
61 _mat3[0] += m._mat3[0]; _mat3[1] += m._mat3[1];
62 _mat3[2] += m._mat3[2]; _mat3[3] += m._mat3[3];
65 _mat3[0] -= m._mat3[0]; _mat3[1] -= m._mat3[1];
66 _mat3[2] -= m._mat3[2]; _mat3[3] -= m._mat3[3];
69 _mat3[0] *= s; _mat3[1] *= s;
70 _mat3[2] *= s; _mat3[3] *= s;
83 #endif // _deMatrix6_inl
DE_MATH_API void transpose(const deMatrix3 &m)
this = m^T
Definition: TaoDeMatrix3Inl.h:50
DE_MATH_API void operator-=(const deMatrix6 &m)
this -= m
Definition: TaoDeMatrix6Inl.h:64
DE_MATH_API void subtract(const deMatrix3 &m1, const deMatrix3 &m2)
this = m1 - m2
Definition: TaoDeMatrix3Inl.h:33
deFloat & elementAt(const deInt i, const deInt j)
Definition: TaoDeMatrix3.h:56
DE_MATH_API void identity()
this = identity matrix
Definition: TaoDeMatrix3Inl.h:30
DE_MATH_API void multiply(const deMatrix6 &m, const deFloat s)
this[i] = m[i] * s
Definition: TaoDeMatrix6Inl.h:56
DE_MATH_API void operator=(const deMatrix6 &m)
this = m
Definition: TaoDeMatrix6Inl.h:32
DE_MATH_API void zero()
this = zero matrix
Definition: TaoDeMatrix3Inl.h:29
DE_MATH_API void add(const deMatrix3 &m1, const deMatrix3 &m2)
this = m1 + m2
Definition: TaoDeMatrix3Inl.h:32
DE_MATH_API void multiply(const deMatrix3 &m1, const deMatrix3 &m2)
this = m1 * m2
Definition: TaoDeMatrix3Inl.h:34
DE_MATH_API void zero()
this = zero matrix
Definition: TaoDeMatrix6Inl.h:36
DE_MATH_API void subtract(const deMatrix6 &m1, const deMatrix6 &m2)
this = m1 - m2
Definition: TaoDeMatrix6Inl.h:52
DE_MATH_API void operator+=(const deMatrix6 &m)
this += m
Definition: TaoDeMatrix6Inl.h:60
DE_MATH_API void operator*=(const deFloat s)
this[i] -= s
Definition: TaoDeMatrix6Inl.h:68
DE_MATH_API void negate(const deMatrix3 &m)
this = -m
Definition: TaoDeMatrix3Inl.h:31
DE_MATH_API void set(const deTransform &t)
this = X where X = [R 0; dxR R]
Definition: TaoDeMatrix6Inl.h:76
6x6 matrix classThis class consists of four 3x3 matrices.
Definition: TaoDeMatrix6.h:33
DE_MATH_API void negate(const deMatrix6 &m)
this = -m
Definition: TaoDeMatrix6Inl.h:44
DE_MATH_API void crossMultiply(const deVector3 &v, const deMatrix3 &m)
this = (v x) * m
Definition: TaoDeMatrix3Inl.h:52
DE_MATH_API void transpose(const deMatrix6 &m)
this = m^T
Definition: TaoDeMatrix6Inl.h:72
DE_MATH_API void add(const deMatrix6 &m1, const deMatrix6 &m2)
this = m1 + m2
Definition: TaoDeMatrix6Inl.h:48
DE_MATH_API deFloat & elementAt(const deInt i, const deInt j)
Definition: TaoDeMatrix6Inl.h:26
DE_MATH_API void identity()
this = identity matrix
Definition: TaoDeMatrix6Inl.h:40