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,41 @@
package openGL.Model.box
--
-- Provides an abstract model of a box.
--
is
type Item is abstract new Model.item with private;
type Side is (Front, Rear,
Upper, Lower,
Left, Right);
function Size (Self : in Item) return Vector_3;
private
type Item is abstract new Model.item with
record
Size : Vector_3;
end record;
type site_Id is ( Left_Lower_Front, Right_Lower_Front,
Right_Upper_Front, Left_Upper_Front,
Right_Lower_Rear, Left_Lower_Rear,
Left_Upper_Rear, Right_Upper_Rear);
type Sites is array (site_Id) of Site;
front_Normal : constant Vector_3 := [ 0.0, 0.0, 1.0];
rear_Normal : constant Vector_3 := [ 0.0, 0.0, -1.0];
upper_Normal : constant Vector_3 := [ 0.0, 1.0, 0.0];
lower_Normal : constant Vector_3 := [ 0.0, -1.0, 0.0];
left_Normal : constant Vector_3 := [-1.0, 0.0, 0.0];
right_Normal : constant Vector_3 := [ 1.0, 0.0, 0.0];
function vertex_Sites (Self : in Item'Class) return Sites;
end openGL.Model.box;