18 mTranslate({ 0.0f, 0.0f, 0.0f, 1.0f }),
19 mScale({ 1.0f, 1.0f, 1.0f, 1.0f }),
34 mScale = { 1.0f, 1.0f, 1.0f, 1.0f };
44 mScale = { 1.0f, 1.0f, 1.0f, 1.0f };
87 "Scales must be nonzero.");
97 SetScale(scale[0], scale[1], scale[2]);
102 SetScale(scale[0], scale[1], scale[2]);
108 LogAssert(scale != 0.0
f,
"Scale must be nonzero.");
119 for (
int r = 0;
r < 3; ++
r)
121 for (
int c = 0;
c < 3; ++
c)
135 for (
int r = 0;
r < 3; ++
r)
137 for (
int c = 0;
c < 3; ++
c)
184 eulerAngles.
axis[1], eulerAngles.
axis[2]);
204 #if defined(GTE_USE_MAT_VEC) 217 return std::max(std::max(r0, r1), r2);
234 float invScale = 1.0f /
mScale[0];
235 #if defined(GTE_USE_MAT_VEC) 261 float s02 = mScale[0] * mScale[2];
262 float s12 = mScale[1] * mScale[2];
263 float invs012 = 1.0f / (s01 * mScale[2]);
264 float invS0 = s12 * invs012;
265 float invS1 = s02 * invs012;
266 float invS2 = s01 * invs012;
267 #if defined(GTE_USE_MAT_VEC) 295 #if defined(GTE_USE_MAT_VEC) 387 #if defined(GTE_USE_MAT_VEC) 422 #if defined(GTE_USE_MAT_VEC) 448 invMat(0, 0) = mat(1, 1) * mat(2, 2) - mat(1, 2) * mat(2, 1);
449 invMat(0, 1) = mat(0, 2) * mat(2, 1) - mat(0, 1) * mat(2, 2);
450 invMat(0, 2) = mat(0, 1) * mat(1, 2) - mat(0, 2) * mat(1, 1);
452 invMat(1, 0) = mat(1, 2) * mat(2, 0) - mat(1, 0) * mat(2, 2);
453 invMat(1, 1) = mat(0, 0) * mat(2, 2) - mat(0, 2) * mat(2, 0);
454 invMat(1, 2) = mat(0, 2) * mat(1, 0) - mat(0, 0) * mat(1, 2);
456 invMat(2, 0) = mat(1, 0) * mat(2, 1) - mat(1, 1) * mat(2, 0);
457 invMat(2, 1) = mat(0, 1) * mat(2, 0) - mat(0, 0) * mat(2, 1);
458 invMat(2, 2) = mat(0, 0) * mat(1, 1) - mat(0, 1) * mat(1, 0);
466 float invDet = 1.0f / (
467 mat(0, 0) * invMat(0, 0) +
468 mat(0, 1) * invMat(1, 0) +
469 mat(0, 2) * invMat(2, 0)
473 invMat(0, 0) *= invDet;
474 invMat(0, 1) *= invDet;
475 invMat(0, 2) *= invDet;
476 invMat(1, 0) *= invDet;
477 invMat(1, 1) *= invDet;
478 invMat(1, 2) *= invDet;
479 invMat(2, 0) *= invDet;
480 invMat(2, 1) *= invDet;
481 invMat(2, 2) *= invDet;
513 #if defined(GTE_USE_MAT_VEC) 561 #if defined(GTE_USE_MAT_VEC) 575 #if defined(GTE_USE_MAT_VEC) 587 #if defined(GTE_USE_MAT_VEC)
GLenum GLenum GLenum GLenum GLenum scale
#define LogAssert(condition, message)
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s0
GMatrix< Real > MultiplyMD(GMatrix< Real > const &M, GVector< Real > const &D)
GMatrix< Real > Transpose(GMatrix< Real > const &M)
GLuint GLfloat GLfloat GLfloat x1
GLdouble GLdouble GLdouble GLdouble q
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat s1
Vector4< float > operator*(Transform const &M, Vector4< float > const &V)
GMatrix< Real > MultiplyDM(GVector< Real > const &D, GMatrix< Real > const &M)