diff options
author | Robert Adams | 2012-10-17 08:30:10 -0700 |
---|---|---|
committer | Robert Adams | 2012-10-19 10:52:23 -0700 |
commit | e87a179c893ef246dae8338e0f56c3fe20458fbc (patch) | |
tree | 1699e1fc26a47ba000bbd2392df894dc3247f956 /OpenSim/Region/Physics/BulletSPlugin/BSScene.cs | |
parent | BulletSim: remove code in ShapeCollection that hinted at shape sharing. (diff) | |
download | opensim-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.cs | 26 |
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; |