subtype Vector is Vector_3D;
subtype Quaternion_Rotation is Quaternion_Real;
subtype Matrix_3D is Matrices_3D.Matrix;
subtype Matrix_4D is Matrices_4D.Matrix;
subtype Radiants is Real;
subtype Degrees is Real;
type Rotation_Order is (RPY, RYP, PRY, PYR, YRP, YPR);
Roll_Axis : constant Vector := (x => 1.0, y => 0.0, z => 0.0);
Pitch_Axis : constant Vector := (x => 0.0, y => 0.0, z => 1.0);
Yaw_Axis : constant Vector := (x => 0.0, y => 1.0, z => 0.0);
function Zero_Rotation return Quaternion_Rotation;
function Rotate
( | Current_Rotation, Additional_Rotation | : Quaternion_Rotation) |
function Rotate
( | Current_Rotation | : Quaternion_Rotation; |
Rotation_Axis | : Vector; | |
Rotation_Angle | : Radiants) |
function To_Matrix_3D_OpenGL
( | Roll_Angle, Pitch_Angle, Yaw_Angle | : Radiants; |
Order | : Rotation_Order := RPY; | |
Column_First | : Boolean := True) |