aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
diff options
context:
space:
mode:
authorUbitUmarov2012-04-09 20:58:40 +0100
committerUbitUmarov2012-04-09 20:58:40 +0100
commit39079a62c038986b20ccc3cf89a2e169f6e6135f (patch)
tree465e2c3a2dae0a9351f4f673c78df6175ec05555 /OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
parent llGetMass and llGetObjectMass (and push estimation) always use object mass a... (diff)
downloadopensim-SC-39079a62c038986b20ccc3cf89a2e169f6e6135f.zip
opensim-SC-39079a62c038986b20ccc3cf89a2e169f6e6135f.tar.gz
opensim-SC-39079a62c038986b20ccc3cf89a2e169f6e6135f.tar.bz2
opensim-SC-39079a62c038986b20ccc3cf89a2e169f6e6135f.tar.xz
chODE and ubitODE always return prim mass (they where returning object mass on physical prims) so SOG can do the total add. (ubitODE as more code to use a simpler terrain geom on a modified ode lib but should do autodetect and work with normal lib).
Diffstat (limited to 'OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs')
-rw-r--r--OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
index 3e2b71c..77ea2af 100644
--- a/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/ChOdePlugin/ODEPrim.cs
@@ -179,6 +179,8 @@ namespace OpenSim.Region.Physics.OdePlugin
179 public bool m_outofBounds; 179 public bool m_outofBounds;
180 private float m_density = 10.000006836f; // Aluminum g/cm3; 180 private float m_density = 10.000006836f; // Aluminum g/cm3;
181 181
182 private float m_primMass = 10.000006836f; // Aluminum g/cm3;
183
182 private byte m_shapetype; 184 private byte m_shapetype;
183 private byte m_taintshapetype; 185 private byte m_taintshapetype;
184 186
@@ -538,7 +540,11 @@ namespace OpenSim.Region.Physics.OdePlugin
538 540
539 public override float Mass 541 public override float Mass
540 { 542 {
541 get { return CalculateMass(); } 543 get
544 {
545 CalculateMass();
546 return m_primMass;
547 }
542 } 548 }
543 549
544 public override Vector3 Force 550 public override Vector3 Force
@@ -1316,6 +1322,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1316 1322
1317 1323
1318 1324
1325 m_primMass = returnMass;
1326 if (m_primMass > _parent_scene.maximumMassObject)
1327 m_primMass = _parent_scene.maximumMassObject;
1319 1328
1320 // Recursively calculate mass 1329 // Recursively calculate mass
1321 bool HasChildPrim = false; 1330 bool HasChildPrim = false;