diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs index 28242d4..235da78 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrimLinkable.cs | |||
@@ -47,9 +47,9 @@ public class BSPrimLinkable : BSPrimDisplaced | |||
47 | OMV.Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical) | 47 | OMV.Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical) |
48 | : base(localID, primName, parent_scene, pos, size, rotation, pbs, pisPhysical) | 48 | : base(localID, primName, parent_scene, pos, size, rotation, pbs, pisPhysical) |
49 | { | 49 | { |
50 | Linkset = BSLinkset.Factory(PhysicsScene, this); | 50 | Linkset = BSLinkset.Factory(PhysScene, this); |
51 | 51 | ||
52 | PhysicsScene.TaintedObject("BSPrimLinksetCompound.Refresh", delegate() | 52 | PhysScene.TaintedObject("BSPrimLinksetCompound.Refresh", delegate() |
53 | { | 53 | { |
54 | Linkset.Refresh(this); | 54 | Linkset.Refresh(this); |
55 | }); | 55 | }); |
@@ -61,9 +61,6 @@ public class BSPrimLinkable : BSPrimDisplaced | |||
61 | base.Destroy(); | 61 | base.Destroy(); |
62 | } | 62 | } |
63 | 63 | ||
64 | public override BSPhysicsShapeType PreferredPhysicalShape | ||
65 | { get { return Linkset.PreferredPhysicalShape(this); } } | ||
66 | |||
67 | public override void link(Manager.PhysicsActor obj) | 64 | public override void link(Manager.PhysicsActor obj) |
68 | { | 65 | { |
69 | BSPrimLinkable parent = obj as BSPrimLinkable; | 66 | BSPrimLinkable parent = obj as BSPrimLinkable; |
@@ -102,7 +99,7 @@ public class BSPrimLinkable : BSPrimDisplaced | |||
102 | set | 99 | set |
103 | { | 100 | { |
104 | base.Position = value; | 101 | base.Position = value; |
105 | PhysicsScene.TaintedObject("BSPrimLinkset.setPosition", delegate() | 102 | PhysScene.TaintedObject("BSPrimLinkset.setPosition", delegate() |
106 | { | 103 | { |
107 | Linkset.UpdateProperties(UpdatedProperties.Position, this); | 104 | Linkset.UpdateProperties(UpdatedProperties.Position, this); |
108 | }); | 105 | }); |
@@ -116,7 +113,7 @@ public class BSPrimLinkable : BSPrimDisplaced | |||
116 | set | 113 | set |
117 | { | 114 | { |
118 | base.Orientation = value; | 115 | base.Orientation = value; |
119 | PhysicsScene.TaintedObject("BSPrimLinkset.setOrientation", delegate() | 116 | PhysScene.TaintedObject("BSPrimLinkset.setOrientation", delegate() |
120 | { | 117 | { |
121 | Linkset.UpdateProperties(UpdatedProperties.Orientation, this); | 118 | Linkset.UpdateProperties(UpdatedProperties.Orientation, this); |
122 | }); | 119 | }); |
@@ -149,10 +146,10 @@ public class BSPrimLinkable : BSPrimDisplaced | |||
149 | } | 146 | } |
150 | 147 | ||
151 | // Body is being taken apart. Remove physical dependencies and schedule a rebuild. | 148 | // Body is being taken apart. Remove physical dependencies and schedule a rebuild. |
152 | protected override void RemoveBodyDependencies() | 149 | protected override void RemoveDependencies() |
153 | { | 150 | { |
154 | Linkset.RemoveBodyDependencies(this); | 151 | Linkset.RemoveDependencies(this); |
155 | base.RemoveBodyDependencies(); | 152 | base.RemoveDependencies(); |
156 | } | 153 | } |
157 | 154 | ||
158 | public override void UpdateProperties(EntityProperties entprop) | 155 | public override void UpdateProperties(EntityProperties entprop) |
@@ -185,6 +182,10 @@ public class BSPrimLinkable : BSPrimDisplaced | |||
185 | { | 182 | { |
186 | return false; | 183 | return false; |
187 | } | 184 | } |
185 | |||
186 | // TODO: handle collisions of other objects with with children of linkset. | ||
187 | // This is a problem for LinksetCompound since the children are packed into the root. | ||
188 | |||
188 | return base.Collide(collidingWith, collidee, contactPoint, contactNormal, pentrationDepth); | 189 | return base.Collide(collidingWith, collidee, contactPoint, contactNormal, pentrationDepth); |
189 | } | 190 | } |
190 | } | 191 | } |