diff options
author | Robert Adams | 2012-10-10 13:56:16 -0700 |
---|---|---|
committer | Robert Adams | 2012-10-11 14:01:18 -0700 |
commit | 3a458e2a36253f6514720213deaa19372b06cc52 (patch) | |
tree | 7d0d849232391402e74bf83909e4256ce890abb5 /OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | |
parent | BulletSim: Change defaults for constraint CFM and ERP to make large linksets ... (diff) | |
download | opensim-SC-3a458e2a36253f6514720213deaa19372b06cc52.zip opensim-SC-3a458e2a36253f6514720213deaa19372b06cc52.tar.gz opensim-SC-3a458e2a36253f6514720213deaa19372b06cc52.tar.bz2 opensim-SC-3a458e2a36253f6514720213deaa19372b06cc52.tar.xz |
BulletSim: Use full linkset mass when computing vehicle gravity force. Add taint-time specification to new AddForce().
Diffstat (limited to 'OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs index b84ccdc..43b1262 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs | |||
@@ -165,13 +165,11 @@ public class BSLinkset | |||
165 | // May be called at runtime or taint-time (just pass the appropriate flag). | 165 | // May be called at runtime or taint-time (just pass the appropriate flag). |
166 | public void Refresh(BSPhysObject requestor, bool inTaintTime) | 166 | public void Refresh(BSPhysObject requestor, bool inTaintTime) |
167 | { | 167 | { |
168 | // If there are no children, there can't be any constraints to recompute | 168 | // If there are no children, not physical or not root, I am not the one that recomputes the constraints |
169 | if (!HasAnyChildren) | 169 | // (For the moment, static linksets do create constraints so remove the test for physical.) |
170 | if (!HasAnyChildren || /*!requestor.IsPhysical ||*/ !IsRoot(requestor)) | ||
170 | return; | 171 | return; |
171 | 172 | ||
172 | // Only the root does the recomputation | ||
173 | if (IsRoot(requestor)) | ||
174 | { | ||
175 | BSScene.TaintCallback refreshOperation = delegate() | 173 | BSScene.TaintCallback refreshOperation = delegate() |
176 | { | 174 | { |
177 | RecomputeLinksetConstraintVariables(); | 175 | RecomputeLinksetConstraintVariables(); |
@@ -182,7 +180,6 @@ public class BSLinkset | |||
182 | refreshOperation(); | 180 | refreshOperation(); |
183 | else | 181 | else |
184 | PhysicsScene.TaintedObject("BSLinkSet.Refresh", refreshOperation); | 182 | PhysicsScene.TaintedObject("BSLinkSet.Refresh", refreshOperation); |
185 | } | ||
186 | } | 183 | } |
187 | 184 | ||
188 | // The object is going dynamic (physical). Do any setup necessary | 185 | // The object is going dynamic (physical). Do any setup necessary |