private void SetPhysicsMaterial(SceneObjectPart part, int material_bits,
float material_density, float material_friction,
float material_restitution, float material_gravity_modifier)
{
ExtraPhysicsData physdata = new ExtraPhysicsData();
physdata.PhysShapeType = (PhysShapeType)part.PhysicsShapeType;
physdata.Density = part.Density;
physdata.Friction = part.Friction;
physdata.Bounce = part.Restitution;
physdata.GravitationModifier = part.GravityModifier;
if ((material_bits & (int)ScriptBaseClass.DENSITY) != 0)
physdata.Density = material_density;
if ((material_bits & (int)ScriptBaseClass.FRICTION) != 0)
physdata.Friction = material_friction;
if ((material_bits & (int)ScriptBaseClass.RESTITUTION) != 0)
physdata.Bounce = material_restitution;
if ((material_bits & (int)ScriptBaseClass.GRAVITY_MULTIPLIER) != 0)
physdata.GravitationModifier = material_gravity_modifier;
part.UpdateExtraPhysics(physdata);
}