Index

Package: Rotations

Description

package Rotations is
Jan & Uwe R. Zimmer, Australia, July 2011

Packages

Matrices_3D (new Matrices)

package Matrices_3D         is new Matrices    (Dimension => 3);

Matrices_4D (new Matrices)

package Matrices_4D         is new Matrices    (Dimension => 4);

Types

Vector

subtype Vector              is Vector_3D;

References:

rotations.ads:19:12 (declaration)
rotations.adb:171:33 (reference)
rotations.adb:171:48 (reference)
rotations.adb:182:77 (reference)
rotations.adb:204:38 (reference)
rotations.adb:204:91 (reference)
rotations.ads:32:26 (reference)
rotations.ads:33:26 (reference)
rotations.ads:34:26 (reference)
rotations.ads:36:33 (reference)
rotations.ads:46:77 (reference)
rotations.ads:48:53 (reference)
rotations.ads:48:95 (reference)
rotations.ads:49:38 (reference)
rotations.ads:49:92 (reference)

Quaternion_Rotation

subtype Quaternion_Rotation is Quaternion_Real;

References:

rotations.ads:20:12 (declaration)
callback_procedures.adb:48:50 (reference)
callback_procedures.adb:58:50 (reference)
graphics_opengl.adb:29:45 (reference)
graphics_opengl.adb:171:41 (reference)
graphics_opengl.ads:20:41 (reference)
graphics_structures.ads:42:26 (reference)
rotations.adb:19:34 (reference)
rotations.adb:23:29 (reference)
rotations.adb:23:57 (reference)
rotations.adb:27:61 (reference)
rotations.adb:35:78 (reference)
rotations.adb:50:80 (reference)
rotations.adb:66:53 (reference)
rotations.adb:70:11 (reference)
rotations.adb:112:53 (reference)
rotations.adb:116:11 (reference)
rotations.adb:158:31 (reference)
rotations.adb:165:61 (reference)
rotations.adb:165:89 (reference)
rotations.adb:182:40 (reference)
rotations.adb:182:119 (reference)
rotations.adb:184:29 (reference)
rotations.adb:195:29 (reference)
rotations.adb:204:63 (reference)
rotations.adb:213:34 (reference)
rotations.adb:240:41 (reference)
rotations.adb:267:34 (reference)
rotations.adb:295:26 (reference)
rotations.adb:308:27 (reference)
rotations.adb:313:25 (reference)
rotations.ads:36:80 (reference)
rotations.ads:37:80 (reference)
rotations.ads:38:77 (reference)
rotations.ads:39:77 (reference)
rotations.ads:41:34 (reference)
rotations.ads:43:29 (reference)
rotations.ads:43:57 (reference)
rotations.ads:45:61 (reference)
rotations.ads:45:116 (reference)
rotations.ads:46:40 (reference)
rotations.ads:46:119 (reference)
rotations.ads:49:63 (reference)
rotations.ads:51:27 (reference)
rotations.ads:52:27 (reference)
rotations.ads:53:27 (reference)
rotations.ads:59:41 (reference)
rotations.ads:60:41 (reference)
rotations.ads:61:41 (reference)
swarm_control.adb:553:32 (reference)
swarm_structures.ads:91:57 (reference)

Matrix_3D

subtype Matrix_3D           is Matrices_3D.Matrix;

References:

rotations.ads:21:12 (declaration)
graphics_opengl.adb:31:34 (reference)
rotations.adb:66:35 (reference)
rotations.adb:68:11 (reference)
rotations.adb:213:62 (reference)
rotations.adb:229:25 (reference)
rotations.adb:240:69 (reference)
rotations.adb:256:25 (reference)
rotations.adb:328:29 (reference)
rotations.adb:336:29 (reference)
rotations.adb:340:29 (reference)
rotations.adb:350:80 (reference)
rotations.adb:363:21 (reference)
rotations.adb:367:21 (reference)
rotations.adb:371:21 (reference)
rotations.adb:375:14 (reference)
rotations.adb:377:46 (reference)
rotations.adb:377:64 (reference)
rotations.adb:379:28 (reference)
rotations.adb:409:81 (reference)
rotations.adb:420:21 (reference)
rotations.adb:424:21 (reference)
rotations.adb:428:21 (reference)
rotations.ads:38:35 (reference)
rotations.ads:55:29 (reference)
rotations.ads:56:29 (reference)
rotations.ads:57:29 (reference)
rotations.ads:59:69 (reference)
rotations.ads:60:69 (reference)
rotations.ads:63:88 (reference)
rotations.ads:66:80 (reference)

