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

#include <PBDSuspensionConstraints.h>

+ Inheritance diagram for Chaos::FPBDSuspensionConstraints:

Public Types

using Base = TPBDIndexedConstraintContainer< FPBDSuspensionConstraints >
 
using FConstraintContainerHandle = FPBDSuspensionConstraintHandle
 
using FConstraintHandleAllocator = TConstraintHandleAllocator< FPBDSuspensionConstraints >
 
using FHandles = TArray< FConstraintContainerHandle * >
 
- Public Types inherited from Chaos::TPBDIndexedConstraintContainer< FPBDSuspensionConstraints >
using FConstaintContainerType = FPBDSuspensionConstraints
 

Public Member Functions

 FPBDSuspensionConstraints (const FPBDSuspensionSolverSettings &InSolverSettings=FPBDSuspensionSolverSettings())
 
 FPBDSuspensionConstraints (TArray< FVec3 > &&Locations, TArray< TGeometryParticleHandle< FReal, 3 > * > &&InConstrainedParticles, TArray< FVec3 > &&InLocalOffset, TArray< FPBDSuspensionSettings > &&InConstraintSettings)
 
virtual ~FPBDSuspensionConstraints ()
 
int32 NumConstraints () const
 
CHAOS_API FConstraintContainerHandleAddConstraint (TGeometryParticleHandle< FReal, 3 > *Particle, const FVec3 &InConstraintFrame, const FPBDSuspensionSettings &InConstraintSettings)
 
CHAOS_API void RemoveConstraint (int ConstraintIndex)
 
void DisconnectConstraints (const TSet< TGeometryParticleHandle< FReal, 3 > * > &RemovedParticles)
 
bool IsConstraintEnabled (int32 ConstraintIndex) const
 
void SetConstraintEnabled (int32 ConstraintIndex, bool bEnabled)
 
const FPBDSuspensionSettingsGetSettings (int32 ConstraintIndex) const
 
FPBDSuspensionSettingsGetSettings (int32 ConstraintIndex)
 
void SetSettings (int32 ConstraintIndex, const FPBDSuspensionSettings &Settings)
 
void SetTarget (int32 ConstraintIndex, const FVector &TargetPos)
 
const FPBDSuspensionResultsGetResults (int32 ConstraintIndex) const
 
FHandlesGetConstraintHandles ()
 
const FHandlesGetConstConstraintHandles () const
 
const FConstraintContainerHandleGetConstraintHandle (int32 ConstraintIndex) const
 
FConstraintContainerHandleGetConstraintHandle (int32 ConstraintIndex)
 
TVec2< TGeometryParticleHandle< FReal, 3 > * > GetConstrainedParticles (int32 ConstraintIndex) const
 
const FVec3GetConstraintPosition (int ConstraintIndex) const
 
void SetConstraintPosition (const int32 ConstraintIndex, const FVec3 &Position)
 
virtual int32 GetNumConstraints () const override final
 
virtual void ResetConstraints () override final
 
virtual CHAOS_API void AddConstraintsToGraph (Private::FPBDIslandManager &IslandManager) override final
 
virtual void PrepareTick () override final
 
virtual void UnprepareTick () override final
 
CHAOS_API void AddBodies (FSolverBodyContainer &SolverBodyContainer)
 
CHAOS_API void GatherInput (const FReal Dt)
 
CHAOS_API void ScatterOutput (const FReal Dt)
 
CHAOS_API void ApplyPositionConstraints (const FReal Dt, const int32 It, const int32 NumIts)
 
CHAOS_API void ApplyVelocityConstraints (const FReal Dt, const int32 It, const int32 NumIts)
 
void ApplyProjectionConstraints (const FReal Dt, const int32 It, const int32 NumIts)
 
CHAOS_API void AddBodies (const TArrayView< int32 > &ConstraintIndices, FSolverBodyContainer &SolverBodyContainer)
 
CHAOS_API void GatherInput (const TArrayView< int32 > &ConstraintIndices, const FReal Dt)
 
CHAOS_API void ScatterOutput (const TArrayView< int32 > &ConstraintIndices, const FReal Dt)
 
CHAOS_API void ApplyPositionConstraints (const TArrayView< int32 > &ConstraintIndices, const FReal Dt, const int32 It, const int32 NumIts)
 
CHAOS_API void ApplyVelocityConstraints (const TArrayView< int32 > &ConstraintIndices, const FReal Dt, const int32 It, const int32 NumIts)
 
void ApplyProjectionConstraints (const TArrayView< int32 > &ConstraintIndices, const FReal Dt, const int32 It, const int32 NumIts)
 
- Public Member Functions inherited from Chaos::TPBDIndexedConstraintContainer< FPBDSuspensionConstraints >
 TPBDIndexedConstraintContainer (FConstraintHandleTypeID InType)
 
virtual TUniquePtr< FConstraintContainerSolverCreateSceneSolver (const int32 Priority) override final
 
