BulletSim: change boolean parameters in the shape data from int's to float's to be consistant with parameter data structure
parent
04d8c6b4fe
commit
e38d26a2dc
|
@ -187,6 +187,7 @@ public sealed class BSPrim : PhysicsActor
|
||||||
{
|
{
|
||||||
_mass = CalculateMass(); // changing size changes the mass
|
_mass = CalculateMass(); // changing size changes the mass
|
||||||
BulletSimAPI.SetObjectScaleMass(_scene.WorldID, _localID, _scale, (IsPhysical ? _mass : 0f), IsPhysical);
|
BulletSimAPI.SetObjectScaleMass(_scene.WorldID, _localID, _scale, (IsPhysical ? _mass : 0f), IsPhysical);
|
||||||
|
DetailLog("{0}: setSize: size={1}, mass={2}, physical={3}", LocalID, _size, _mass, IsPhysical);
|
||||||
RecreateGeomAndObject();
|
RecreateGeomAndObject();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1201,7 +1202,8 @@ public sealed class BSPrim : PhysicsActor
|
||||||
|
|
||||||
// Create an object in Bullet if it has not already been created
|
// Create an object in Bullet if it has not already been created
|
||||||
// No locking here because this is done when the physics engine is not simulating
|
// No locking here because this is done when the physics engine is not simulating
|
||||||
private void CreateObject()
|
// Returns 'true' if an object was actually created.
|
||||||
|
private bool CreateObject()
|
||||||
{
|
{
|
||||||
// this routine is called when objects are rebuilt.
|
// this routine is called when objects are rebuilt.
|
||||||
|
|
||||||
|
@ -1209,10 +1211,12 @@ public sealed class BSPrim : PhysicsActor
|
||||||
ShapeData shape;
|
ShapeData shape;
|
||||||
FillShapeInfo(out shape);
|
FillShapeInfo(out shape);
|
||||||
// m_log.DebugFormat("{0}: CreateObject: lID={1}, shape={2}", LogHeader, _localID, shape.Type);
|
// m_log.DebugFormat("{0}: CreateObject: lID={1}, shape={2}", LogHeader, _localID, shape.Type);
|
||||||
BulletSimAPI.CreateObject(_scene.WorldID, shape);
|
bool ret = BulletSimAPI.CreateObject(_scene.WorldID, shape);
|
||||||
|
|
||||||
// the CreateObject() may have recreated the rigid body. Make sure we have the latest.
|
// the CreateObject() may have recreated the rigid body. Make sure we have the latest.
|
||||||
m_body.Ptr = BulletSimAPI.GetBodyHandle2(_scene.World.Ptr, LocalID);
|
m_body.Ptr = BulletSimAPI.GetBodyHandle2(_scene.World.Ptr, LocalID);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy prim's info into the BulletSim shape description structure
|
// Copy prim's info into the BulletSim shape description structure
|
||||||
|
|
|
@ -87,12 +87,12 @@ public struct ShapeData
|
||||||
public System.UInt64 MeshKey;
|
public System.UInt64 MeshKey;
|
||||||
public float Friction;
|
public float Friction;
|
||||||
public float Restitution;
|
public float Restitution;
|
||||||
public int Collidable;
|
public float Collidable; // true of things bump into this
|
||||||
public int Static; // true if a static object. Otherwise gravity, etc.
|
public float Static; // true if a static object. Otherwise gravity, etc.
|
||||||
|
|
||||||
// note that bools are passed as ints since bool size changes by language and architecture
|
// note that bools are passed as floats since bool size changes by language and architecture
|
||||||
public const int numericTrue = 1;
|
public const float numericTrue = 1f;
|
||||||
public const int numericFalse = 0;
|
public const float numericFalse = 0f;
|
||||||
}
|
}
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
public struct SweepHit
|
public struct SweepHit
|
||||||
|
|
Loading…
Reference in New Issue