30 , T m20, T m21, T m22);
31 const void*
ptr(
void)
const;
67 DtMatrix3<T> DtMatrix3<T>::theIdentityMatrix = DtMatrix3<T>(1,0,0
80 memcpy(_m, rhs, 9*
sizeof(T));
86 , T m20, T m21, T m22)
88 m[0][0]=m00;m[0][1]=m01;m[0][2]=m02;
89 m[1][0]=m10;m[1][1]=m11;m[1][2]=m12;
90 m[2][0]=m20;m[2][1]=m21;m[2][2]=m22;
131 result.
m[0][0] = lhs.
m[0][0]*rhs.
m[0][0] + lhs.
m[0][1]*rhs.
m[1][0] + lhs.
m[0][2]*rhs.
m[2][0];
132 result.
m[0][1] = lhs.
m[0][0]*rhs.
m[0][1] + lhs.
m[0][1]*rhs.
m[1][1] + lhs.
m[0][2]*rhs.
m[2][1];
133 result.
m[0][2] = lhs.
m[0][0]*rhs.
m[0][2] + lhs.
m[0][1]*rhs.
m[1][2] + lhs.
m[0][2]*rhs.
m[2][2];
135 result.
m[1][0] = lhs.
m[1][0]*rhs.
m[0][0] + lhs.
m[1][1]*rhs.
m[1][0] + lhs.
m[1][2]*rhs.
m[2][0];
136 result.
m[1][1] = lhs.
m[1][0]*rhs.
m[0][1] + lhs.
m[1][1]*rhs.
m[1][1] + lhs.
m[1][2]*rhs.
m[2][1];
137 result.
m[1][2] = lhs.
m[1][0]*rhs.
m[0][2] + lhs.
m[1][1]*rhs.
m[1][2] + lhs.
m[1][2]*rhs.
m[2][2];
139 result.
m[2][0] = lhs.
m[2][0]*rhs.
m[0][0] + lhs.
m[2][1]*rhs.
m[1][0] + lhs.
m[2][2]*rhs.
m[2][0];
140 result.
m[2][1] = lhs.
m[2][0]*rhs.
m[0][1] + lhs.
m[2][1]*rhs.
m[1][1] + lhs.
m[2][2]*rhs.
m[2][1];
141 result.
m[2][2] = lhs.
m[2][0]*rhs.
m[0][2] + lhs.
m[2][1]*rhs.
m[1][2] + lhs.
m[2][2]*rhs.
m[2][2];
158 vResult.
x = lhs.
m[0][0]*rhs.
x + lhs.
m[0][1]*rhs.
y + lhs.
m[0][2]*rhs.
z;
159 vResult.
y = lhs.
m[1][0]*rhs.
x + lhs.
m[1][1]*rhs.
y + lhs.
m[1][2]*rhs.
z;
160 vResult.
z = lhs.
m[2][0]*rhs.
x + lhs.
m[2][1]*rhs.
y + lhs.
m[2][2]*rhs.
z;
168 memset(_m, 0, 9*
sizeof(T));
175 m[0][0] = m[1][1] = m[2][2] = 1;
182 m[0][0], m[1][0], m[2][0]
183 , m[0][1], m[1][1], m[2][1]
184 , m[0][2], m[1][2], m[2][2]
192 for(
size_t i = 0; i < 3; ++i)
194 for(
size_t j = 0; j < 3; ++j)
DtMatrix3 operator*(const DtMatrix3 &rhs) const
Multiply 2 matrices. Returns this*rhs.
Definition: DtMatrix3.h:120
DtMatrix3< float > Matrix3_32
Definition: DtMatrix3.h:116
const T * operator[](size_t iRow) const
Definition: DtMatrix3.h:104
void setZero(void)
Set all values to zero.
Definition: DtMatrix3.h:166
T _m[9]
Definition: DtMatrix3.h:61
#define ASSERT_PREDICATE_RETURN_ZERO(p)
Definition: DtAssert.h:41
const void * ptr(void) const
Definition: DtMatrix3.h:98
T z
Definition: DtVector3.h:132
T x
Definition: DtVector3.h:132
DtMatrix3< double > Matrix3_64
Definition: DtMatrix3.h:117
T m[3][3]
Definition: DtMatrix3.h:62
void setIdentity(void)
Set matrix to identity matrix.
Definition: DtMatrix3.h:172
bool IsEqual(const DtMatrix3 &rhs, T tolerance) const
Check whether this matrix is equivalent to rhs within tolerance.
Definition: DtMatrix3.h:189
DtMatrix3 getTranspose(void) const
Get the transpose of this matrix.
Definition: DtMatrix3.h:179
T y
Definition: DtVector3.h:132
static bool isEqual(int32 lhs, int32 rhs, int32 tolerance=std::numeric_limits< int32 >::epsilon())
Test equality with tolerance.
3 dimensional matrix
Definition: DtMatrix3.h:20
2 dimensional vector
Definition: DtMath.h:21
DtMatrix3()
CTOR.
Definition: DtMatrix3.h:72
~DtMatrix3()
DTOR.
Definition: DtMatrix3.h:93
static DtMatrix3 theIdentityMatrix
Definition: DtMatrix3.h:57