UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FPBDJointConstraintHandle Class Referencefinal

#include <PBDJointConstraints.h>

+ Inheritance diagram for Chaos::FPBDJointConstraintHandle:

Public Types

using Base = TIndexedContainerConstraintHandle< FPBDJointConstraints >
 
using FConstraintContainer = FPBDJointConstraints
 
- Public Types inherited from Chaos::TIndexedContainerConstraintHandle< FPBDJointConstraints >
using Base = FIndexedConstraintHandle
 
using FGeometryParticleHandle = typename Base::FGeometryParticleHandle
 
using FConstraintContainer = FPBDJointConstraints
 
- Public Types inherited from Chaos::FIndexedConstraintHandle
using FGeometryParticleHandle = TGeometryParticleHandle< FReal, 3 >
 
- Public Types inherited from Chaos::FConstraintHandle
using FGeometryParticleHandle = TGeometryParticleHandle< FReal, 3 >
 

Public Member Functions

 FPBDJointConstraintHandle ()
 
 FPBDJointConstraintHandle (FConstraintContainer *InConstraintContainer, int32 InConstraintIndex)
 
CHAOS_API void SetConstraintEnabled (bool bEnabled)
 
CHAOS_API void CalculateConstraintSpace (FVec3 &OutXa, FMatrix33 &OutRa, FVec3 &OutXb, FMatrix33 &OutRb) const
 
CHAOS_API bool IsConstraintEnabled () const
 
CHAOS_API bool IsConstraintBroken () const
 
CHAOS_API bool IsConstraintBreaking () const
 
CHAOS_API void ClearConstraintBreaking ()
 
CHAOS_API bool IsConstraintViolating () const
 
CHAOS_API void ClearConstraintViolating ()
 
CHAOS_API bool IsDriveTargetChanged () const
 
CHAOS_API void ClearDriveTargetChanged ()
 
CHAOS_API FVec3 GetLinearImpulse () const
 
CHAOS_API FVec3 GetAngularImpulse () const
 
CHAOS_API float GetLinearViolation () const
 
CHAOS_API float GetAngularViolation () const
 
CHAOS_API const FPBDJointSettingsGetSettings () const
 
const FPBDJointSettingsGetJointSettings () const
 
void SetJointState (const class FPBDJointState &NewState)
 
CHAOS_API void SetSettings (const FPBDJointSettings &Settings)
 
CHAOS_API void SetParentConnectorLocation (const FVec3 Location)
 
CHAOS_API void SetParentConnectorRotation (const FQuat Rotation)
 
CHAOS_API void SetChildConnectorLocation (const FVec3 Location)
 
CHAOS_API void SetChildConnectorRotation (const FQuat Rotation)
 
CHAOS_API void SetLinearDrivePositionTarget (const FVec3 Target)
 
CHAOS_API void SetAngularDrivePositionTarget (const FQuat Target)
 
CHAOS_API void SetLinearDriveVelocityTarget (const FVec3 Target)
 
CHAOS_API void SetAngularDriveVelocityTarget (const FVec3 Target)
 
CHAOS_API void SetLinearDriveStiffness (const FVec3 Stiffness)
 
CHAOS_API void SetLinearDriveDamping (const FVec3 Damping)
 
CHAOS_API void SetLinearDriveMaxForce (const FVec3 MaxForce)
 
CHAOS_API void SetLinearDriveForceMode (EJointForceMode ForceMode)
 
CHAOS_API void SetAngularDriveStiffness (const FVec3 Stiffness)
 
CHAOS_API void SetAngularDriveDamping (const FVec3 Damping)
 
CHAOS_API void SetAngularDriveMaxTorque (const FVec3 MaxTorque)
 
CHAOS_API void SetAngularDriveForceMode (EJointForceMode ForceMode)
 
CHAOS_API void SetCollisionEnabled (const bool bCollisionEnabled)
 
CHAOS_API void SetParentInvMassScale (const FReal ParentInvMassScale)
 
CHAOS_API void SetDriveParams (const FVec3 LinearStiffness, const FVec3 LinearDamping, const FVec3 MaxForce, const FVec3 AngularStiffness, const FVec3 AngularDamping, const FVec3 MaxTorque)
 
