Add initial prototype.
This commit is contained in:
67
3-mid/physics/interface/source/physics-object.adb
Normal file
67
3-mid/physics/interface/source/physics-object.adb
Normal file
@@ -0,0 +1,67 @@
|
||||
with
|
||||
ada.unchecked_Deallocation;
|
||||
|
||||
package body physics.Object
|
||||
is
|
||||
|
||||
procedure free (Self : in out View)
|
||||
is
|
||||
procedure deallocate is new ada.unchecked_Deallocation (Item'Class, View);
|
||||
begin
|
||||
if Self /= null then
|
||||
Self.destruct;
|
||||
end if;
|
||||
|
||||
deallocate (Self);
|
||||
end free;
|
||||
|
||||
|
||||
|
||||
protected
|
||||
body safe_Dynamics
|
||||
is
|
||||
|
||||
procedure set (To : in Matrix_4x4)
|
||||
is
|
||||
begin
|
||||
Dynamics := To;
|
||||
end set;
|
||||
|
||||
function get return Matrix_4x4
|
||||
is
|
||||
begin
|
||||
return Dynamics;
|
||||
end get;
|
||||
|
||||
procedure set_Spin (To : in Matrix_3x3)
|
||||
is
|
||||
use linear_Algebra_3D;
|
||||
begin
|
||||
set_Rotation (Dynamics, To);
|
||||
end set_Spin;
|
||||
|
||||
function get_Spin return Matrix_3x3
|
||||
is
|
||||
use linear_Algebra_3D;
|
||||
begin
|
||||
return get_Rotation (Dynamics);
|
||||
end get_Spin;
|
||||
|
||||
procedure set_Site (To : in Vector_3)
|
||||
is
|
||||
use linear_Algebra_3D;
|
||||
begin
|
||||
set_Translation (Dynamics, To);
|
||||
end set_Site;
|
||||
|
||||
function get_Site return Vector_3
|
||||
is
|
||||
use linear_Algebra_3D;
|
||||
begin
|
||||
return get_Translation (Dynamics);
|
||||
end get_Site;
|
||||
|
||||
end safe_Dynamics;
|
||||
|
||||
|
||||
end physics.Object;
|
||||
Reference in New Issue
Block a user