30 , T m20, T m21, T m22);
34 const void*
ptr(
void)
const;
70 DtMatrix3<T> DtMatrix3<T>::theIdentityMatrix = DtMatrix3<T>(1,0,0
83 memcpy(_m, rhs, 9*
sizeof(T));
89 , T m20, T m21, T m22)
91 m[0][0]=m00;m[0][1]=m01;m[0][2]=m02;
92 m[1][0]=m10;m[1][1]=m11;m[1][2]=m12;
93 m[2][0]=m20;m[2][1]=m21;m[2][2]=m22;
99 memcpy(_m, rhs, 9 *
sizeof(T));
141 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];
142 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];
143 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];
145 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];
146 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];
147 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];
149 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];
150 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];
151 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];
168 vResult.
x = lhs.
m[0][0]*rhs.
x + lhs.
m[0][1]*rhs.
y + lhs.
m[0][2]*rhs.
z;
169 vResult.
y = lhs.
m[1][0]*rhs.
x + lhs.
m[1][1]*rhs.
y + lhs.
m[1][2]*rhs.
z;
170 vResult.
z = lhs.
m[2][0]*rhs.
x + lhs.
m[2][1]*rhs.
y + lhs.
m[2][2]*rhs.
z;
178 memset(_m, 0, 9*
sizeof(T));
185 m[0][0] = m[1][1] = m[2][2] = 1;
192 m[0][0], m[1][0], m[2][0]
193 , m[0][1], m[1][1], m[2][1]
194 , m[0][2], m[1][2], m[2][2]
202 for(
size_t i = 0; i < 3; ++i)
204 for(
size_t j = 0; j < 3; ++j)
DtMatrix3 operator*(const DtMatrix3 &rhs) const
Multiply 2 matrices. Returns this*rhs.
Definition: DtMatrix3.h:130
DtMatrix3< float > Matrix3_32
Definition: DtMatrix3.h:126
const T * operator[](size_t iRow) const
Definition: DtMatrix3.h:114
void setZero(void)
Set all values to zero.
Definition: DtMatrix3.h:176
T _m[9]
Definition: DtMatrix3.h:64
#define ASSERT_PREDICATE_RETURN_ZERO(p)
Definition: DtAssert.h:41
const void * ptr(void) const
Definition: DtMatrix3.h:108
T z
Definition: DtVector3.h:132
T x
Definition: DtVector3.h:132
DtMatrix3< double > Matrix3_64
Definition: DtMatrix3.h:127
T m[3][3]
Definition: DtMatrix3.h:65
void setIdentity(void)
Set matrix to identity matrix.
Definition: DtMatrix3.h:182
bool IsEqual(const DtMatrix3 &rhs, T tolerance) const
Check whether this matrix is equivalent to rhs within tolerance.
Definition: DtMatrix3.h:199
DtMatrix3 getTranspose(void) const
Get the transpose of this matrix.
Definition: DtMatrix3.h:189
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:75
~DtMatrix3()
DTOR.
Definition: DtMatrix3.h:103
static DtMatrix3 theIdentityMatrix
Definition: DtMatrix3.h:60