subtype Distances is Real;
subtype Acc_Scalar is Real;
subtype Positions is Point_3D;
subtype Velocities is Vector_3D;
subtype Accelerations is Vector_3D;
subtype Swarm_Element_Index is Positive;
subtype Throttle_T is Real range 0.0 .. 1.0;
type Vehicle_Charges is new Real range 0.0 .. 1.0;
type Energy_Globes is record Position : Positions; pragma Atomic (Position); Velocity : Velocities; pragma Atomic (Velocity); -- in delta-position per second end record;
type Energy_Globes_A is array (Positive range <>) of Energy_Globes;
Idle_Throttle : constant Throttle_T := 0.0;
Full_Throttle : constant Throttle_T := 1.0;
Empty_Charge : constant Vehicle_Charges := 0.0;
Half_Charge : constant Vehicle_Charges := 0.5;
Full_Charge : constant Vehicle_Charges := 1.0;