aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
diff options
context:
space:
mode:
authorRobert Adams2012-10-17 08:30:10 -0700
committerRobert Adams2012-10-19 10:52:23 -0700
commite87a179c893ef246dae8338e0f56c3fe20458fbc (patch)
tree1699e1fc26a47ba000bbd2392df894dc3247f956 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
parentBulletSim: remove code in ShapeCollection that hinted at shape sharing. (diff)
downloadopensim-SC-e87a179c893ef246dae8338e0f56c3fe20458fbc.zip
opensim-SC-e87a179c893ef246dae8338e0f56c3fe20458fbc.tar.gz
opensim-SC-e87a179c893ef246dae8338e0f56c3fe20458fbc.tar.bz2
opensim-SC-e87a179c893ef246dae8338e0f56c3fe20458fbc.tar.xz
BulletSim: change nonimal physics frame rate to 55 to give same numbers as ODE.
Change character scaling to represent size of capsule (diameter rather than radius) Modify create capsule call to pass radius and height. Eliminate errors when calculating shape inertia (should have some type checking).
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/BulletSPlugin/BSScene.cs26
1 files changed, 13 insertions, 13 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
index c6e8bc4..ab2835c 100644
--- a/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
+++ b/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
@@ -533,7 +533,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
533 } 533 }
534 534
535 // This is a kludge to get avatar movement updates. 535 // This is a kludge to get avatar movement updates.
536 // the simulator expects collisions for avatars even if there are have been no collisions. This updates 536 // The simulator expects collisions for avatars even if there are have been no collisions. This updates
537 // avatar animations and stuff. 537 // avatar animations and stuff.
538 // If you fix avatar animation updates, remove this overhead and let normal collision processing happen. 538 // If you fix avatar animation updates, remove this overhead and let normal collision processing happen.
539 foreach (BSPhysObject bsp in m_avatars) 539 foreach (BSPhysObject bsp in m_avatars)
@@ -577,9 +577,9 @@ public class BSScene : PhysicsScene, IPhysicsParameters
577 577
578 // The physics engine returns the number of milliseconds it simulated this call. 578 // The physics engine returns the number of milliseconds it simulated this call.
579 // These are summed and normalized to one second and divided by 1000 to give the reported physics FPS. 579 // These are summed and normalized to one second and divided by 1000 to give the reported physics FPS.
580 // We multiply by 45 to give a recognizable running rate (45 or less). 580 // We multiply by 55 to give a recognizable running rate (55 or less).
581 return numSubSteps * m_fixedTimeStep * 1000 * 45; 581 return numSubSteps * m_fixedTimeStep * 1000 * 55;
582 // return timeStep * 1000 * 45; 582 // return timeStep * 1000 * 55;
583 } 583 }
584 584
585 // Something has collided 585 // Something has collided
@@ -795,7 +795,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
795 795
796 delegate void ParamUser(BSScene scene, IConfig conf, string paramName, float val); 796 delegate void ParamUser(BSScene scene, IConfig conf, string paramName, float val);
797 delegate float ParamGet(BSScene scene); 797 delegate float ParamGet(BSScene scene);
798 delegate void ParamSet(BSScene scene, string paramName, uint localID, float val); 798 delegate void ParamSet(BSScene scene, string paramName, uint localID, float val);
799 delegate void SetOnObject(BSScene scene, BSPhysObject obj, float val); 799 delegate void SetOnObject(BSScene scene, BSPhysObject obj, float val);
800 800
801 private struct ParameterDefn 801 private struct ParameterDefn
@@ -805,7 +805,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
805 public float defaultValue; // default value if not specified anywhere else 805 public float defaultValue; // default value if not specified anywhere else
806 public ParamUser userParam; // get the value from the configuration file 806 public ParamUser userParam; // get the value from the configuration file
807 public ParamGet getter; // return the current value stored for this parameter 807 public ParamGet getter; // return the current value stored for this parameter
808 public ParamSet setter; // set the current value for this parameter 808 public ParamSet setter; // set the current value for this parameter
809 public SetOnObject onObject; // set the value on an object in the physical domain 809 public SetOnObject onObject; // set the value on an object in the physical domain
810 public ParameterDefn(string n, string d, float v, ParamUser u, ParamGet g, ParamSet s) 810 public ParameterDefn(string n, string d, float v, ParamUser u, ParamGet g, ParamSet s)
811 { 811 {
@@ -814,7 +814,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
814 defaultValue = v; 814 defaultValue = v;
815 userParam = u; 815 userParam = u;
816 getter = g; 816 getter = g;
817 setter = s; 817 setter = s;
818 onObject = null; 818 onObject = null;
819 } 819 }
820 public ParameterDefn(string n, string d, float v, ParamUser u, ParamGet g, ParamSet s, SetOnObject o) 820 public ParameterDefn(string n, string d, float v, ParamUser u, ParamGet g, ParamSet s, SetOnObject o)
@@ -824,7 +824,7 @@ public class BSScene : PhysicsScene, IPhysicsParameters
824 defaultValue = v; 824 defaultValue = v;
825 userParam = u; 825 userParam = u;
826 getter = g; 826 getter = g;
827 setter = s; 827 setter = s;
828 onObject = o; 828 onObject = o;
829 } 829 }
830 } 830 }
@@ -1266,13 +1266,13 @@ public class BSScene : PhysicsScene, IPhysicsParameters
1266 objectIDs.Add(TERRAIN_ID); 1266 objectIDs.Add(TERRAIN_ID);
1267 TaintedUpdateParameter(parm, objectIDs, val); 1267 TaintedUpdateParameter(parm, objectIDs, val);
1268 break; 1268 break;
1269 case PhysParameterEntry.APPLY_TO_ALL: 1269 case PhysParameterEntry.APPLY_TO_ALL:
1270 defaultLoc = val; // setting ALL also sets the default value 1270 defaultLoc = val; // setting ALL also sets the default value
1271 lock (PhysObjects) objectIDs = new List<uint>(PhysObjects.Keys); 1271 lock (PhysObjects) objectIDs = new List<uint>(PhysObjects.Keys);
1272 TaintedUpdateParameter(parm, objectIDs, val); 1272 TaintedUpdateParameter(parm, objectIDs, val);
1273 break; 1273 break;
1274 default: 1274 default:
1275 // setting only one localID 1275 // setting only one localID
1276 objectIDs.Add(localID); 1276 objectIDs.Add(localID);
1277 TaintedUpdateParameter(parm, objectIDs, val); 1277 TaintedUpdateParameter(parm, objectIDs, val);
1278 break; 1278 break;
@@ -1282,8 +1282,8 @@ public class BSScene : PhysicsScene, IPhysicsParameters
1282 // schedule the actual updating of the paramter to when the phys engine is not busy 1282 // schedule the actual updating of the paramter to when the phys engine is not busy
1283 protected void TaintedUpdateParameter(string parm, List<uint> lIDs, float val) 1283 protected void TaintedUpdateParameter(string parm, List<uint> lIDs, float val)
1284 { 1284 {
1285 float xval = val; 1285 float xval = val;
1286 List<uint> xlIDs = lIDs; 1286 List<uint> xlIDs = lIDs;
1287 string xparm = parm; 1287 string xparm = parm;
1288 TaintedObject("BSScene.UpdateParameterSet", delegate() { 1288 TaintedObject("BSScene.UpdateParameterSet", delegate() {
1289 ParameterDefn thisParam; 1289 ParameterDefn thisParam;