diff options
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs index 6967108..b0cc63c 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | |||
@@ -53,9 +53,9 @@ public class BSLinkset | |||
53 | 53 | ||
54 | // We keep the prim's mass in the linkset structure since it could be dependent on other prims | 54 | // We keep the prim's mass in the linkset structure since it could be dependent on other prims |
55 | private float m_mass; | 55 | private float m_mass; |
56 | public float LinksetMass | 56 | public float LinksetMass |
57 | { | 57 | { |
58 | get | 58 | get |
59 | { | 59 | { |
60 | m_mass = ComputeLinksetMass(); | 60 | m_mass = ComputeLinksetMass(); |
61 | return m_mass; | 61 | return m_mass; |
@@ -77,7 +77,7 @@ public class BSLinkset | |||
77 | // A simple linkset of one (no children) | 77 | // A simple linkset of one (no children) |
78 | LinksetID = m_nextLinksetID++; | 78 | LinksetID = m_nextLinksetID++; |
79 | // We create LOTS of linksets. | 79 | // We create LOTS of linksets. |
80 | if (m_nextLinksetID <= 0) | 80 | if (m_nextLinksetID <= 0) |
81 | m_nextLinksetID = 1; | 81 | m_nextLinksetID = 1; |
82 | PhysicsScene = scene; | 82 | PhysicsScene = scene; |
83 | LinksetRoot = parent; | 83 | LinksetRoot = parent; |
@@ -276,7 +276,7 @@ public class BSLinkset | |||
276 | BSConstraint constrain; | 276 | BSConstraint constrain; |
277 | if (PhysicsScene.Constraints.TryGetConstraint(LinksetRoot.BSBody, child.BSBody, out constrain)) | 277 | if (PhysicsScene.Constraints.TryGetConstraint(LinksetRoot.BSBody, child.BSBody, out constrain)) |
278 | { | 278 | { |
279 | // DetailLog("{0},BSLinkset.RecomputeLinksetConstraintVariables,taint,child={1},mass={2},A={3},B={4}", | 279 | // DetailLog("{0},BSLinkset.RecomputeLinksetConstraintVariables,taint,child={1},mass={2},A={3},B={4}", |
280 | // LinksetRoot.LocalID, child.LocalID, linksetMass, constrain.Body1.ID, constrain.Body2.ID); | 280 | // LinksetRoot.LocalID, child.LocalID, linksetMass, constrain.Body1.ID, constrain.Body2.ID); |
281 | constrain.RecomputeConstraintVariables(linksetMass); | 281 | constrain.RecomputeConstraintVariables(linksetMass); |
282 | } | 282 | } |
@@ -392,14 +392,14 @@ public class BSLinkset | |||
392 | 392 | ||
393 | // create a constraint that allows no freedom of movement between the two objects | 393 | // create a constraint that allows no freedom of movement between the two objects |
394 | // http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4818 | 394 | // http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=4818 |
395 | DetailLog("{0},PhysicallyLinkAChildToRoot,taint,root={1},rBody={2},child={3},cBody={4},rLoc={5},cLoc={6},midLoc={7}", | 395 | DetailLog("{0},PhysicallyLinkAChildToRoot,taint,root={1},rBody={2},child={3},cBody={4},rLoc={5},cLoc={6},midLoc={7}", |
396 | rootPrim.LocalID, | 396 | rootPrim.LocalID, |
397 | rootPrim.LocalID, rootBody.ptr.ToString("X"), | 397 | rootPrim.LocalID, rootBody.ptr.ToString("X"), |
398 | childPrim.LocalID, childBody.ptr.ToString("X"), | 398 | childPrim.LocalID, childBody.ptr.ToString("X"), |
399 | rootPrim.Position, childPrim.Position, midPoint); | 399 | rootPrim.Position, childPrim.Position, midPoint); |
400 | 400 | ||
401 | // There is great subtlty in these paramters. Notice the check for a ptr of zero. | 401 | // There is great subtlty in these paramters. Notice the check for a ptr of zero. |
402 | // We pass the BulletBody structure into the taint in order to capture the pointer | 402 | // We pass the BulletBody structure into the taint in order to capture the pointer |
403 | // of the body at the time of constraint creation. This doesn't work for the very first | 403 | // of the body at the time of constraint creation. This doesn't work for the very first |
404 | // construction because there is no body yet. The body | 404 | // construction because there is no body yet. The body |
405 | // is constructed later at taint time. Thus we use the body address at time of the | 405 | // is constructed later at taint time. Thus we use the body address at time of the |
@@ -409,8 +409,8 @@ public class BSLinkset | |||
409 | // to only change BSShape at taint time thus syncronizing these operations at | 409 | // to only change BSShape at taint time thus syncronizing these operations at |
410 | // the cost of efficiency and lag. | 410 | // the cost of efficiency and lag. |
411 | BS6DofConstraint constrain = new BS6DofConstraint( | 411 | BS6DofConstraint constrain = new BS6DofConstraint( |
412 | PhysicsScene.World, | 412 | PhysicsScene.World, |
413 | rootBody.ptr == IntPtr.Zero ? rootPrim.BSBody : rootBody, | 413 | rootBody.ptr == IntPtr.Zero ? rootPrim.BSBody : rootBody, |
414 | childBody.ptr == IntPtr.Zero ? childPrim.BSBody : childBody, | 414 | childBody.ptr == IntPtr.Zero ? childPrim.BSBody : childBody, |
415 | midPoint, | 415 | midPoint, |
416 | true, | 416 | true, |
@@ -473,11 +473,11 @@ public class BSLinkset | |||
473 | // The root and child bodies are passed in because we need to remove the constraint between | 473 | // The root and child bodies are passed in because we need to remove the constraint between |
474 | // the bodies that were at unlink time. | 474 | // the bodies that were at unlink time. |
475 | // Called at taint time! | 475 | // Called at taint time! |
476 | private void PhysicallyUnlinkAChildFromRoot(BSPhysObject rootPrim, BulletBody rootBody, | 476 | private void PhysicallyUnlinkAChildFromRoot(BSPhysObject rootPrim, BulletBody rootBody, |
477 | BSPhysObject childPrim, BulletBody childBody) | 477 | BSPhysObject childPrim, BulletBody childBody) |
478 | { | 478 | { |
479 | DetailLog("{0},PhysicallyUnlinkAChildFromRoot,taint,root={1},rBody={2},child={3},cBody={4}", | 479 | DetailLog("{0},PhysicallyUnlinkAChildFromRoot,taint,root={1},rBody={2},child={3},cBody={4}", |
480 | rootPrim.LocalID, | 480 | rootPrim.LocalID, |
481 | rootPrim.LocalID, rootBody.ptr.ToString("X"), | 481 | rootPrim.LocalID, rootBody.ptr.ToString("X"), |
482 | childPrim.LocalID, childBody.ptr.ToString("X")); | 482 | childPrim.LocalID, childBody.ptr.ToString("X")); |
483 | 483 | ||