aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
diff options
context:
space:
mode:
authorHomer Horwitz2008-12-31 19:35:46 +0000
committerHomer Horwitz2008-12-31 19:35:46 +0000
commit4b760bba79ad92b00423c5930d19a85f6c36722e (patch)
treebafbe1c83bf1cf48d3b321b23923e54379714b3a /OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
parentAdded a missing setMass for initializing the mass of prims (diff)
downloadopensim-SC_OLD-4b760bba79ad92b00423c5930d19a85f6c36722e.zip
opensim-SC_OLD-4b760bba79ad92b00423c5930d19a85f6c36722e.tar.gz
opensim-SC_OLD-4b760bba79ad92b00423c5930d19a85f6c36722e.tar.bz2
opensim-SC_OLD-4b760bba79ad92b00423c5930d19a85f6c36722e.tar.xz
- Added the fixed Ode.NET.dll
- Adapted code to match the corrected signatures - Fixes Mantis #2934. Hopefully. Note: Physics on linked objects still don't work correctly: It doesn't crash the region anymore, but the example object in the mentioned mantis now falls through the ground.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODEPrim.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs10
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index f012a2f..bfb9b1a 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -987,8 +987,8 @@ namespace OpenSim.Region.Physics.OdePlugin
987 987
988 d.Matrix3 mat = new d.Matrix3(); 988 d.Matrix3 mat = new d.Matrix3();
989 d.RfromQ(out mat, ref quat); 989 d.RfromQ(out mat, ref quat);
990 d.MassRotate(out m2, ref mat); 990 d.MassRotate(ref m2, ref mat);
991 d.MassTranslate(out m2, Position.X - prm.Position.X, Position.Y - prm.Position.Y, Position.Z - prm.Position.Z); 991 d.MassTranslate(ref m2, Position.X - prm.Position.X, Position.Y - prm.Position.Y, Position.Z - prm.Position.Z);
992 d.MassAdd(ref pMass, ref m2); 992 d.MassAdd(ref pMass, ref m2);
993 } 993 }
994 foreach (OdePrim prm in childrenPrim) 994 foreach (OdePrim prm in childrenPrim)
@@ -1025,7 +1025,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1025 // (Position.Z - prm.Position.Z) - pMass.c.Z); 1025 // (Position.Z - prm.Position.Z) - pMass.c.Z);
1026 d.GeomSetOffsetWorldRotation(prm.prim_geom, ref mat); 1026 d.GeomSetOffsetWorldRotation(prm.prim_geom, ref mat);
1027 //d.GeomSetOffsetRotation(prm.prim_geom, ref mat); 1027 //d.GeomSetOffsetRotation(prm.prim_geom, ref mat);
1028 d.MassTranslate(out pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); 1028 d.MassTranslate(ref pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z);
1029 d.BodySetMass(Body, ref pMass); 1029 d.BodySetMass(Body, ref pMass);
1030 } 1030 }
1031 else 1031 else
@@ -1069,9 +1069,9 @@ namespace OpenSim.Region.Physics.OdePlugin
1069 // (Position.Y - prm.Position.Y) - pMass.c.Y, 1069 // (Position.Y - prm.Position.Y) - pMass.c.Y,
1070 // (Position.Z - prm.Position.Z) - pMass.c.Z); 1070 // (Position.Z - prm.Position.Z) - pMass.c.Z);
1071 //d.GeomSetOffsetRotation(prim_geom, ref mat2); 1071 //d.GeomSetOffsetRotation(prim_geom, ref mat2);
1072 d.MassTranslate(out pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); 1072 d.MassTranslate(ref pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z);
1073 d.BodySetMass(Body, ref pMass); 1073 d.BodySetMass(Body, ref pMass);
1074 1074
1075 d.BodySetAutoDisableFlag(Body, true); 1075 d.BodySetAutoDisableFlag(Body, true);
1076 d.BodySetAutoDisableSteps(Body, body_autodisable_frames); 1076 d.BodySetAutoDisableSteps(Body, body_autodisable_frames);
1077 1077