Search Results for

    Show / Hide Table of Contents

    Class Joint3D<T, K>

    This class represents a 3D physics joint and connects two entities together. All joints restrict some degrees of freedom, seeking a specific configuration.

    Inheritance
    object
    IdentifiableObject
    DependencyObject
    AttachableObject
    PrefabInstanceObject
    Component
    Joint3D<T, K>
    ConeTwistJoint3D
    FixedJoint3D
    GearJoint3D
    GenericAbstract6DofJoint3D<T, K>
    HingeJoint3D
    PointToPointJoint3D
    SliderJoint3D
    Implements
    IDependencyObject
    Inherited Members
    Component.Owner
    Component.Managers
    Component.ShouldBeActivated
    Component.Clone()
    Component.Attach(Entity)
    Component.OnLoaded()
    Component.OnAttached()
    Component.OnDestroy()
    PrefabInstanceObject.PrefabSource
    PrefabInstanceObject.RefreshPrefab(Prefab)
    PrefabInstanceObject.PrefabElementId
    PrefabInstanceObject.IsPrefabInstance
    PrefabInstanceObject.IsMissingPrefabSource
    AttachableObject.AttachableStateChanged
    AttachableObject.IsEnabled
    AttachableObject.State
    AttachableObject.IsLoaded
    AttachableObject.IsAttached
    AttachableObject.IsActivated
    AttachableObject.IsStarted
    AttachableObject.IsDestroyed
    AttachableObject.Destroy()
    AttachableObject.DependencyBroken()
    DependencyObject.Dependencies
    DependencyObject.OnDependencyRemoved
    IdentifiableObject.Id
    IdentifiableObject.IdHasChanged(Guid)
    Namespace: Evergine.Framework.Physics3D
    Assembly: Evergine.Framework.dll
    Syntax
    public abstract class Joint3D<T, K> : Component, IDependencyObject where T : IJoint3D where K : JointDef3D<T>, new()
    Type Parameters
    Name Description
    T

    The associated joint interface.

    K

    The associated joint definition.

    Constructors

    Joint3D()

    Initializes a new instance of the Joint3D<T, K> class.

    Declaration
    public Joint3D()

    Fields

    breakpoint

    Joint Breakpoint.

    Declaration
    protected float breakpoint
    Field Value
    Type Description
    float

    connectedBody

    The connected rigid body.

    Declaration
    protected RigidBody3D connectedBody
    Field Value
    Type Description
    RigidBody3D

    isActive

    Determines if the joint is active.

    Declaration
    protected bool isActive
    Field Value
    Type Description
    bool

    joint

    The physics joint.

    Declaration
    protected T joint
    Field Value
    Type Description
    T

    rigidBody

    The associated body.

    Declaration
    [BindComponent(true, true, BindComponentSource.Owner, null, true)]
    protected RigidBody3D rigidBody
    Field Value
    Type Description
    RigidBody3D

    transform3D

    The 3D transform.

    Declaration
    [BindComponent(true, true, BindComponentSource.Owner, null, true)]
    protected Transform3D transform3D
    Field Value
    Type Description
    Transform3D

    Properties

    AppliedImpulse

    Gets the applied impulse.

    Declaration
    public float AppliedImpulse { get; }
    Property Value
    Type Description
    float

    BreakPoint

    Gets or sets the joint breakpoint property. Defaults to MaxValue.

    Declaration
    [RenderProperty(Tooltip = "Joint Breakpoint Property. MaxValue by default")]
    public float BreakPoint { get; set; }
    Property Value
    Type Description
    float

    CollideConnected

    Gets or sets a value indicating whether the attached bodies should collide with each other.

    Declaration
    [RenderProperty(Tooltip = "Indicating whether the attached bodies should collide themselves.")]
    public bool CollideConnected { get; set; }
    Property Value
    Type Description
    bool

    ConnectedEntityPath

    Gets or sets the connected entity's path.

    Declaration
    public virtual string ConnectedEntityPath { get; set; }
    Property Value
    Type Description
    string

    DebugDrawSize

    Gets or sets the connected entity path.

    Declaration
    [RenderPropertyAsFInput(MinLimit = 0, MaxLimit = 3.4028235E+38)]
    public float DebugDrawSize { get; set; }
    Property Value
    Type Description
    float

    JointFeedback

    Gets the joint feedback.

    Declaration
    public IJointFeedback3D JointFeedback { get; }
    Property Value
    Type Description
    IJointFeedback3D

    NeedsFeedback

    Gets or sets a value indicating whether the application needs to receive feedback.

    Declaration
    public bool NeedsFeedback { get; set; }
    Property Value
    Type Description
    bool

    OverrideNumSolverIterations

    Gets or sets the number of solver iterations.

    Declaration
    public int OverrideNumSolverIterations { get; set; }
    Property Value
    Type Description
    int

    Methods

    BodyAChanged()

    Body A has changed.

    Declaration
    protected virtual void BodyAChanged()

    BodyBChanged()

    Body B has been changed.

    Declaration
    protected virtual void BodyBChanged()

    CreateConnectedEntity()

    Refreshes the connected entity.

    Declaration
    protected void CreateConnectedEntity()

    CreateJoint(K)

    Creates the joint.

    Declaration
    protected virtual T CreateJoint(K jointDef)
    Parameters
    Type Name Description
    K jointDef

    The joint definition.

    Returns
    Type Description
    T

    The physics joint.

    Dispose()

    Disposes this collider 3D.

    Declaration
    public virtual void Dispose()

    FillJointDef(K)

    Fills the joint definition.

    Declaration
    protected virtual bool FillJointDef(K jointDef)
    Parameters
    Type Name Description
    K jointDef

    The joint definition.

    Returns
    Type Description
    bool

    True if everything is OK.

    GetFrameX(ref Vector3, ref Vector3, out Matrix4x4)

    Gets the frame.

    Declaration
    protected void GetFrameX(ref Vector3 a, ref Vector3 offset, out Matrix4x4 result)
    Parameters
    Type Name Description
    Vector3 a

    The axis.

    Vector3 offset

    The offset.

    Matrix4x4 result

    The frame matrix.

    GetFrameZ(ref Vector3, ref Vector3, out Matrix4x4)

    Gets the frame.

    Declaration
    protected void GetFrameZ(ref Vector3 a, ref Vector3 offset, out Matrix4x4 result)
    Parameters
    Type Name Description
    Vector3 a

    The axis.

    Vector3 offset

    The offset.

    Matrix4x4 result

    The frame's matrix.

    InitJoint()

    Initializes the joint.

    Declaration
    protected virtual void InitJoint()

    OnActivated()

    Invoked when the object is activated once it is attached.

    Declaration
    protected override void OnActivated()
    Overrides
    Component.OnActivated()

    OnDeactivated()

    Invoked when the object is deactivated.

    Declaration
    protected override void OnDeactivated()
    Overrides
    Component.OnDeactivated()

    OnDetach()

    Invoked when the object is detached.

    Declaration
    protected override void OnDetach()
    Overrides
    Component.OnDetach()

    RefreshJoint()

    Refreshes the joint.

    Declaration
    protected void RefreshJoint()

    RefreshJointValue<V>(ref V, V)

    Updates a joint value.

    Declaration
    protected void RefreshJointValue<V>(ref V variable, V newValue)
    Parameters
    Type Name Description
    V variable

    The variable to change.

    V newValue

    The new value.

    Type Parameters
    Name Description
    V

    The variable type.

    RemoveConnectedEntity()

    Removes the connected entity.

    Declaration
    protected void RemoveConnectedEntity()

    Start()

    Invoked to start the object.

    Declaration
    protected override void Start()
    Overrides
    Component.Start()

    Events

    OnBroke

    Physics 3D Joint Break Event

    Declaration
    public event Joint3D<T, K>.OnBrokeEventHandler OnBroke
    Event Type
    Type Description
    Joint3D<T, K>.OnBrokeEventHandler

    Implements

    IDependencyObject

    Extension Methods

    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX