aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorDahlia Trimble2008-12-22 09:29:59 +0000
committerDahlia Trimble2008-12-22 09:29:59 +0000
commit6e68a11082c0928395450d70fcb5b3f18bdfb35f (patch)
tree2276875a4b59b60f412f2f92d77bdffe69dd9713 /OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
parenttest commit - no functional change (diff)
downloadopensim-SC_OLD-6e68a11082c0928395450d70fcb5b3f18bdfb35f.zip
opensim-SC_OLD-6e68a11082c0928395450d70fcb5b3f18bdfb35f.tar.gz
opensim-SC_OLD-6e68a11082c0928395450d70fcb5b3f18bdfb35f.tar.bz2
opensim-SC_OLD-6e68a11082c0928395450d70fcb5b3f18bdfb35f.tar.xz
Thanks Gerhard for a patch that implements part 3 of VolumeDetection / persistance
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 0315c92..ddfb413 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -1281,11 +1281,15 @@ if (m_shape != null) {
1281 /// </summary> 1281 /// </summary>
1282 /// <param name="rootObjectFlags"></param> 1282 /// <param name="rootObjectFlags"></param>
1283 /// <param name="m_physicalPrim"></param> 1283 /// <param name="m_physicalPrim"></param>
1284 public void ApplyPhysics(uint rootObjectFlags, bool m_physicalPrim) 1284 public void ApplyPhysics(uint rootObjectFlags, bool VolumeDetectActive, bool m_physicalPrim)
1285 { 1285 {
1286 bool isPhysical = (((rootObjectFlags & (uint) PrimFlags.Physics) != 0) && m_physicalPrim); 1286 bool isPhysical = (((rootObjectFlags & (uint) PrimFlags.Physics) != 0) && m_physicalPrim);
1287 bool isPhantom = ((rootObjectFlags & (uint) PrimFlags.Phantom) != 0); 1287 bool isPhantom = ((rootObjectFlags & (uint) PrimFlags.Phantom) != 0);
1288 1288
1289 // Special case for VolumeDetection: If VolumeDetection is set, the phantom flag is locally ignored
1290 if (VolumeDetectActive)
1291 isPhantom = false;
1292
1289 // Added clarification.. since A rigid body is an object that you can kick around, etc. 1293 // Added clarification.. since A rigid body is an object that you can kick around, etc.
1290 bool RigidBody = isPhysical && !isPhantom; 1294 bool RigidBody = isPhysical && !isPhantom;
1291 1295
@@ -1305,6 +1309,7 @@ if (m_shape != null) {
1305 { 1309 {
1306 PhysActor.LocalID = LocalId; 1310 PhysActor.LocalID = LocalId;
1307 DoPhysicsPropertyUpdate(RigidBody, true); 1311 DoPhysicsPropertyUpdate(RigidBody, true);
1312 PhysActor.SetVolumeDetect(VolumeDetectActive ? 1 : 0);
1308 } 1313 }
1309 } 1314 }
1310 } 1315 }