aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
diff options
context:
space:
mode:
authorRobert Adams2012-08-15 16:27:30 -0700
committerRobert Adams2012-08-15 16:29:50 -0700
commit376441e5507052b36279279f64896542d44ec12a (patch)
tree0dd9e1df759f76eb516c1ce5efca1829f658d76e /OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
parentBulletSim: update DLLs and SOs to fix the problem with avatars jumping around... (diff)
downloadopensim-SC-376441e5507052b36279279f64896542d44ec12a.zip
opensim-SC-376441e5507052b36279279f64896542d44ec12a.tar.gz
opensim-SC-376441e5507052b36279279f64896542d44ec12a.tar.bz2
opensim-SC-376441e5507052b36279279f64896542d44ec12a.tar.xz
BulletSim: make it so objects in a linkset do not generate collisions with each other.
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
index 9c20004..c157669 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
@@ -1353,6 +1353,7 @@ public sealed class BSPrim : PhysicsActor
1353 } 1353 }
1354 1354
1355 // I've collided with something 1355 // I've collided with something
1356 // Called at taint time from within the Step() function
1356 CollisionEventUpdate collisionCollection; 1357 CollisionEventUpdate collisionCollection;
1357 public void Collide(uint collidingWith, ActorTypes type, OMV.Vector3 contactPoint, OMV.Vector3 contactNormal, float pentrationDepth) 1358 public void Collide(uint collidingWith, ActorTypes type, OMV.Vector3 contactPoint, OMV.Vector3 contactNormal, float pentrationDepth)
1358 { 1359 {
@@ -1366,6 +1367,15 @@ public sealed class BSPrim : PhysicsActor
1366 } 1367 }
1367 1368
1368 // DetailLog("{0},BSPrim.Collison,call,with={1}", LocalID, collidingWith); 1369 // DetailLog("{0},BSPrim.Collison,call,with={1}", LocalID, collidingWith);
1370 BSPrim collidingWithPrim;
1371 if (_scene.Prims.TryGetValue(collidingWith, out collidingWithPrim))
1372 {
1373 // prims in the same linkset cannot collide with each other
1374 if (this.Linkset.LinksetID == collidingWithPrim.Linkset.LinksetID)
1375 {
1376 return;
1377 }
1378 }
1369 1379
1370 // if someone is subscribed to collision events.... 1380 // if someone is subscribed to collision events....
1371 if (_subscribedEventsMs != 0) { 1381 if (_subscribedEventsMs != 0) {