BulletSim: fix exceptions caused by setting physical properties before the prim body is initialized.

user_profiles
Robert Adams 2013-02-07 14:44:12 -08:00
parent ebb63b55aa
commit b545e13184
1 changed files with 10 additions and 5 deletions

View File

@ -587,7 +587,8 @@ public sealed class BSPrim : BSPhysObject
base.SetMaterial(material); base.SetMaterial(material);
PhysicsScene.TaintedObject("BSPrim.SetMaterial", delegate() PhysicsScene.TaintedObject("BSPrim.SetMaterial", delegate()
{ {
UpdatePhysicalParameters(); if (PhysBody.HasPhysicalBody)
UpdatePhysicalParameters();
}); });
} }
public override float Friction public override float Friction
@ -600,7 +601,8 @@ public sealed class BSPrim : BSPhysObject
base.Friction = value; base.Friction = value;
PhysicsScene.TaintedObject("BSPrim.setFriction", delegate() PhysicsScene.TaintedObject("BSPrim.setFriction", delegate()
{ {
UpdatePhysicalParameters(); if (PhysBody.HasPhysicalBody)
UpdatePhysicalParameters();
}); });
} }
} }
@ -615,7 +617,8 @@ public sealed class BSPrim : BSPhysObject
base.Restitution = value; base.Restitution = value;
PhysicsScene.TaintedObject("BSPrim.setRestitution", delegate() PhysicsScene.TaintedObject("BSPrim.setRestitution", delegate()
{ {
UpdatePhysicalParameters(); if (PhysBody.HasPhysicalBody)
UpdatePhysicalParameters();
}); });
} }
} }
@ -630,7 +633,8 @@ public sealed class BSPrim : BSPhysObject
base.Density = value; base.Density = value;
PhysicsScene.TaintedObject("BSPrim.setDensity", delegate() PhysicsScene.TaintedObject("BSPrim.setDensity", delegate()
{ {
UpdatePhysicalParameters(); if (PhysBody.HasPhysicalBody)
UpdatePhysicalParameters();
}); });
} }
} }
@ -645,7 +649,8 @@ public sealed class BSPrim : BSPhysObject
base.GravityModifier = value; base.GravityModifier = value;
PhysicsScene.TaintedObject("BSPrim.setGravityModifier", delegate() PhysicsScene.TaintedObject("BSPrim.setGravityModifier", delegate()
{ {
UpdatePhysicalParameters(); if (PhysBody.HasPhysicalBody)
UpdatePhysicalParameters();
}); });
} }
} }