diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 7 |
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 | } |