virtual TUniquePtr< FConstraintContainerSolverCreateGroupSolver (const int32 Priority) override final
 
- Public Member Functions inherited from Chaos::FPBDIndexedConstraintContainer
 FPBDIndexedConstraintContainer (FConstraintHandleTypeID InType)
 
- Public Member Functions inherited from Chaos::FPBDConstraintContainer
CHAOS_API FPBDConstraintContainer (FConstraintHandleTypeID InConstraintHandleType)
 
virtual CHAOS_API ~FPBDConstraintContainer ()
 
int32 GetContainerId () const
 
void SetContainerId (int32 InContainerId)
 
const FConstraintHandleTypeIDGetConstraintHandleType () const
 
virtual void UpdatePositionBasedState (const FReal Dt)
 
virtual void OnDisableParticle (FGeometryParticleHandle *DisabledParticle)
 
virtual void OnEnableParticle (FGeometryParticleHandle *EnabledParticle)
 

Additional Inherited Members

- Protected Member Functions inherited from Chaos::FPBDIndexedConstraintContainer
int32 GetConstraintIndex (const FIndexedConstraintHandle *ConstraintHandle) const
 
void SetConstraintIndex (FIndexedConstraintHandle *ConstraintHandle, int32 ConstraintIndex) const
 
- Protected Attributes inherited from Chaos::FPBDConstraintContainer
FConstraintHandleTypeID ConstraintHandleType
 
int32 ContainerId
 

Member Typedef Documentation

◆ Base

◆ FConstraintContainerHandle

◆ FConstraintHandleAllocator

◆ FHandles

Constructor & Destructor Documentation

◆ FPBDSuspensionConstraints() [1/2]

Chaos::FPBDSuspensionConstraints::FPBDSuspensionConstraints ( const FPBDSuspensionSolverSettings InSolverSettings = FPBDSuspensionSolverSettings())
inline

◆ FPBDSuspensionConstraints() [2/2]

Chaos::FPBDSuspensionConstraints::FPBDSuspensionConstraints ( TArray< FVec3 > &&  Locations,
TArray< TGeometryParticleHandle< FReal, 3 > * > &&  InConstrainedParticles,
TArray< FVec3 > &&  InLocalOffset,
TArray< FPBDSuspensionSettings > &&  InConstraintSettings 
)
inline

◆ ~FPBDSuspensionConstraints()

virtual Chaos::FPBDSuspensionConstraints::~FPBDSuspensionConstraints ( )
inlinevirtual

Member Function Documentation

◆ AddBodies() [1/2]

void Chaos::FPBDSuspensionConstraints::AddBodies ( const TArrayView< int32 > &  ConstraintIndices,
FSolverBodyContainer SolverBodyContainer 
)

◆ AddBodies() [2/2]

void Chaos::FPBDSuspensionConstraints::AddBodies ( FSolverBodyContainer SolverBodyContainer)

◆ AddConstraint()

FPBDSuspensionConstraints::FConstraintContainerHandle * Chaos::FPBDSuspensionConstraints::AddConstraint ( TGeometryParticleHandle< FReal, 3 > *  Particle,
const FVec3 InConstraintFrame,
const FPBDSuspensionSettings InConstraintSettings 
)

Add a constraint.

◆ AddConstraintsToGraph()

void Chaos::FPBDSuspensionConstraints::AddConstraintsToGraph ( Private::FPBDIslandManager IslandManager)
finaloverridevirtual

Add all the constraints in the container to the graph

Implements Chaos::FPBDConstraintContainer.

◆ ApplyPositionConstraints() [1/2]

void Chaos::FPBDSuspensionConstraints::ApplyPositionConstraints ( const FReal  Dt,
const int32  It,
const int32  NumIts 
)

◆ ApplyPositionConstraints() [2/2]

void Chaos::FPBDSuspensionConstraints::ApplyPositionConstraints ( const TArrayView< int32 > &  ConstraintIndices,
const FReal  Dt,
const int32  It,
const int32  NumIts 
)

◆ ApplyProjectionConstraints() [1/2]

void Chaos::FPBDSuspensionConstraints::ApplyProjectionConstraints ( const FReal  Dt,
const int32  It,
const int32  NumIts 
)
inline

◆ ApplyProjectionConstraints() [2/2]

void Chaos::FPBDSuspensionConstraints::ApplyProjectionConstraints ( const TArrayView< int32 > &  ConstraintIndices,
const FReal  Dt,
const int32  It,
const int32  NumIts 
)
inline

◆ ApplyVelocityConstraints() [1/2]

void Chaos::FPBDSuspensionConstraints::ApplyVelocityConstraints ( const FReal  Dt,
const int32  It,
const int32  NumIts 
)

◆ ApplyVelocityConstraints() [2/2]

void Chaos::FPBDSuspensionConstraints::ApplyVelocityConstraints ( const TArrayView< int32 > &  ConstraintIndices,
const FReal  Dt,
const int32  It,
const int32  NumIts 
)

