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:17:12 (declaration)
rotations.adb:199:33 (reference)
rotations.adb:199:48 (reference)
rotations.adb:210:77 (reference)
rotations.adb:232:38 (reference)
rotations.adb:232:91 (reference)
rotations.ads:30:26 (reference)
rotations.ads:31:26 (reference)
rotations.ads:32:26 (reference)
rotations.ads:34:33 (reference)
rotations.ads:44:77 (reference)
rotations.ads:46:53 (reference)
rotations.ads:46:95 (reference)
rotations.ads:47:38 (reference)
rotations.ads:47:92 (reference)

Quaternion_Rotation

subtype Quaternion_Rotation is Quaternion_Real;

References:

rotations.ads:18:12 (declaration)
graphics_opengl.adb:28:45 (reference)
graphics_opengl.adb:178:41 (reference)
graphics_opengl.ads:20:41 (reference)
graphics_structures.ads:42:26 (reference)
rotations.adb:32:34 (reference)
rotations.adb:40:29 (reference)
rotations.adb:40:57 (reference)
rotations.adb:48:61 (reference)
rotations.adb:60:78 (reference)
rotations.adb:75:80 (reference)
rotations.adb:91:53 (reference)
rotations.adb:95:11 (reference)
rotations.adb:137:53 (reference)
rotations.adb:141:11 (reference)
rotations.adb:183:31 (reference)
rotations.adb:193:61 (reference)
rotations.adb:193:89 (reference)
rotations.adb:210:40 (reference)
rotations.adb:210:119 (reference)
rotations.adb:212:29 (reference)
rotations.adb:223:29 (reference)
rotations.adb:232:63 (reference)
rotations.adb:241:34 (reference)
rotations.adb:268:41 (reference)
rotations.adb:295:34 (reference)
rotations.adb:323:26 (reference)
rotations.adb:337:27 (reference)
rotations.adb:345:25 (reference)
rotations.ads:34:80 (reference)
rotations.ads:35:80 (reference)
rotations.ads:36:77 (reference)
rotations.ads:37:77 (reference)
rotations.ads:39:34 (reference)
rotations.ads:41:29 (reference)
rotations.ads:41:57 (reference)
rotations.ads:43:61 (reference)
rotations.ads:43:116 (reference)
rotations.ads:44:40 (reference)
rotations.ads:44:119 (reference)
rotations.ads:47:63 (reference)
rotations.ads:49:27 (reference)
rotations.ads:50:27 (reference)
rotations.ads:51:27 (reference)
rotations.ads:57:41 (reference)
rotations.ads:58:41 (reference)
rotations.ads:59:41 (reference)
swarm_control.adb:375:32 (reference)
swarm_structures.ads:89:25 (reference)
callback_procedures.adb:48:50 (reference)
callback_procedures.adb:58:50 (reference)

Matrix_3D

subtype Matrix_3D           is Matrices_3D.Matrix;

References:

rotations.ads:19:12 (declaration)
graphics_opengl.adb:30:34 (reference)
rotations.adb:91:35 (reference)
rotations.adb:93:11 (reference)
rotations.adb:241:62 (reference)
rotations.adb:257:25 (reference)
rotations.adb:268:69 (reference)
rotations.adb:284:25 (reference)
rotations.adb:361:29 (reference)
rotations.adb:373:29 (reference)
rotations.adb:381:29 (reference)
rotations.adb:395:80 (reference)
rotations.adb:408:21 (reference)
rotations.adb:412:21 (reference)
rotations.adb:416:21 (reference)
rotations.adb:420:14 (reference)
rotations.adb:422:46 (reference)
rotations.adb:422:64 (reference)
rotations.adb:424:28 (reference)
rotations.adb:454:81 (reference)
rotations.adb:465:21 (reference)
rotations.adb:469:21 (reference)
rotations.adb:473:21 (reference)
rotations.ads:36:35 (reference)
rotations.ads:53:29 (reference)
rotations.ads:54:29 (reference)
rotations.ads:55:29 (reference)
rotations.ads:57:69 (reference)
rotations.ads:58:69 (reference)
rotations.ads:61:88 (reference)
rotations.ads:64:80 (reference)

Matrix_4D

subtype Matrix_4D           is Matrices_4D.Matrix;

References:

rotations.ads:20:12 (declaration)
rotations.adb:137:35 (reference)
rotations.adb:139:11 (reference)
rotations.adb:295:62 (reference)
rotations.adb:311:25 (reference)
rotations.ads:37:35 (reference)
rotations.ads:59:69 (reference)

Radiants

subtype Radiants            is Real;

References:

rotations.ads:22:12 (declaration)
rotations.adb:16:46 (reference)
rotations.adb:24:29 (reference)
rotations.adb:60:61 (reference)
rotations.adb:75:63 (reference)
rotations.adb:210:102 (reference)
rotations.adb:221:45 (reference)
rotations.adb:323:54 (reference)
rotations.adb:337:55 (reference)
rotations.adb:345:53 (reference)
rotations.adb:361:47 (reference)
rotations.adb:373:47 (reference)
rotations.adb:381:47 (reference)
rotations.adb:393:71 (reference)
rotations.adb:454:64 (reference)
rotations.ads:25:47 (reference)
rotations.ads:26:30 (reference)
rotations.ads:34:63 (reference)
rotations.ads:35:63 (reference)
rotations.ads:44:102 (reference)
rotations.ads:46:78 (reference)
rotations.ads:49:55 (reference)
rotations.ads:50:55 (reference)
rotations.ads:51:55 (reference)
rotations.ads:53:47 (reference)
rotations.ads:54:47 (reference)
rotations.ads:55:47 (reference)
rotations.ads:61:71 (reference)
rotations.ads:62:71 (reference)
callback_procedures.adb:198:47 (reference)
callback_procedures.adb:199:47 (reference)

