Interface IHingeJoint3D
Interface for a 3D hinge joint in physics.
Inherited Members
Namespace: Evergine.Framework.Physics3D
Assembly: Evergine.Framework.dll
Syntax
public interface IHingeJoint3D : IJoint3D
Properties
AFrame
Gets the reference frame on Body A.
Declaration
Matrix4x4 AFrame { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
AngularOnly
Gets or sets a value indicating whether it only affects angular movement to the joint.
Declaration
bool AngularOnly { get; set; }
Property Value
Type | Description |
---|---|
bool |
BFrame
Gets the reference frame on Body B.
Declaration
Matrix4x4 BFrame { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
EnableMotor
Gets or sets a value indicating whether the motor is enabled.
Declaration
bool EnableMotor { get; set; }
Property Value
Type | Description |
---|---|
bool |
Flags
Gets the hinge flags.
Declaration
int Flags { get; }
Property Value
Type | Description |
---|---|
int |
FrameOffsetA
Gets the frame offset for body A.
Declaration
Matrix4x4 FrameOffsetA { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
FrameOffsetB
Gets the frame offset for body B.
Declaration
Matrix4x4 FrameOffsetB { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
HasLimit
Gets a value indicating whether this joint has limitations.
Declaration
bool HasLimit { get; }
Property Value
Type | Description |
---|---|
bool |
HingeAngle
Gets the angle of the joint.
Declaration
float HingeAngle { get; }
Property Value
Type | Description |
---|---|
float |
LimitBiasFactor
Gets the limit bias factor.
Declaration
float LimitBiasFactor { get; }
Property Value
Type | Description |
---|---|
float |
LimitRelaxationFactor
Gets the limit relaxation factor.
Declaration
float LimitRelaxationFactor { get; }
Property Value
Type | Description |
---|---|
float |
LimitSign
Gets the limit sign.
Declaration
float LimitSign { get; }
Property Value
Type | Description |
---|---|
float |
LimitSoftness
Gets the limit softness.
Declaration
float LimitSoftness { get; }
Property Value
Type | Description |
---|---|
float |
LowerLimit
Gets the lower limit.
Declaration
float LowerLimit { get; }
Property Value
Type | Description |
---|---|
float |
MaxMotorImpulse
Gets or sets the maximum motor impulse.
Declaration
float MaxMotorImpulse { get; set; }
Property Value
Type | Description |
---|---|
float |
MotorTargetVelocity
Gets the maximum motor target velocity.
Declaration
float MotorTargetVelocity { get; }
Property Value
Type | Description |
---|---|
float |
SolveLimit
Gets the solve limit.
Declaration
int SolveLimit { get; }
Property Value
Type | Description |
---|---|
int |
UpperLimit
Gets the upper limit.
Declaration
float UpperLimit { get; }
Property Value
Type | Description |
---|---|
float |
UseFrameOffset
Gets or sets a value indicating whether frame offsets are enabled.
Declaration
bool UseFrameOffset { get; set; }
Property Value
Type | Description |
---|---|
bool |
UseReferenceFrameA
Gets or sets a value indicating whether the joint uses A as a frame reference.
Declaration
bool UseReferenceFrameA { get; set; }
Property Value
Type | Description |
---|---|
bool |
Methods
EnableAngularMotor(bool, float, float)
Enables the angular motor.
Declaration
void EnableAngularMotor(bool motorEnabled, float targetVelocity, float maxMotorImpulse)
Parameters
Type | Name | Description |
---|---|---|
bool | motorEnabled | Indicates whether the motor is enabled. |
float | targetVelocity | The target velocity. |
float | maxMotorImpulse | The maximum motor impulse. |
SetAxis(Vector3)
Sets the axis.
Declaration
void SetAxis(Vector3 axis)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | axis | The axis. |
SetFrames(Matrix4x4, Matrix4x4)
Sets frames.
Declaration
void SetFrames(Matrix4x4 frameA, Matrix4x4 frameB)
Parameters
Type | Name | Description |
---|---|---|
Matrix4x4 | frameA | Frame A. |
Matrix4x4 | frameB | Frame B. |
SetLimit(float, float, float, float, float)
Sets limits.
Declaration
void SetLimit(float low, float high, float softness = 0.9, float biasFactor = 0.3, float relaxationFactor = 1)
Parameters
Type | Name | Description |
---|---|---|
float | low | The low limit. |
float | high | The high limit. |
float | softness | How much the hinge rotates for a given force. |
float | biasFactor | Offset for the relaxed rotation of the hinge. |
float | relaxationFactor | How much force is applied internally to bring the hinge to its central rotation. |
SetMotorTarget(Quaternion, float)
Sets motor target.
Declaration
void SetMotorTarget(Quaternion qAinB, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
Quaternion | qAinB | Quaternion of A in B. |
float | deltaTime | Delta time. |
SetMotorTarget(float, float)
Sets the motor target.
Declaration
void SetMotorTarget(float targetAngle, float deltaTime)
Parameters
Type | Name | Description |
---|---|---|
float | targetAngle | The target angle. |
float | deltaTime | The delta time. |