aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
index 6f2cbbe..4adf87e 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEPrim.cs
@@ -306,7 +306,12 @@ namespace OpenSim.Region.PhysicsModule.ubOde
306 public override uint LocalID 306 public override uint LocalID
307 { 307 {
308 get { return m_localID; } 308 get { return m_localID; }
309 set { m_localID = value; } 309 set
310 {
311 uint oldid = m_localID;
312 m_localID = value;
313 _parent_scene.changePrimID(this, oldid);
314 }
310 } 315 }
311 316
312 public override PhysicsActor ParentActor 317 public override PhysicsActor ParentActor
@@ -1066,8 +1071,10 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1066 public OdePrim(String primName, ODEScene parent_scene, Vector3 pos, Vector3 size, 1071 public OdePrim(String primName, ODEScene parent_scene, Vector3 pos, Vector3 size,
1067 Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical,bool pisPhantom,byte _shapeType,uint plocalID) 1072 Quaternion rotation, PrimitiveBaseShape pbs, bool pisPhysical,bool pisPhantom,byte _shapeType,uint plocalID)
1068 { 1073 {
1074 _parent_scene = parent_scene;
1075
1069 Name = primName; 1076 Name = primName;
1070 LocalID = plocalID; 1077 m_localID = plocalID;
1071 1078
1072 m_vehicle = null; 1079 m_vehicle = null;
1073 1080
@@ -1113,7 +1120,6 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1113 1120
1114 _pbs = pbs; 1121 _pbs = pbs;
1115 1122
1116 _parent_scene = parent_scene;
1117 m_targetSpace = IntPtr.Zero; 1123 m_targetSpace = IntPtr.Zero;
1118 1124
1119 if (pos.Z < 0) 1125 if (pos.Z < 0)
@@ -1159,6 +1165,8 @@ namespace OpenSim.Region.PhysicsModule.ubOde
1159 m_OBBOffset = repData.OBBOffset; 1165 m_OBBOffset = repData.OBBOffset;
1160 1166
1161 UpdatePrimBodyData(); 1167 UpdatePrimBodyData();
1168
1169 AddChange(changes.Add, null);
1162 } 1170 }
1163 1171
1164 private void resetCollisionAccounting() 1172 private void resetCollisionAccounting()
@@ -2441,6 +2449,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
2441 2449
2442 private void changeadd() 2450 private void changeadd()
2443 { 2451 {
2452 _parent_scene.addToPrims(this);
2444 } 2453 }
2445 2454
2446 private void changeAngularLock(byte newLocks) 2455 private void changeAngularLock(byte newLocks)