BulletSim: Fix small problems with last patch: BSScene.World properly initialized and setting of C++ parameters commented out. Comments and logging added.
parent
fd7a097849
commit
eaccfa6d99
|
@ -146,7 +146,7 @@ public class BSCharacter : BSPhysObject
|
|||
|
||||
ZeroMotion();
|
||||
|
||||
OMV.Vector3 localInertia = BulletSimAPI.CalculateLocalInertia2(BSBody.ptr, MassRaw);
|
||||
OMV.Vector3 localInertia = BulletSimAPI.CalculateLocalInertia2(BSShape.ptr, MassRaw);
|
||||
BulletSimAPI.SetMassProps2(BSBody.ptr, MassRaw, localInertia);
|
||||
|
||||
// Set the velocity and compute the proper friction
|
||||
|
|
|
@ -261,10 +261,6 @@ public class BSScene : PhysicsScene, IPhysicsParameters
|
|||
m_maxUpdatesPerFrame, m_updateArrayPinnedHandle.AddrOfPinnedObject(),
|
||||
m_DebugLogCallbackHandle));
|
||||
|
||||
// Initialization to support the transition to a new API which puts most of the logic
|
||||
// into the C# code so it is easier to modify and add to.
|
||||
World = new BulletSim(WorldID, this, BulletSimAPI.GetSimHandle2(WorldID));
|
||||
|
||||
Constraints = new BSConstraintCollection(World);
|
||||
|
||||
TerrainManager = new BSTerrainManager(this);
|
||||
|
@ -1252,9 +1248,8 @@ public class BSScene : PhysicsScene, IPhysicsParameters
|
|||
defaultLoc = val; // setting only the default value
|
||||
break;
|
||||
case PhysParameterEntry.APPLY_TO_ALL:
|
||||
m_log.ErrorFormat("{0} Cannot change parameters of multiple objects. Someday it will be added.", LogHeader);
|
||||
/*
|
||||
defaultLoc = val; // setting ALL also sets the default value
|
||||
/*
|
||||
List<uint> objectIDs = lIDs;
|
||||
string xparm = parm.ToLower();
|
||||
float xval = val;
|
||||
|
@ -1276,15 +1271,15 @@ public class BSScene : PhysicsScene, IPhysicsParameters
|
|||
// schedule the actual updating of the paramter to when the phys engine is not busy
|
||||
protected void TaintedUpdateParameter(string parm, uint localID, float val)
|
||||
{
|
||||
/* Settings in the C++ code are not working at the moment. TODO: fix the settings.
|
||||
m_log.ErrorFormat("{0} Cannot change parameters of base objects. Someday it will be added.", LogHeader);
|
||||
/*
|
||||
uint xlocalID = localID;
|
||||
string xparm = parm.ToLower();
|
||||
float xval = val;
|
||||
TaintedObject("BSScene.TaintedUpdateParameter", delegate() {
|
||||
BulletSimAPI.UpdateParameter(WorldID, xlocalID, xparm, xval);
|
||||
});
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
||||
// Get parameter.
|
||||
|
|
|
@ -369,6 +369,7 @@ public class BSShapeCollection : IDisposable
|
|||
// an avatar capsule is close to a native shape (it is not shared)
|
||||
ret = GetReferenceToNativeShape(prim, shapeData, ShapeData.PhysicsShapeType.SHAPE_AVATAR,
|
||||
ShapeData.FixedShapeKey.KEY_CAPSULE, shapeCallback);
|
||||
DetailLog("{0},BSShapeCollection.CreateGeom,avatarCapsule,shape={1}", prim.LocalID, prim.BSShape);
|
||||
haveShape = true;
|
||||
}
|
||||
// If the prim attributes are simple, this could be a simple Bullet native shape
|
||||
|
@ -460,7 +461,6 @@ public class BSShapeCollection : IDisposable
|
|||
}
|
||||
else
|
||||
{
|
||||
// Native shapes are always built independently.
|
||||
newShape = new BulletShape(BulletSimAPI.BuildNativeShape2(PhysicsScene.World.ptr, shapeData), shapeType);
|
||||
newShape.shapeKey = (System.UInt64)shapeKey;
|
||||
newShape.isNativeShape = true;
|
||||
|
|
Loading…
Reference in New Issue