| 62 | } |
| 63 | |
| 64 | Transform3D 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 | |
| 92 | Transform3D Motor3D::GetInverseTransformMatrix(void) const |
| 93 | { |
nothing calls this directly
no test coverage detected