Degrees

subtype Degrees             is Real;

References:

rotations.ads:23:12 (declaration)
rotations.adb:16:30 (reference)
rotations.adb:24:46 (reference)
rotations.ads:25:30 (reference)
rotations.ads:26:47 (reference)

Rotation_Order

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

References:

rotations.ads:28:9 (declaration)
rotations.adb:394:49 (reference)
rotations.ads:63:49 (reference)

Constants & Global variables

Roll_Axis (Vector)

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

References:

rotations.ads:30:4 (declaration)

Pitch_Axis (Vector)

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

References:

rotations.ads:31:4 (declaration)

Yaw_Axis (Vector)

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

References:

rotations.ads:32:4 (declaration)

Subprograms & Entries

To_Radiants

function To_Radiants 
(A: Degrees)
return Radiants;

References:

rotations.ads:25:13 (declaration)
rotations.adb:16:13 (body)
rotations.adb:20:8 (label)

To_Degrees

function To_Degrees  
(A: Radiants)
return Degrees;

References:

rotations.ads:26:13 (declaration)
rotations.adb:24:13 (body)
rotations.adb:28:8 (label)

To_Rotation

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

References:

rotations.ads:34:13 (declaration)
rotations.adb:60:13 (body)
rotations.adb:71:8 (label)
rotations.adb:212:52 (reference)
rotations.adb:223:52 (reference)

Called by:

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

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:30:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:28: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:30:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:28:13

To_Rotation

function To_Rotation 
(Matrix: Matrix_3D)
return Quaternion_Rotation;

References:

rotations.ads:36:13 (declaration)
rotations.adb:91:13 (body)
rotations.adb:133:8 (label)

Calls:

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

To_Rotation

function To_Rotation 
(Matrix: Matrix_4D)
return Quaternion_Rotation;

References:

rotations.ads:37:13 (declaration)
rotations.adb:137:13 (body)
rotations.adb:179:8 (label)

Calls:

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

Rotate

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

References:

rotations.ads:44:13 (declaration)
rotations.adb:210:13 (body)
rotations.adb:216:8 (label)

Roll

function Roll  
(Quad: Quaternion_Rotation)
return Radiants;

References:

rotations.ads:49:13 (declaration)
graphics_opengl.adb:30:68 (reference)
rotations.adb:323:13 (body)
rotations.adb:333:8 (label)

Calls:

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

Pitch

function Pitch 
(Quad: Quaternion_Rotation)
return Radiants;

Calls:

Ada.Numerics.Generic_Elementary_Functions.Arcsin defined at a-ngelfu.ads:37:13

Yaw

function Yaw   
(Quad: Quaternion_Rotation)
return Radiants;

Calls:

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

Roll

function Roll  
(Matrix: Matrix_3D)
return Radiants;

References:

rotations.ads:53:13 (declaration)
rotations.adb:361:13 (body)
rotations.adb:369:8 (label)

Calls:

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

Pitch

function Pitch 
(Matrix: Matrix_3D)
return Radiants;

References:

rotations.ads:54:13 (declaration)
rotations.adb:373:13 (body)
rotations.adb:377:8 (label)

Calls:

Ada.Numerics.Generic_Elementary_Functions.Arcsin defined at a-ngelfu.ads:37:13

Yaw

function Yaw   
(Matrix: Matrix_3D)
return Radiants;

References:

rotations.ads:55:13 (declaration)
rotations.adb:381:13 (body)
rotations.adb:389:8 (label)

Calls:

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

To_Matrix_3D

function To_Matrix_3D        
(Quad: Quaternion_Rotation)
return Matrix_3D;

References:

rotations.ads:57:13 (declaration)
rotations.adb:241:13 (body)
rotations.adb:264:8 (label)

To_Matrix_3D_OpenGL

function To_Matrix_3D_OpenGL 
(Quad: Quaternion_Rotation)
return Matrix_3D;

References:

rotations.ads:58:13 (declaration)
rotations.adb:268:13 (body)
rotations.adb:291:8 (label)

To_Matrix_4D

function To_Matrix_4D        
(Quad: Quaternion_Rotation)
return Matrix_4D;

References:

rotations.ads:59:13 (declaration)
rotations.adb:295:13 (body)
rotations.adb:319:8 (label)

To_Matrix_3D

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

References:

rotations.ads:61:13 (declaration)
rotations.adb:454:13 (body)
rotations.adb:481:8 (label)

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:30:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:28:13
Matrices.* defined at matrices.ads:16:13

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;

References:

rotations.ads:62:13 (declaration)
graphics_opengl.adb:30:47 (reference)
rotations.adb:393:13 (body)
rotations.adb:450:8 (label)

Calls:

Ada.Numerics.Generic_Elementary_Functions.Cos defined at a-ngelfu.ads:30:13
Ada.Numerics.Generic_Elementary_Functions.Sin defined at a-ngelfu.ads:28:13
Matrices.* defined at matrices.ads:16:13
Rotations.To_Matrix_3D_OpenGL.Column_First_Mirror defined at rotations.adb:422:16