CHAOS_API TVec2< FGeometryParticleHandle * > GetConstrainedParticles () const override final
 
CHAOS_API ESyncState SyncState () const
 
CHAOS_API void SetSyncState (ESyncState SyncState)
 
CHAOS_API void SetEnabledDuringResim (bool bEnabled)
 
CHAOS_API bool IsEnabledDuringResim () const
 
CHAOS_API EResimType ResimType () const
 
CHAOS_API int32 GetConstraintIsland () const
 
CHAOS_API int32 GetConstraintLevel () const
 
CHAOS_API int32 GetConstraintColor () const
 
void SetConstraintContainer (FPBDConstraintContainer *NewConstraintContainer)
 
bool IsInContainer (FPBDConstraintContainer *TestContainer)
 
- Public Member Functions inherited from Chaos::TIndexedContainerConstraintHandle< FPBDJointConstraints >
 TIndexedContainerConstraintHandle ()
 
 TIndexedContainerConstraintHandle (FConstraintContainer *InConstraintContainer, int32 InConstraintIndex)
 
virtual void SetEnabled (bool bInEnabled) override
 
virtual bool IsEnabled () const override
 
void RemoveConstraint ()
 
- Public Member Functions inherited from Chaos::FIndexedConstraintHandle
 FIndexedConstraintHandle ()
 
 FIndexedConstraintHandle (FPBDConstraintContainer *InContainer, int32 InConstraintIndex)
 
virtual ~FIndexedConstraintHandle ()
 
virtual bool IsValid () const override
 
int32 GetConstraintIndex () const
 
void SetConstraintIndex (const int32 InConstraintIndex)
 
- Public Member Functions inherited from Chaos::FConstraintHandle
 FConstraintHandle ()
 
 FConstraintHandle (FPBDConstraintContainer *InContainer)
 
virtual ~FConstraintHandle ()
 
FPBDConstraintContainerGetContainer ()
 
const FPBDConstraintContainerGetContainer () const
 
bool IsInConstraintGraph () const
 
Private::FPBDIslandConstraintGetConstraintGraphEdge () const
 
void SetConstraintGraphEdge (Private::FPBDIslandConstraint *InEdge)
 
virtual bool IsProbe () const
 
virtual bool SupportsSleeping () const
 
virtual bool SupportsPartialIslandSleeping () const
 
virtual bool IsSleeping () const
 
virtual void SetIsSleeping (const bool bInIsSleeping)
 
virtual FVec3f GetNetLinearImpulse () const
 
virtual bool WasAwakened () const
 
virtual void SetWasAwakened (const bool bInWasAwakened)
 
int32 GetContainerId () const
 
template<typename T >
T * As ()
 
template<typename T >
const T * As () const
 
template<typename T >
T * AsUnsafe ()
 
template<typename T >
const T * AsUnsafe () const
 
const FConstraintHandleTypeIDGetType () const
 
 UE_DEPRECATED (5.3, "Use GetConstraintGraphEdge") int32 GetConstraintGraphIndex() const
 
 UE_DEPRECATED (5.3, "Not supported") void SetConstraintGraphIndex(const int32 InIndex) const
 

Static Public Member Functions

static const FConstraintHandleTypeIDStaticType ()
 
- Static Public Member Functions inherited from Chaos::FIndexedConstraintHandle
static const FConstraintHandleTypeIDStaticType ()
 
- Static Public Member Functions inherited from Chaos::FConstraintHandle
static const FConstraintHandleTypeIDStaticType ()
 
static const FConstraintHandleTypeIDInvalidType ()
 

Additional Inherited Members

- Protected Member Functions inherited from Chaos::TIndexedContainerConstraintHandle< FPBDJointConstraints >
FConstraintContainerConcreteContainer ()
 
const FConstraintContainerConcreteContainer () const
 
- Protected Attributes inherited from Chaos::TIndexedContainerConstraintHandle< FPBDJointConstraints >
int32 ConstraintIndex
 
- Protected Attributes inherited from Chaos::FIndexedConstraintHandle
int32 ConstraintIndex
 
