Subversion Repository Public Repository

Divide-Framework

This repository has no backups
This repository's network speed is throttled to 100KB/sec

Diff Revisions 868 vs 869 for /trunk/Source Code/Core/Math/Headers/Quaternion.h

Diff revisions: vs.
  @@ -135,13 +135,23 @@
135 135 void fromMatrix(const mat3<T>& rotationMatrix);
136 136
137 137 //! Convert to Matrix
138 - void getMatrix(mat4<F32>& outMatrix) const;
138 + void getMatrix(mat3<F32>& outMatrix) const;
139 139
140 140 //! Convert to Axis/Angles
141 141 void getAxisAngle(vec3<T>* axis, Angle::DEGREES<T>* angle) const;
142 142
143 143 void getEuler(vec3<Angle::RADIANS<T>>& euler) const;
144 144
145 +
146 + /// X/Y/Z Axis get/set a la Ogre: OgreQuaternion.cpp
147 + void fromAxes(const vec3<T>* axis);
148 + void fromAxes(const vec3<T>& xAxis, const vec3<T>& yAxis, const vec3<T>& zAxis);
149 + void toAxes(vec3<T>* axis) const;
150 + void toAxes(vec3<T>& xAxis, vec3<T>& yAxis, vec3<T>& zAxis) const;
151 + vec3<T> xAxis() const;
152 + vec3<T> yAxis() const;
153 + vec3<T> zAxis() const;
154 +
145 155 inline F32 X() const;
146 156 inline F32 Y() const;
147 157 inline F32 Z() const;
  @@ -169,7 +179,7 @@
169 179 inline Quaternion<T> Slerp(const Quaternion<T>& q0, const Quaternion<T>& q1, F32 t);
170 180
171 181 template <typename T>
172 - inline mat4<T> GetMatrix(const Quaternion<T>& q);
182 + inline mat3<T> GetMatrix(const Quaternion<T>& q);
173 183
174 184 template <typename T>
175 185 inline vec3<Angle::RADIANS<T>> GetEuler(const Quaternion<T>& q);