@@ -333,45 +333,6 @@ class MX_CORE_API Vector4 : public VectorN<Vector4, float, 4>
333333 }
334334};
335335
336- // / @class Quaternion
337- // / A quaternion vector
338- class MX_CORE_API Quaternion : public VectorN<Vector4, float , 4 >
339- {
340- public:
341- using VectorN<Vector4, float , 4 >::VectorN;
342- Quaternion () = default ;
343- Quaternion (float x, float y, float z, float w) :
344- VectorN (Uninit{})
345- {
346- _arr = { x, y, z, w };
347- }
348-
349- Quaternion operator *(const Quaternion& q) const
350- {
351- return {
352- _arr[0 ] * q._arr [3 ] + _arr[3 ] * q._arr [0 ] + _arr[1 ] * q._arr [2 ] - _arr[2 ] * q._arr [1 ],
353- _arr[1 ] * q._arr [3 ] + _arr[3 ] * q._arr [1 ] + _arr[2 ] * q._arr [0 ] - _arr[0 ] * q._arr [2 ],
354- _arr[2 ] * q._arr [3 ] + _arr[3 ] * q._arr [2 ] + _arr[0 ] * q._arr [1 ] - _arr[1 ] * q._arr [0 ],
355- _arr[3 ] * q._arr [3 ] - _arr[0 ] * q._arr [0 ] - _arr[1 ] * q._arr [1 ] - _arr[2 ] * q._arr [2 ]
356- };
357- }
358-
359- Quaternion getNormalized () const
360- {
361- float l = 1 .f / getMagnitude () * (_arr[3 ] < 0 ? -1 .f : 1 .f ); // after normalization, real part will be non-negative
362- return { _arr[0 ] * l, _arr[1 ] * l, _arr[2 ] * l, _arr[3 ] * l };
363- }
364-
365- static Quaternion createFromAxisAngle (const Vector3& v, float a)
366- {
367- float s = std::sin (a * 0 .5f );
368- return Quaternion (v[0 ] * s, v[1 ] * s, v[2 ] * s, std::cos (a * 0 .5f ));
369- }
370-
371- public:
372- static const Quaternion IDENTITY;
373- };
374-
375336// / @class Color3
376337// / A three-component color value
377338class MX_CORE_API Color3 : public VectorN<Color3, float , 3 >
@@ -726,11 +687,6 @@ class MX_CORE_API Matrix44 : public MatrixN<Matrix44, float, 4>
726687 // / @param angle Angle in radians
727688 static Matrix44 createRotationZ (float angle);
728689
729- // / Create a rotation matrix using a quaternion whose imaginary component is in the
730- // / the supplied vectors xyz, and whose real component is in the fourth component, w.
731- // / @param quaternion
732- static Matrix44 createRotation (const Quaternion& quaternion);
733-
734690 // / @}
735691
736692 public:
0 commit comments