gel.world: Work on dsa.

This commit is contained in:
Rod Kay
2023-11-17 15:09:14 +11:00
parent fa02760f9c
commit c921b638a1
8 changed files with 207 additions and 116 deletions

View File

@@ -164,7 +164,7 @@ is
procedure Write (Stream : not null access ada.Streams.Root_Stream_type'Class;
the_Event : in new_model_Event)
the_Event : in new_graphics_model_Event)
is
begin
openGL.remote_Model.item'Class'Output (Stream,
@@ -174,7 +174,7 @@ is
procedure Read (Stream : not null access ada.Streams.Root_Stream_type'Class;
the_Event : out new_model_Event)
the_Event : out new_graphics_model_Event)
is
begin
the_Event.Model := new openGL.remote_Model.item'Class' (openGL.remote_Model.item'Class'Input (Stream));

View File

@@ -27,6 +27,7 @@ is
type View is access all Item'Class with asynchronous;
-----------
-- Mirrors
--
@@ -39,6 +40,7 @@ is
procedure deregister (Self : access Item; the_Mirror : in World.view) is abstract;
----------
-- Models
--
@@ -52,26 +54,26 @@ is
function Hash is new ada.unchecked_Conversion (gel.graphics_model_Id, ada.containers.Hash_type);
use type gel.graphics_model_Id;
package id_Maps_of_model_plan is new ada.Containers.indefinite_Hashed_Maps (gel.graphics_model_Id,
openGL.remote_Model.item'Class,
Hash,
"=");
subtype graphics_Model_Set is id_Maps_of_model_plan.Map; -- TODO: Rename to id_Map_of_graphics_model_plan.
package id_Maps_of_graphics_model is new ada.Containers.indefinite_Hashed_Maps (gel.graphics_model_Id,
openGL.remote_Model.item'Class,
Hash,
"=");
subtype id_Map_of_graphics_model is id_Maps_of_graphics_model.Map;
function graphics_Models (Self : in Item) return graphics_Model_Set is abstract;
function graphics_Models (Self : in Item) return id_Map_of_graphics_model is abstract;
type new_model_Event is new lace.Event.item with
type new_graphics_model_Event is new lace.Event.item with
record
Model : access openGL.remote_Model.item'Class;
end record;
procedure Write (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : in new_model_Event);
procedure Read (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : out new_model_Event);
procedure Write (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : in new_graphics_model_Event);
procedure Read (Stream : not null access ada.Streams.Root_Stream_type'Class; the_Event : out new_graphics_model_Event);
for new_model_Event'write use write;
for new_model_Event'read use read;
for new_graphics_model_Event'write use write;
for new_graphics_model_Event'read use read;
-- Physics
@@ -83,13 +85,13 @@ is
use type physics.model_Id;
function Hash is new ada.unchecked_Conversion (physics.model_Id, ada.containers.Hash_type);
package id_Maps_of_physics_model_plan is new ada.containers.indefinite_Hashed_Maps (physics.model_Id,
physics.remote.Model.item'Class,
Hash,
"=");
subtype physics_Model_Set is id_Maps_of_physics_model_plan.Map; -- TODO: Rename to id_Map_of_physics_model_plan.
package id_Maps_of_physics_model is new ada.containers.indefinite_Hashed_Maps (physics.model_Id,
physics.remote.Model.item'Class,
Hash,
"=");
subtype id_Map_of_physics_model is id_Maps_of_physics_model.Map;
function physics_Models (Self : in Item) return physics_Model_Set is abstract;
function physics_Models (Self : in Item) return id_Map_of_physics_model is abstract;
type new_physics_model_Event is new lace.Event.item with