-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaterials.adb
32 lines (27 loc) · 910 Bytes
/
materials.adb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package body Materials is
function SetStatic(This : Material) return Material is
That : Material := This;
begin
That.Density := 0.0;
return That;
end SetStatic;
function SetFriction(This : Material; FStatic, FDynamic : Float := 0.0) return Material is
That : Material := This;
begin
That.StaticFriction := FStatic;
That.DynamicFriction := FDynamic;
return That;
end SetFriction;
-- Allows you to change restitution for a material
-- Disables it by default
function SetRestitution(This : Material; Rest : Float := 0.0) return Material is
That : Material := This;
begin
That.Restitution := Rest;
return That;
end SetRestitution;
function IsSolidMaterial(This : Material) return Boolean is
begin
return (MaterialType'Pos(This.MType) < MaterialType'Pos(ETVacuum));
end IsSolidMaterial;
end Materials;