Matrix_4D

subtype Matrix_4D           is Matrices_4D.Matrix;

References:

rotations.ads:22:12 (declaration)
rotations.adb:112:35 (reference)
rotations.adb:114:11 (reference)
rotations.adb:267:62 (reference)
rotations.adb:283:25 (reference)
rotations.ads:39:35 (reference)
rotations.ads:61:69 (reference)

Radiants

subtype Radiants            is Real;

References:

rotations.ads:24:12 (declaration)
callback_procedures.adb:198:47 (reference)
callback_procedures.adb:199:47 (reference)
rotations.adb:11:46 (reference)
rotations.adb:15:29 (reference)
rotations.adb:35:61 (reference)
rotations.adb:50:63 (reference)
rotations.adb:182:102 (reference)
rotations.adb:193:45 (reference)
rotations.adb:295:54 (reference)
rotations.adb:308:55 (reference)
rotations.adb:313:53 (reference)
rotations.adb:328:47 (reference)
rotations.adb:336:47 (reference)
rotations.adb:340:47 (reference)
rotations.adb:348:71 (reference)
rotations.adb:409:64 (reference)
rotations.ads:27:47 (reference)
rotations.ads:28:30 (reference)
rotations.ads:36:63 (reference)
rotations.ads:37:63 (reference)
rotations.ads:46:102 (reference)
rotations.ads:48:78 (reference)
rotations.ads:51:55 (reference)
rotations.ads:52:55 (reference)
rotations.ads:53:55 (reference)
rotations.ads:55:47 (reference)
rotations.ads:56:47 (reference)
rotations.ads:57:47 (reference)
rotations.ads:63:71 (reference)
rotations.ads:64:71 (reference)

Degrees

subtype Degrees             is Real;

References:

rotations.ads:25:12 (declaration)
rotations.adb:11:30 (reference)
rotations.adb:15:46 (reference)
rotations.ads:27:30 (reference)
rotations.ads:28:47 (reference)

Rotation_Order

type Rotation_Order is (RPY, RYP, PRY, PYR, YRP, YPR);

References:

rotations.ads:30:9 (declaration)
rotations.adb:349:49 (reference)
rotations.ads:65:49 (reference)

Constants & Global variables

Roll_Axis (Vector)

Roll_Axis  : constant Vector := (x => 1.0, y => 0.0, z => 0.0);

References:

rotations.ads:32:4 (declaration)

Pitch_Axis (Vector)

Pitch_Axis : constant Vector := (x => 0.0, y => 0.0, z => 1.0);

References:

rotations.ads:33:4 (declaration)

Yaw_Axis (Vector)

Yaw_Axis   : constant Vector := (x => 0.0, y => 1.0, z => 0.0);

References:

rotations.ads:34:4 (declaration)

Subprograms & Entries

To_Radiants

function To_Radiants 
(A: Degrees) return Radiants;

References:

rotations.ads:27:13 (declaration)
rotations.adb:11:13 (body)

To_Degrees

function To_Degrees  
(A: Radiants) return Degrees;

References:

rotations.ads:28:13 (declaration)
rotations.adb:15:13 (body)

To_Rotation

function To_Rotation 
(Axis: Vector;
Rotation_Angle: Radiants) return Quaternion_Rotation;

Called by:

Rotate defined at rotations.ads:46:13
Rotate defined at rotations.ads:48:13

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:78:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:68:13

To_Rotation

function To_Rotation 
(Roll_Angle, Pitch_Angle, Yaw_Angle: Radiants) return Quaternion_Rotation;

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:78:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:68:13

To_Rotation

function To_Rotation 
(Matrix: Matrix_3D) return Quaternion_Rotation;

References:

rotations.ads:38:13 (declaration)
rotations.adb:66:13 (body)
rotations.adb:108:8 (label)

Calls:

Ada.Numerics.Generic_Elementary_Functions.Sqrt defined at a-ngelfu.ads:42:13
Quaternions.Unit defined at quaternions.ads:14:13
Rotations.To_Rotation.Copy_Sign defined at rotations.adb:78:16

To_Rotation

function To_Rotation 
(Matrix: Matrix_4D) return Quaternion_Rotation;

References:

rotations.ads:39:13 (declaration)
rotations.adb:112:13 (body)
rotations.adb:154:8 (label)

Calls:

Ada.Numerics.Generic_Elementary_Functions.Sqrt defined at a-ngelfu.ads:42:13
Quaternions.Unit defined at quaternions.ads:14:13
Rotations.To_Rotation.Copy_Sign defined at rotations.adb:124:16

Inverse

function Inverse 
(Quad: Quaternion_Rotation) return Quaternion_Rotation;

References:

rotations.ads:43:13 (declaration)
rotations.adb:23:13 (body)

Rotate

function Rotate 
(Current_Rotation: Quaternion_Rotation;
Rotation_Axis: Vector;
Rotation_Angle: Radiants) return Quaternion_Rotation;

References:

rotations.ads:46:13 (declaration)
rotations.adb:182:13 (body)
rotations.adb:188:8 (label)

Rotate

function Rotate 
(Current_Vector, Rotation_Axis: Vector;
Rotation_Angle: Radiants) return Vector;

References:

rotations.ads:48:13 (declaration)
rotations.adb:192:13 (body)
rotations.adb:200:8 (label)

Roll

function Roll  
(Quad: Quaternion_Rotation) return Radiants;

Calls:

Ada.Numerics.Generic_Elementary_Functions.Arctan defined at a-ngelfu.ads:116:13

Yaw

function Yaw   
(Quad: Quaternion_Rotation) return Radiants;

Calls:

Ada.Numerics.Generic_Elementary_Functions.Arctan defined at a-ngelfu.ads:116:13

Roll

function Roll  
(Matrix: Matrix_3D) return Radiants;

References:

rotations.ads:55:13 (declaration)
rotations.adb:328:13 (body)

Pitch

function Pitch 
(Matrix: Matrix_3D) return Radiants;

References:

rotations.ads:56:13 (declaration)
rotations.adb:336:13 (body)

Yaw

function Yaw   
(Matrix: Matrix_3D) return Radiants;

References:

rotations.ads:57:13 (declaration)
rotations.adb:340:13 (body)

To_Matrix_3D

function To_Matrix_3D        
(Quad: Quaternion_Rotation) return Matrix_3D;

References:

rotations.ads:59:13 (declaration)
rotations.adb:213:13 (body)
rotations.adb:236:8 (label)

To_Matrix_3D_OpenGL

function To_Matrix_3D_OpenGL 
(Quad: Quaternion_Rotation) return Matrix_3D;

References:

rotations.ads:60:13 (declaration)
rotations.adb:240:13 (body)
rotations.adb:263:8 (label)

To_Matrix_4D

function To_Matrix_4D        
(Quad: Quaternion_Rotation) return Matrix_4D;

References:

rotations.ads:61:13 (declaration)
rotations.adb:267:13 (body)
rotations.adb:291:8 (label)

To_Matrix_3D

function To_Matrix_3D        
(Roll_Angle, Pitch_Angle, Yaw_Angle: Radiants) return Matrix_3D;

References:

rotations.ads:63:13 (declaration)
rotations.adb:409:13 (body)
rotations.adb:436:8 (label)

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:78:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:68:13
Matrices.* defined at matrices.ads:16:14

To_Matrix_3D_OpenGL

function To_Matrix_3D_OpenGL 
(Roll_Angle, Pitch_Angle, Yaw_Angle: Radiants;
Order: Rotation_Order := RPY;
Column_First: Boolean := True) return Matrix_3D;

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:78:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:68:13
Matrices.* defined at matrices.ads:16:14
Rotations.To_Matrix_3D_OpenGL.Column_First_Mirror defined at rotations.adb:377:16