- Protected Attributes inherited from Chaos::FConstraintHandle
FPBDConstraintContainerConstraintContainer
 
Private::FPBDIslandConstraintGraphEdge
 

Detailed Description

A handle to a joint constraint held in a joint container (FPBDJointConstraints) by index.

Member Typedef Documentation

◆ Base

◆ FConstraintContainer

Constructor & Destructor Documentation

◆ FPBDJointConstraintHandle() [1/2]

Chaos::FPBDJointConstraintHandle::FPBDJointConstraintHandle ( )

◆ FPBDJointConstraintHandle() [2/2]

Chaos::FPBDJointConstraintHandle::FPBDJointConstraintHandle ( FConstraintContainer InConstraintContainer,
int32  InConstraintIndex 
)

Member Function Documentation

◆ CalculateConstraintSpace()

void Chaos::FPBDJointConstraintHandle::CalculateConstraintSpace ( FVec3 OutXa,
FMatrix33 OutRa,
FVec3 OutXb,
FMatrix33 OutRb 
) const

◆ ClearConstraintBreaking()

void Chaos::FPBDJointConstraintHandle::ClearConstraintBreaking ( )

◆ ClearConstraintViolating()

void Chaos::FPBDJointConstraintHandle::ClearConstraintViolating ( )

◆ ClearDriveTargetChanged()

void Chaos::FPBDJointConstraintHandle::ClearDriveTargetChanged ( )

◆ GetAngularImpulse()

FVec3 Chaos::FPBDJointConstraintHandle::GetAngularImpulse ( ) const

◆ GetAngularViolation()

float Chaos::FPBDJointConstraintHandle::GetAngularViolation ( ) const

◆ GetConstrainedParticles()

FParticlePair Chaos::FPBDJointConstraintHandle::GetConstrainedParticles ( ) const
finaloverridevirtual

◆ GetConstraintColor()

int32 Chaos::FPBDJointConstraintHandle::GetConstraintColor ( ) const

◆ GetConstraintIsland()

int32 Chaos::FPBDJointConstraintHandle::GetConstraintIsland ( ) const

◆ GetConstraintLevel()

int32 Chaos::FPBDJointConstraintHandle::GetConstraintLevel ( ) const

◆ GetJointSettings()

const FPBDJointSettings & Chaos::FPBDJointConstraintHandle::GetJointSettings ( ) const
inline

◆ GetLinearImpulse()

FVec3 Chaos::FPBDJointConstraintHandle::GetLinearImpulse ( ) const

◆ GetLinearViolation()

float Chaos::FPBDJointConstraintHandle::GetLinearViolation ( ) const

◆ GetSettings()

const FPBDJointSettings & Chaos::FPBDJointConstraintHandle::GetSettings ( ) const

◆ IsConstraintBreaking()

bool Chaos::FPBDJointConstraintHandle::IsConstraintBreaking ( ) const

◆ IsConstraintBroken()

bool Chaos::FPBDJointConstraintHandle::IsConstraintBroken ( ) const

◆ IsConstraintEnabled()

bool Chaos::FPBDJointConstraintHandle::IsConstraintEnabled ( ) const

◆ IsConstraintViolating()

bool Chaos::FPBDJointConstraintHandle::IsConstraintViolating ( ) const

◆ IsDriveTargetChanged()

bool Chaos::FPBDJointConstraintHandle::IsDriveTargetChanged ( ) const

◆ IsEnabledDuringResim()

bool Chaos::FPBDJointConstraintHandle::IsEnabledDuringResim ( ) const

◆ IsInContainer()

bool Chaos::FPBDJointConstraintHandle::IsInContainer ( FPBDConstraintContainer TestContainer)
inline

◆ ResimType()

EResimType Chaos::FPBDJointConstraintHandle::ResimType ( ) const

◆ SetAngularDriveDamping()

void Chaos::FPBDJointConstraintHandle::SetAngularDriveDamping ( const FVec3  Damping)

◆ SetAngularDriveForceMode()

void Chaos::FPBDJointConstraintHandle::SetAngularDriveForceMode ( EJointForceMode  ForceMode)

◆ SetAngularDriveMaxTorque()

