static double | Pi() |
void | RectifyAngle() |
Note: We could require the angle to be in [0,pi) since we can represent negative angles by flipping the axis. We choose not to do this.
Construct from a non-zero vector (x,y,z) and an angle. Precondition: the Vector needs to implement x(), y(), z(), and unit()
{ }
Construct given a pair of pointers or iterators defining the beginning and end of an array of four Scalars, to be treated as the x, y, and z components of a unit axis vector, and the angle of rotation. Precondition: The first three components are assumed to represent the rotation axis vector and the 4-th the rotation angle. The angle is assumed to be in the range (-pi,pi]. The axis vector is automatically normalized to be a unit vector
{ SetComponents(begin,end); }
======== Construction From other Rotation Forms ================== Construct from another supported rotation type (see gv_detail::convert )
{gv_detail::convert(r,*this);}
Assign from another supported rotation type (see gv_detail::convert )
======== Components ============== Set the axis and then the angle given a pair of pointers or iterators defining the beginning and end of an array of four Scalars. Precondition: The first three components are assumed to represent the rotation axis vector and the 4-th the rotation angle. The angle is assumed to be in the range (-pi,pi]. The axis vector is automatically normalized to be a unit vector
Get the axis and then the angle into data specified by an iterator begin and another to the end of the desired data (4 past start).
Multiplication of an axial rotation by an AxisAngle