OpenSim.Region.ScriptEngine.Shared.Api.LSL_Api.SetPhysicsMaterial C# (CSharp) Method

SetPhysicsMaterial() private method

private SetPhysicsMaterial ( SceneObjectPart part, int material_bits, float material_density, float material_friction, float material_restitution, float material_gravity_modifier ) : void
part OpenSim.Region.Framework.Scenes.SceneObjectPart
material_bits int
material_density float
material_friction float
material_restitution float
material_gravity_modifier float
return void
        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);
        }
LSL_Api