void Chaos::FPBDJointConstraintHandle::SetAngularDriveMaxTorque ( const FVec3  MaxTorque)

◆ SetAngularDrivePositionTarget()

void Chaos::FPBDJointConstraintHandle::SetAngularDrivePositionTarget ( const FQuat  Target)

◆ SetAngularDriveStiffness()

void Chaos::FPBDJointConstraintHandle::SetAngularDriveStiffness ( const FVec3  Stiffness)

◆ SetAngularDriveVelocityTarget()

void Chaos::FPBDJointConstraintHandle::SetAngularDriveVelocityTarget ( const FVec3  Target)

◆ SetChildConnectorLocation()

void Chaos::FPBDJointConstraintHandle::SetChildConnectorLocation ( const FVec3  Location)

◆ SetChildConnectorRotation()

void Chaos::FPBDJointConstraintHandle::SetChildConnectorRotation ( const FQuat  Rotation)

◆ SetCollisionEnabled()

void Chaos::FPBDJointConstraintHandle::SetCollisionEnabled ( const bool  bCollisionEnabled)

◆ SetConstraintContainer()

void Chaos::FPBDJointConstraintHandle::SetConstraintContainer ( FPBDConstraintContainer NewConstraintContainer)
inline

◆ SetConstraintEnabled()

void Chaos::FPBDJointConstraintHandle::SetConstraintEnabled ( bool  bEnabled)

◆ SetDriveParams()

void Chaos::FPBDJointConstraintHandle::SetDriveParams ( const FVec3  LinearStiffness,
const FVec3  LinearDamping,
const FVec3  MaxForce,
const FVec3  AngularStiffness,
const FVec3  AngularDamping,
const FVec3  MaxTorque 
)

This allows the most common drive parameters to be set in one call. Note that the individual drive elements will be enabled/disabled depending on the strength/damping values passed in.

Angular values are passed in as (swing, twist, slerp)

◆ SetEnabledDuringResim()

void Chaos::FPBDJointConstraintHandle::SetEnabledDuringResim ( bool  bEnabled)

◆ SetJointState()

void Chaos::FPBDJointConstraintHandle::SetJointState ( const class FPBDJointState NewState)

◆ SetLinearDriveDamping()

void Chaos::FPBDJointConstraintHandle::SetLinearDriveDamping ( const FVec3  Damping)

◆ SetLinearDriveForceMode()

void Chaos::FPBDJointConstraintHandle::SetLinearDriveForceMode ( EJointForceMode  ForceMode)

◆ SetLinearDriveMaxForce()

void Chaos::FPBDJointConstraintHandle::SetLinearDriveMaxForce ( const FVec3  MaxForce)

◆ SetLinearDrivePositionTarget()

void Chaos::FPBDJointConstraintHandle::SetLinearDrivePositionTarget ( const FVec3  Target)

◆ SetLinearDriveStiffness()

void Chaos::FPBDJointConstraintHandle::SetLinearDriveStiffness ( const FVec3  Stiffness)

◆ SetLinearDriveVelocityTarget()

void Chaos::FPBDJointConstraintHandle::SetLinearDriveVelocityTarget ( const FVec3  Target)

◆ SetParentConnectorLocation()

void Chaos::FPBDJointConstraintHandle::SetParentConnectorLocation ( const FVec3  Location)

◆ SetParentConnectorRotation()

void Chaos::FPBDJointConstraintHandle::SetParentConnectorRotation ( const FQuat  Rotation)

◆ SetParentInvMassScale()

void Chaos::FPBDJointConstraintHandle::SetParentInvMassScale ( const FReal  ParentInvMassScale)

◆ SetSettings()

void Chaos::FPBDJointConstraintHandle::SetSettings ( const FPBDJointSettings Settings)

◆ SetSyncState()

void Chaos::FPBDJointConstraintHandle::SetSyncState ( ESyncState  SyncState)

◆ StaticType()

static const FConstraintHandleTypeID & Chaos::FPBDJointConstraintHandle::StaticType ( )
inlinestatic

◆ SyncState()

ESyncState Chaos::FPBDJointConstraintHandle::SyncState ( ) const

The documentation for this class was generated from the following files: