using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Physics * @{ */ /// /// Specifies parameters for a drive that will attempt to move the joint bodies to the specified drive position and /// velocity. /// [StructLayout(LayoutKind.Sequential), SerializeObject] public partial struct D6JointDrive { /// Initializes the struct with default values. public static D6JointDrive Default() { D6JointDrive value = new D6JointDrive(); value.stiffness = 0f; value.damping = 0f; value.forceLimit = 3.40282347E+38f; value.acceleration = false; return value; } /// Spring strength. Force proportional to the position error. public float stiffness; /// Damping strength. Force propertional to the velocity error. public float damping; /// Maximum force the drive can apply. public float forceLimit; /// /// If true the drive will generate acceleration instead of forces. Acceleration drives are easier to tune as they /// account for the masses of the actors to which the joint is attached. /// public bool acceleration; } /** @} */ }