◆ DisconnectConstraints()

void Chaos::FPBDSuspensionConstraints::DisconnectConstraints ( const TSet< TGeometryParticleHandle< FReal, 3 > * > &  RemovedParticles)
inlinevirtual

Reimplemented from Chaos::FPBDConstraintContainer.

◆ GatherInput() [1/2]

void Chaos::FPBDSuspensionConstraints::GatherInput ( const FReal  Dt)

◆ GatherInput() [2/2]

void Chaos::FPBDSuspensionConstraints::GatherInput ( const TArrayView< int32 > &  ConstraintIndices,
const FReal  Dt 
)

◆ GetConstConstraintHandles()

const FHandles & Chaos::FPBDSuspensionConstraints::GetConstConstraintHandles ( ) const
inline

◆ GetConstrainedParticles()

TVec2< TGeometryParticleHandle< FReal, 3 > * > Chaos::FPBDSuspensionConstraints::GetConstrainedParticles ( int32  ConstraintIndex) const
inline

Get the particles that are affected by the specified constraint.

◆ GetConstraintHandle() [1/2]

FConstraintContainerHandle * Chaos::FPBDSuspensionConstraints::GetConstraintHandle ( int32  ConstraintIndex)
inline

◆ GetConstraintHandle() [2/2]

const FConstraintContainerHandle * Chaos::FPBDSuspensionConstraints::GetConstraintHandle ( int32  ConstraintIndex) const
inline

◆ GetConstraintHandles()

FHandles & Chaos::FPBDSuspensionConstraints::GetConstraintHandles ( )
inline

◆ GetConstraintPosition()

const FVec3 & Chaos::FPBDSuspensionConstraints::GetConstraintPosition ( int  ConstraintIndex) const
inline

Get the world-space constraint positions for each body.

◆ GetNumConstraints()

virtual int32 Chaos::FPBDSuspensionConstraints::GetNumConstraints ( ) const
inlinefinaloverridevirtual

Get the number of constraints in this container (includes inactive and disabled)

Implements Chaos::FPBDConstraintContainer.

◆ GetResults()

const FPBDSuspensionResults & Chaos::FPBDSuspensionConstraints::GetResults ( int32  ConstraintIndex) const
inline

◆ GetSettings() [1/2]

FPBDSuspensionSettings & Chaos::FPBDSuspensionConstraints::GetSettings ( int32  ConstraintIndex)
inline

◆ GetSettings() [2/2]

const FPBDSuspensionSettings & Chaos::FPBDSuspensionConstraints::GetSettings ( int32  ConstraintIndex) const
inline

◆ IsConstraintEnabled()

bool Chaos::FPBDSuspensionConstraints::IsConstraintEnabled ( int32  ConstraintIndex) const
inlinevirtual

◆ NumConstraints()

int32 Chaos::FPBDSuspensionConstraints::NumConstraints ( ) const
inline

Get the number of constraints.

◆ PrepareTick()

virtual void Chaos::FPBDSuspensionConstraints::PrepareTick ( )
inlinefinaloverridevirtual

Called oncer per tick to initialize buffers required for the rest of the tick

Implements Chaos::FPBDConstraintContainer.

◆ RemoveConstraint()

void Chaos::FPBDSuspensionConstraints::RemoveConstraint ( int  ConstraintIndex)

Remove a constraint.

◆ ResetConstraints()

virtual void Chaos::FPBDSuspensionConstraints::ResetConstraints ( )
inlinefinaloverridevirtual

Empty the constraints (must be removed from the graph first, if required)

Implements Chaos::FPBDConstraintContainer.

◆ ScatterOutput() [1/2]

void Chaos::FPBDSuspensionConstraints::ScatterOutput ( const FReal  Dt)

◆ ScatterOutput() [2/2]

void Chaos::FPBDSuspensionConstraints::ScatterOutput ( const TArrayView< int32 > &  ConstraintIndices,
const FReal  Dt 
)

◆ SetConstraintEnabled()

void Chaos::FPBDSuspensionConstraints::SetConstraintEnabled ( int32  ConstraintIndex,
bool  bEnabled 
)
inlinevirtual

◆ SetConstraintPosition()

void Chaos::FPBDSuspensionConstraints::SetConstraintPosition ( const int32  ConstraintIndex,
const FVec3 Position 
)
inline

◆ SetSettings()

void Chaos::FPBDSuspensionConstraints::SetSettings ( int32  ConstraintIndex,
const FPBDSuspensionSettings Settings 
)
inline

◆ SetTarget()

void Chaos::FPBDSuspensionConstraints::SetTarget ( int32  ConstraintIndex,
const FVector TargetPos 
)
inline

◆ UnprepareTick()

virtual void Chaos::FPBDSuspensionConstraints::UnprepareTick ( )
inlinefinaloverridevirtual

Should undo any allocations in PrepareTick

Implements Chaos::FPBDConstraintContainer.


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