aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics
diff options
context:
space:
mode:
authorRobert Adams2012-10-14 19:23:35 -0700
committerRobert Adams2012-10-19 10:52:06 -0700
commiteaccfa6d99ac51b4963ae0fa457ff0d2b9ce65e7 (patch)
tree3fb006e93c8599a124369b2b4da16c72fea540ec /OpenSim/Region/Physics
parentBulletSim: Update BSCharacter to use API2 interface. (diff)
downloadopensim-SC-eaccfa6d99ac51b4963ae0fa457ff0d2b9ce65e7.zip
opensim-SC-eaccfa6d99ac51b4963ae0fa457ff0d2b9ce65e7.tar.gz
opensim-SC-eaccfa6d99ac51b4963ae0fa457ff0d2b9ce65e7.tar.bz2
opensim-SC-eaccfa6d99ac51b4963ae0fa457ff0d2b9ce65e7.tar.xz
BulletSim: Fix small problems with last patch: BSScene.World properly initialized and setting of C++ parameters commented out. Comments and logging added.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs2
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSScene.cs13
-rwxr-xr-xOpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs2
3 files changed, 6 insertions, 11 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
index 7c2f856..7bc6b69 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs
@@ -146,7 +146,7 @@ public class BSCharacter : BSPhysObject
146 146
147 ZeroMotion(); 147 ZeroMotion();
148 148
149 OMV.Vector3 localInertia = BulletSimAPI.CalculateLocalInertia2(BSBody.ptr, MassRaw); 149 OMV.Vector3 localInertia = BulletSimAPI.CalculateLocalInertia2(BSShape.ptr, MassRaw);
150 BulletSimAPI.SetMassProps2(BSBody.ptr, MassRaw, localInertia); 150 BulletSimAPI.SetMassProps2(BSBody.ptr, MassRaw, localInertia);
151 151
152 // Set the velocity and compute the proper friction 152 // Set the velocity and compute the proper friction
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index 5158011..7998b08 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -261,10 +261,6 @@ public class BSScene : PhysicsScene, IPhysicsParameters
261 m_maxUpdatesPerFrame, m_updateArrayPinnedHandle.AddrOfPinnedObject(), 261 m_maxUpdatesPerFrame, m_updateArrayPinnedHandle.AddrOfPinnedObject(),
262 m_DebugLogCallbackHandle)); 262 m_DebugLogCallbackHandle));
263 263
264 // Initialization to support the transition to a new API which puts most of the logic
265 // into the C# code so it is easier to modify and add to.
266 World = new BulletSim(WorldID, this, BulletSimAPI.GetSimHandle2(WorldID));
267
268 Constraints = new BSConstraintCollection(World); 264 Constraints = new BSConstraintCollection(World);
269 265
270 TerrainManager = new BSTerrainManager(this); 266 TerrainManager = new BSTerrainManager(this);
@@ -1251,10 +1247,9 @@ public class BSScene : PhysicsScene, IPhysicsParameters
1251 case PhysParameterEntry.APPLY_TO_NONE: 1247 case PhysParameterEntry.APPLY_TO_NONE:
1252 defaultLoc = val; // setting only the default value 1248 defaultLoc = val; // setting only the default value
1253 break; 1249 break;
1254 case PhysParameterEntry.APPLY_TO_ALL: 1250 case PhysParameterEntry.APPLY_TO_ALL:
1255 m_log.ErrorFormat("{0} Cannot change parameters of multiple objects. Someday it will be added.", LogHeader);
1256 /*
1257 defaultLoc = val; // setting ALL also sets the default value 1251 defaultLoc = val; // setting ALL also sets the default value
1252 /*
1258 List<uint> objectIDs = lIDs; 1253 List<uint> objectIDs = lIDs;
1259 string xparm = parm.ToLower(); 1254 string xparm = parm.ToLower();
1260 float xval = val; 1255 float xval = val;
@@ -1276,15 +1271,15 @@ public class BSScene : PhysicsScene, IPhysicsParameters
1276 // schedule the actual updating of the paramter to when the phys engine is not busy 1271 // schedule the actual updating of the paramter to when the phys engine is not busy
1277 protected void TaintedUpdateParameter(string parm, uint localID, float val) 1272 protected void TaintedUpdateParameter(string parm, uint localID, float val)
1278 { 1273 {
1274 /* Settings in the C++ code are not working at the moment. TODO: fix the settings.
1279 m_log.ErrorFormat("{0} Cannot change parameters of base objects. Someday it will be added.", LogHeader); 1275 m_log.ErrorFormat("{0} Cannot change parameters of base objects. Someday it will be added.", LogHeader);
1280 /*
1281 uint xlocalID = localID; 1276 uint xlocalID = localID;
1282 string xparm = parm.ToLower(); 1277 string xparm = parm.ToLower();
1283 float xval = val; 1278 float xval = val;
1284 TaintedObject("BSScene.TaintedUpdateParameter", delegate() { 1279 TaintedObject("BSScene.TaintedUpdateParameter", delegate() {
1285 BulletSimAPI.UpdateParameter(WorldID, xlocalID, xparm, xval); 1280 BulletSimAPI.UpdateParameter(WorldID, xlocalID, xparm, xval);
1286 }); 1281 });
1287 */ 1282 */
1288 } 1283 }
1289 1284
1290 // Get parameter. 1285 // Get parameter.
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
index 7d0f84a..5a77e52 100755
--- a/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSShapeCollection.cs
@@ -369,6 +369,7 @@ public class BSShapeCollection : IDisposable
369 // an avatar capsule is close to a native shape (it is not shared) 369 // an avatar capsule is close to a native shape (it is not shared)
370 ret = GetReferenceToNativeShape(prim, shapeData, ShapeData.PhysicsShapeType.SHAPE_AVATAR, 370 ret = GetReferenceToNativeShape(prim, shapeData, ShapeData.PhysicsShapeType.SHAPE_AVATAR,
371 ShapeData.FixedShapeKey.KEY_CAPSULE, shapeCallback); 371 ShapeData.FixedShapeKey.KEY_CAPSULE, shapeCallback);
372 DetailLog("{0},BSShapeCollection.CreateGeom,avatarCapsule,shape={1}", prim.LocalID, prim.BSShape);
372 haveShape = true; 373 haveShape = true;
373 } 374 }
374 // If the prim attributes are simple, this could be a simple Bullet native shape 375 // If the prim attributes are simple, this could be a simple Bullet native shape
@@ -460,7 +461,6 @@ public class BSShapeCollection : IDisposable
460 } 461 }
461 else 462 else
462 { 463 {
463 // Native shapes are always built independently.
464 newShape = new BulletShape(BulletSimAPI.BuildNativeShape2(PhysicsScene.World.ptr, shapeData), shapeType); 464 newShape = new BulletShape(BulletSimAPI.BuildNativeShape2(PhysicsScene.World.ptr, shapeData), shapeType);
465 newShape.shapeKey = (System.UInt64)shapeKey; 465 newShape.shapeKey = (System.UInt64)shapeKey;
466 newShape.isNativeShape = true; 466 newShape.isNativeShape = true;