Add initial prototype.
This commit is contained in:
41
3-mid/opengl/source/lean/model/opengl-model-box.ads
Normal file
41
3-mid/opengl/source/lean/model/opengl-model-box.ads
Normal 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;
|
||||
Reference in New Issue
Block a user