This is the Rotation export class A Rotation using a quaternion. The Rotation object can be created by: -- an empty parameter list -- a Rotation object -- a Vector (axis) and a float (angle) -- two Vectors (rotation from/to vector) -- three floats (Euler angles) as yaw-pitch-roll -- four floats (Quaternion) where the quaternion is specified as: q=xi+yj+zk+w, i.e. the last parameter is the real part move(Vector) Move the matrix along the vector multiply(Rotation) Multiply this quaternion with another quaternion multVec(Vector) -> Vector Compute the transformed vector using the rotation toEuler(Vector) -> list Get the Euler angles of this rotation isNull() -> Bool returns True if the rotation equals the unity matrix The rotation elements (as quaternion) The rotation axis of the quaternion The rotation angle of the quaternion public: RotationPy(const Rotation & mat, PyTypeObject *T = &Type) :PyObjectBase(new Rotation(mat),T){} Rotation value() const { return *(getRotationPtr()); }