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

#include <PBDConstraintContainer.h>

+ Inheritance diagram for Chaos::FPBDConstraintContainer:

Public Member Functions

CHAOS_API FPBDConstraintContainer (FConstraintHandleTypeID InConstraintHandleType)
 
virtual CHAOS_API ~FPBDConstraintContainer ()
 
int32 GetContainerId () const
 
void SetContainerId (int32 InContainerId)
 
const FConstraintHandleTypeIDGetConstraintHandleType () const
 
virtual int32 GetNumConstraints () const =0
 
virtual void ResetConstraints ()=0
 
virtual void UpdatePositionBasedState (const FReal Dt)
 
virtual void PrepareTick ()=0
 
virtual void UnprepareTick ()=0
 
virtual void DisconnectConstraints (const TSet< TGeometryParticleHandle< FReal, 3 > * > &)
 
virtual void OnDisableParticle (FGeometryParticleHandle *DisabledParticle)
 
virtual void OnEnableParticle (FGeometryParticleHandle *EnabledParticle)
 
virtual TUniquePtr< FConstraintContainerSolverCreateSceneSolver (const int32 Priority)=0
 
virtual TUniquePtr< FConstraintContainerSolverCreateGroupSolver (const int32 Priority)=0
 
virtual void AddConstraintsToGraph (Private::FPBDIslandManager &IslandManager)=0
 

Protected Attributes

FConstraintHandleTypeID ConstraintHandleType
 
int32 ContainerId
 

Detailed Description

Base class for containers of constraints. A Constraint Container holds an array of constraints and provides methods to allocate and deallocate constraints as well as the API required to plug into Constraint Rules.

Constructor & Destructor Documentation

◆ FPBDConstraintContainer()

Chaos::FPBDConstraintContainer::FPBDConstraintContainer ( FConstraintHandleTypeID  InConstraintHandleType)

◆ ~FPBDConstraintContainer()

Chaos::FPBDConstraintContainer::~FPBDConstraintContainer ( )
virtual

Member Function Documentation

◆ AddConstraintsToGraph()

◆ CreateGroupSolver()

virtual TUniquePtr< FConstraintContainerSolver > Chaos::FPBDConstraintContainer::CreateGroupSolver ( const int32  Priority)
pure virtual

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.

Implemented in Chaos::FCharacterGroundConstraintContainer, Chaos::TPBDIndexedConstraintContainer< ConstaintContainerType >, Chaos::TPBDIndexedConstraintContainer< FPBDNullConstraints >, Chaos::TPBDIndexedConstraintContainer< FPBDPositionConstraints >, Chaos::TPBDIndexedConstraintContainer< FPBDRigidDynamicSpringConstraints >, Chaos::TPBDIndexedConstraintContainer< FPBDRigidSpringConstraints >, Chaos::TPBDIndexedConstraintContainer< FPBDSuspensionConstraints >, Chaos::FPBDCollisionConstraints, and Chaos::FPBDJointConstraints.

◆ CreateSceneSolver()

◆ DisconnectConstraints()

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

◆ GetConstraintHandleType()

const FConstraintHandleTypeID & Chaos::FPBDConstraintContainer::GetConstraintHandleType ( ) const
inline

The TypeID of the constraints in this container. Used to safely downcast constraint handles.

See also
FConstraintHandle::As()

◆ GetContainerId()

int32 Chaos::FPBDConstraintContainer::GetContainerId ( ) const
inline

The ContainerId is used to map constraint handles back to their constraint container. Every container is assigned an ID when it is registered - it will be the array index in the Evolution

◆ GetNumConstraints()

virtual int32 Chaos::FPBDConstraintContainer::GetNumConstraints ( ) const
pure virtual

◆ OnDisableParticle()

void Chaos::FPBDConstraintContainer::OnDisableParticle ( FGeometryParticleHandle DisabledParticle)
virtual

◆ OnEnableParticle()

void Chaos::FPBDConstraintContainer::OnEnableParticle ( FGeometryParticleHandle EnabledParticle)
virtual

◆ PrepareTick()

◆ ResetConstraints()

◆ SetContainerId()

void Chaos::FPBDConstraintContainer::SetContainerId ( int32  InContainerId)
inline

◆ UnprepareTick()

◆ UpdatePositionBasedState()

virtual void Chaos::FPBDConstraintContainer::UpdatePositionBasedState ( const FReal  Dt)
inlinevirtual

An opportunity to create/destroy constraints based on particle state.

Reimplemented in Chaos::FPBDPositionConstraints, and Chaos::FPBDRigidDynamicSpringConstraints.

Member Data Documentation

◆ ConstraintHandleType

FConstraintHandleTypeID Chaos::FPBDConstraintContainer::ConstraintHandleType
protected

◆ ContainerId

int32 Chaos::FPBDConstraintContainer::ContainerId
protected

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