History | View | Annotate | Download (6.503 KB)
Add attribution line for fixes in utility code
Excessive parentheses only make the expressions hareder to read.
Replace use of float by double.
All values in a quaternion are declared double, let's not lose precision onplatforms where double is larger than float.
Simplify a few more functions, and pass vector arguments by reference
Simplify constructors
Simplify several functions by replacing the body with one-line calls to theconstructor. Furthermore, pass Quaternion arguments by reference to avoidexcessive copying.
Quaternion needs the definition of a matrix. Include it.
Fix conversion of impure rotation matrices to quaternions
The test for the largest element in the matrix diagonal was reversed, whichresulted in taking the square root of a negative value for matrices withdeterminant less than zero.
Add "const" to non-mutating Vector, Quat methods
Also adds some clarifying documentation, since the quat->euler axisconventions are a bit surprising.
First commit