Add initial prototype.

This commit is contained in:
Rod Kay
2022-07-31 17:34:54 +10:00
commit 54a53b2ac0
1421 changed files with 358874 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
with
float_Math.Geometry.D2,
float_Math.Geometry.D3,
float_Math.Algebra.linear.D3;
package Physics
--
-- Provides a physics interface for 2D/3D simulations.
--
is
pragma Pure;
package Math renames float_Math;
package Geometry_2D renames math.Geometry.d2;
package Geometry_3D renames math.Geometry.d3;
package linear_Algebra_3D renames math.Algebra.linear.d3;
use Math;
type Vector_2_array is array (Positive range <>) of Vector_2;
type Vector_3_array is array (Positive range <>) of Vector_3;
type Heightfield is array (Positive range <>,
Positive range <>) of aliased Real;
type space_Kind is (Bullet, Box2D);
max_Models : constant := 2**32 - 1;
type model_Id is range 0 .. max_Models;
null_model_Id : constant physics.model_Id;
unsupported_Error : exception;
--
-- Raised when a shape or joint is not supported in a space.
private
null_model_Id : constant physics.model_Id := 0;
end Physics;