MCPcopy Create free account
hub / github.com/EricLengyel/Terathon-Math-Library / GetTransformMatrix

Method GetTransformMatrix

TSMotor3D.cpp:64–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64Transform3D Motor3D::GetTransformMatrix(void) const
65{
66 float vx2 = v.x * v.x;
67 float vy2 = v.y * v.y;
68 float vz2 = v.z * v.z;
69
70 float A00 = 1.0F - (vy2 + vz2) * 2.0F;
71 float A11 = 1.0F - (vz2 + vx2) * 2.0F;
72 float A22 = 1.0F - (vx2 + vy2) * 2.0F;
73 float A01 = v.x * v.y;
74 float A02 = v.z * v.x;
75 float A12 = v.y * v.z;
76 float A03 = v.y * m.z - v.z * m.y;
77 float A13 = v.z * m.x - v.x * m.z;
78 float A23 = v.x * m.y - v.y * m.x;
79
80 float B01 = v.z * v.w;
81 float B20 = v.y * v.w;
82 float B12 = v.x * v.w;
83 float B03 = m.x * v.w - v.x * m.w;
84 float B13 = m.y * v.w - v.y * m.w;
85 float B23 = m.z * v.w - v.z * m.w;
86
87 return (Transform3D( A00, (A01 - B01) * 2.0F, (A02 + B20) * 2.0F, (A03 + B03) * 2.0F,
88 (A01 + B01) * 2.0F, A11, (A12 - B12) * 2.0F, (A13 + B13) * 2.0F,
89 (A02 - B20) * 2.0F, (A12 + B12) * 2.0F, A22, (A23 + B23) * 2.0F));
90}
91
92Transform3D Motor3D::GetInverseTransformMatrix(void) const
93{

Callers

nothing calls this directly

Calls 1

Transform3DClass · 0.70

Tested by

no test coverage detected