diff options
Diffstat (limited to 'OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs')
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs index b506b1c..c363310 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs | |||
@@ -106,7 +106,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
106 | private bool m_freemove = false; | 106 | private bool m_freemove = false; |
107 | // private CollisionLocker ode; | 107 | // private CollisionLocker ode; |
108 | 108 | ||
109 | private string m_name = String.Empty; | 109 | // private string m_name = String.Empty; |
110 | // other filter control | 110 | // other filter control |
111 | int m_colliderfilter = 0; | 111 | int m_colliderfilter = 0; |
112 | int m_colliderGroundfilter = 0; | 112 | int m_colliderGroundfilter = 0; |
@@ -183,7 +183,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
183 | 183 | ||
184 | m_isPhysical = false; // current status: no ODE information exists | 184 | m_isPhysical = false; // current status: no ODE information exists |
185 | 185 | ||
186 | m_name = avName; | 186 | Name = avName; |
187 | 187 | ||
188 | AddChange(changes.Add, null); | 188 | AddChange(changes.Add, null); |
189 | } | 189 | } |
@@ -218,6 +218,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
218 | set { m_localID = value; } | 218 | set { m_localID = value; } |
219 | } | 219 | } |
220 | 220 | ||
221 | public override PhysicsActor ParentActor | ||
222 | { | ||
223 | get { return (PhysicsActor)this; } | ||
224 | } | ||
225 | |||
221 | public override bool Grabbed | 226 | public override bool Grabbed |
222 | { | 227 | { |
223 | set { return; } | 228 | set { return; } |
@@ -740,7 +745,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
740 | //kill the Geometry | 745 | //kill the Geometry |
741 | if (Shell != IntPtr.Zero) | 746 | if (Shell != IntPtr.Zero) |
742 | { | 747 | { |
743 | _parent_scene.geom_name_map.Remove(Shell); | 748 | // _parent_scene.geom_name_map.Remove(Shell); |
744 | _parent_scene.actor_name_map.Remove(Shell); | 749 | _parent_scene.actor_name_map.Remove(Shell); |
745 | _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); | 750 | _parent_scene.waitForSpaceUnlock(_parent_scene.ActiveSpace); |
746 | d.GeomDestroy(Shell); | 751 | d.GeomDestroy(Shell); |
@@ -1115,7 +1120,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1115 | m_eventsubscription = 0; | 1120 | m_eventsubscription = 0; |
1116 | } | 1121 | } |
1117 | 1122 | ||
1118 | public void AddCollisionEvent(uint CollidedWith, ContactPoint contact) | 1123 | public override void AddCollisionEvent(uint CollidedWith, ContactPoint contact) |
1119 | { | 1124 | { |
1120 | if (CollisionEventsThisFrame == null) | 1125 | if (CollisionEventsThisFrame == null) |
1121 | CollisionEventsThisFrame = new CollisionEventUpdate(); | 1126 | CollisionEventsThisFrame = new CollisionEventUpdate(); |
@@ -1184,7 +1189,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1184 | } | 1189 | } |
1185 | 1190 | ||
1186 | AvatarGeomAndBodyCreation(_position.X, _position.Y, _position.Z); | 1191 | AvatarGeomAndBodyCreation(_position.X, _position.Y, _position.Z); |
1187 | _parent_scene.geom_name_map[Shell] = m_name; | 1192 | |
1188 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; | 1193 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; |
1189 | _parent_scene.AddCharacter(this); | 1194 | _parent_scene.AddCharacter(this); |
1190 | } | 1195 | } |
@@ -1236,7 +1241,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1236 | 1241 | ||
1237 | Velocity = Vector3.Zero; | 1242 | Velocity = Vector3.Zero; |
1238 | 1243 | ||
1239 | _parent_scene.geom_name_map[Shell] = m_name; | ||
1240 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; | 1244 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; |
1241 | } | 1245 | } |
1242 | else | 1246 | else |