27 assert(fabs(matrix(0,3)) < 1e-6);
28 assert(fabs(matrix(1,3)) < 1e-6);
29 assert(fabs(matrix(2,3)) < 1e-6);
33 result(0,0) = matrix(0,0);
34 result(0,1) = matrix(1,0);
35 result(0,2) = matrix(2,0);
37 result(1,0) = matrix(0,1);
38 result(1,1) = matrix(1,1);
39 result(1,2) = matrix(2,1);
41 result(2,0) = matrix(0,2);
42 result(2,1) = matrix(1,2);
43 result(2,2) = matrix(2,2);
53 const StdMeshMatrix OgreToClonkInverseTranspose = Transpose(OgreToClonkInverse);
54 const float OgreToClonkDeterminant = OgreToClonkMatrix.
Determinant();
62 return OgreToClonkMatrix * vector;
69 return OgreToClonkDeterminant * (OgreToClonkMatrix * vector);
74 return OgreToClonkInverseTranspose * vector;
81 StdMeshMatrix transformed = OgreToClonkMatrix * scale * OgreToClonkInverse;
84 result.
x = transformed(0,0);
85 result.
y = transformed(1,1);
86 result.
z = transformed(2,2);
93 axis.
x = quaternion.
x;
94 axis.
y = quaternion.
y;
95 axis.
z = quaternion.
z;
100 result.
w = quaternion.
w;
101 result.
x = transformed.
x;
102 result.
y = transformed.
y;
103 result.
z = transformed.
z;
114 normal.
x = vertex.
nx;
115 normal.
y = vertex.
ny;
116 normal.
z = vertex.
nz;
125 result.
nx = normal.
x;
126 result.
ny = normal.
y;
127 result.
nz = normal.
z;
static StdMeshMatrix Inverse(const StdMeshMatrix &mat)
static StdMeshMatrix Rotate(float angle, float rx, float ry, float rz)
static StdMeshMatrix Scale(float sx, float sy, float sz)
float Determinant() const
StdMeshVector TransformVector(const StdMeshVector &vector)
StdMeshVector TransformScaleVector(const StdMeshVector &vector)
StdMeshQuaternion TransformQuaternion(const StdMeshQuaternion &quaternion)
StdSubMesh::Vertex TransformVertex(const StdSubMesh::Vertex &vertex)
StdMeshVector TransformPseudoVector(const StdMeshVector &vector)
StdMeshTransformation TransformTransformation(const StdMeshTransformation &trans)
StdMeshVector TransformNormalVector(const StdMeshVector &vector)