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

Container class for all character ground constraints on the physics thread. More...

#include <CharacterGroundConstraintContainer.h>

+ Inheritance diagram for Chaos::FCharacterGroundConstraintContainer:

Public Types

using Base = FPBDConstraintContainer
 
using FConstraints = TArrayView< FCharacterGroundConstraintHandle *const >
 
using FConstConstraints = TArrayView< const FCharacterGroundConstraintHandle *const >
 

Public Member Functions

CHAOS_API FCharacterGroundConstraintContainer ()
 
virtual CHAOS_API ~FCharacterGroundConstraintContainer ()
 
int32 NumConstraints () const
 
CHAOS_API FCharacterGroundConstraintHandleAddConstraint (const FCharacterGroundConstraintSettings &InConstraintSettings, const FCharacterGroundConstraintDynamicData &InConstraintData, FGeometryParticleHandle *CharacterParticle, FGeometryParticleHandle *GroundParticle=nullptr)
 
CHAOS_API void RemoveConstraint (FCharacterGroundConstraintHandle *Constraint)
 
FConstraints GetConstraints ()
 
FConstConstraints GetConstConstraints () const
 
FCharacterGroundConstraintHandleGetConstraint (int32 ConstraintIndex)
 
const FCharacterGroundConstraintHandleGetConstraint (int32 ConstraintIndex) const
 
virtual CHAOS_API TUniquePtr< FConstraintContainerSolverCreateSceneSolver (const int32 Priority) override final
 
virtual CHAOS_API TUniquePtr< FConstraintContainerSolverCreateGroupSolver (const int32 Priority) override final
 
virtual int32 GetNumConstraints () const override final
 
virtual void ResetConstraints () override final
 
virtual CHAOS_API void AddConstraintsToGraph (Private::FPBDIslandManager &IslandManager) override final
 
virtual CHAOS_API void PrepareTick () override final
 
virtual CHAOS_API void UnprepareTick () override final
 
virtual CHAOS_API void DisconnectConstraints (const TSet< TGeometryParticleHandle< FReal, 3 > * > &RemovedParticles) override final
 
virtual CHAOS_API void OnDisableParticle (FGeometryParticleHandle *DisabledParticle) override final
 
virtual CHAOS_API void OnEnableParticle (FGeometryParticleHandle *EnabledParticle) override final
 
CHAOS_API void SetConstraintEnabled (int32 ConstraintIndex, bool bEnabled)
 
bool IsConstraintEnabled (int32 ConstraintIndex) const
 
- 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)
 

Additional Inherited Members

- Protected Attributes inherited from Chaos::FPBDConstraintContainer
FConstraintHandleTypeID ConstraintHandleType
 
int32 ContainerId
 

Detailed Description

Container class for all character ground constraints on the physics thread.

Member Typedef Documentation

◆ Base

◆ FConstConstraints

◆ FConstraints

Constructor & Destructor Documentation

◆ FCharacterGroundConstraintContainer()

Chaos::FCharacterGroundConstraintContainer::FCharacterGroundConstraintContainer ( )

◆ ~FCharacterGroundConstraintContainer()

Chaos::FCharacterGroundConstraintContainer::~FCharacterGroundConstraintContainer ( )
virtual

Member Function Documentation

◆ AddConstraint()

FCharacterGroundConstraintHandle * Chaos::FCharacterGroundConstraintContainer::AddConstraint ( const FCharacterGroundConstraintSettings InConstraintSettings,
const FCharacterGroundConstraintDynamicData InConstraintData,
FGeometryParticleHandle CharacterParticle,
FGeometryParticleHandle GroundParticle = nullptr 
)

◆ AddConstraintsToGraph()

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

Add all the constraints in the container to the graph

Implements Chaos::FPBDConstraintContainer.

◆ CreateGroupSolver()

TUniquePtr< FConstraintContainerSolver > Chaos::FCharacterGroundConstraintContainer::CreateGroupSolver ( const int32  Priority)
finaloverridevirtual

Create a constraint solver for an Evolution with Graph support (World evolution). The system will create several of these: usually one per worker thread (Island Group) but possibly more in complex scenes where constraint coloring is being used. It will be used to solve constraints in groups, with the constraints in each group determined by the graph/islands/islandgroups.

Implements Chaos::FPBDConstraintContainer.

◆ CreateSceneSolver()

TUniquePtr< FConstraintContainerSolver > Chaos::FCharacterGroundConstraintContainer::CreateSceneSolver ( const int32  Priority)
finaloverridevirtual

Create a constraint solver for an Evolution without Graph support (RBAN evolution). There will only be one of these per scene (RBAN node) and it is used to solve all constraints in the container (serially).

Implements Chaos::FPBDConstraintContainer.

◆ DisconnectConstraints()

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

Reimplemented from Chaos::FPBDConstraintContainer.

◆ GetConstConstraints()

FConstConstraints Chaos::FCharacterGroundConstraintContainer::GetConstConstraints ( ) const
inline

◆ GetConstraint() [1/2]

FCharacterGroundConstraintHandle * Chaos::FCharacterGroundConstraintContainer::GetConstraint ( int32  ConstraintIndex)
inline

◆ GetConstraint() [2/2]

const FCharacterGroundConstraintHandle * Chaos::FCharacterGroundConstraintContainer::GetConstraint ( int32  ConstraintIndex) const
inline

◆ GetConstraints()

FConstraints Chaos::FCharacterGroundConstraintContainer::GetConstraints ( )
inline

◆ GetNumConstraints()

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

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

Implements Chaos::FPBDConstraintContainer.

◆ IsConstraintEnabled()

bool Chaos::FCharacterGroundConstraintContainer::IsConstraintEnabled ( int32  ConstraintIndex) const
inline

◆ NumConstraints()

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

◆ OnDisableParticle()

void Chaos::FCharacterGroundConstraintContainer::OnDisableParticle ( FGeometryParticleHandle DisabledParticle)
finaloverridevirtual

Reimplemented from Chaos::FPBDConstraintContainer.

◆ OnEnableParticle()

void Chaos::FCharacterGroundConstraintContainer::OnEnableParticle ( FGeometryParticleHandle EnabledParticle)
finaloverridevirtual

Reimplemented from Chaos::FPBDConstraintContainer.

◆ PrepareTick()

void Chaos::FCharacterGroundConstraintContainer::PrepareTick ( )
finaloverridevirtual

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

Implements Chaos::FPBDConstraintContainer.

◆ RemoveConstraint()

void Chaos::FCharacterGroundConstraintContainer::RemoveConstraint ( FCharacterGroundConstraintHandle Constraint)

◆ ResetConstraints()

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

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

Implements Chaos::FPBDConstraintContainer.

◆ SetConstraintEnabled()

void Chaos::FCharacterGroundConstraintContainer::SetConstraintEnabled ( int32  ConstraintIndex,
bool  bEnabled 
)

◆ UnprepareTick()

void Chaos::FCharacterGroundConstraintContainer::UnprepareTick ( )
finaloverridevirtual

Should undo any allocations in PrepareTick

Implements Chaos::FPBDConstraintContainer.


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