RigidPart

Experior.Core.Parts.RigidPart

  • Experior.Core.Parts.RigidPart class is the base abstract class to encapsulate rigid bodies that are used by the Nvidia PhysX engine.
  • Some important classes that derive from RigidPart, are RigidSensorPart and RigidLoadPart.
Example of collision in Physics

3D Primitive shapes

  • 3D Primitive shapes are in the namespace Experior.Core.Parts
  • How to create a box ?

Some classes in Experior.Core.Parts

Common properties and methods of RigidPart

Visible property value does not affect the collision given by the Rigid property value

Influence of friction coefficient

public class MyAssembly : Assembly
    {
        private Experior.Core.Parts.Box _box;
 
        public MyAssembly(MyAssemblyInfo info)
            : base(info)
        {
            _box = new Experior.Core.Parts.Box(System.Windows.Media.Colors.BlueViolet, 1.2f, 0.05f, 0.6f);
            Add(_box);
 
            _box.Rigid = true;
            _box.Friction.Coefficient = Coefficients.Slippy;
            _box.Visible = true;
            _box.LocalRoll = Experior.Core.Mathematics.Trigonometry.Angle2Rad(35f);
        }
 
        public override string Category { get; } = "Assembly";
 
        public override ImageSource Image { get; } = Common.Icons?.Get("MyAssembly");
    }

Code used in above videos

 public class MyAssembly : Assembly
    {
        private Experior.Core.Parts.Box _box;
 
        public MyAssembly(MyAssemblyInfo info)
            : base(info)
        {
            _box = new Experior.Core.Parts.Box(System.Windows.Media.Colors.BlueViolet, 1.2f, 0.05f, 0.6f);
            Add(_box);
 
            _box.LocalPosition = new Vector3(1, 0, 0);
 
            _box.Height = 0.5f;
            _box.Length = 0.5f;
            _box.Width = 0.5f;
 
            _box.LocalYaw = Experior.Core.Mathematics.Trigonometry.Angle2Rad(45);
            _box.LocalRoll = Experior.Core.Mathematics.Trigonometry.Angle2Rad(45);
            _box.LocalPitch = Experior.Core.Mathematics.Trigonometry.Angle2Rad(45);
        }
 
        public override string Category { get; } = "Assembly";
 
        public override ImageSource Image { get; } = Common.Icons?.Get("MyAssembly");
    }

Code used for boxes in above image

Next Internal communication