![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#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 FConstraintHandleTypeID & | GetConstraintHandleType () 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< FConstraintContainerSolver > | CreateSceneSolver (const int32 Priority)=0 |
| virtual TUniquePtr< FConstraintContainerSolver > | CreateGroupSolver (const int32 Priority)=0 |
| virtual void | AddConstraintsToGraph (Private::FPBDIslandManager &IslandManager)=0 |
Protected Attributes | |
| FConstraintHandleTypeID | ConstraintHandleType |
| int32 | ContainerId |
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.
| Chaos::FPBDConstraintContainer::FPBDConstraintContainer | ( | FConstraintHandleTypeID | InConstraintHandleType | ) |
|
virtual |
|
pure virtual |
Add all the constraints in the container to the graph
Implemented in Chaos::FCharacterGroundConstraintContainer, Chaos::FPBDCollisionConstraints, Chaos::FPBDJointConstraints, Chaos::FPBDNullConstraints, Chaos::FPBDPositionConstraints, Chaos::FPBDRigidDynamicSpringConstraints, Chaos::FPBDRigidSpringConstraints, and Chaos::FPBDSuspensionConstraints.
|
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.
|
pure virtual |
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).
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.
|
inlinevirtual |
Reimplemented in Chaos::FPBDJointConstraints, Chaos::FPBDSuspensionConstraints, and Chaos::FCharacterGroundConstraintContainer.
|
inline |
The TypeID of the constraints in this container. Used to safely downcast constraint handles.
|
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
Get the number of constraints in this container (includes inactive and disabled)
Implemented in Chaos::FCharacterGroundConstraintContainer, Chaos::FPBDCollisionConstraints, Chaos::FPBDJointConstraints, Chaos::FPBDNullConstraints, Chaos::FPBDPositionConstraints, Chaos::FPBDRigidDynamicSpringConstraints, Chaos::FPBDRigidSpringConstraints, and Chaos::FPBDSuspensionConstraints.
|
virtual |
Reimplemented in Chaos::FCharacterGroundConstraintContainer.
|
virtual |
Reimplemented in Chaos::FCharacterGroundConstraintContainer.
Called oncer per tick to initialize buffers required for the rest of the tick
Implemented in Chaos::FCharacterGroundConstraintContainer, Chaos::FPBDCollisionConstraints, Chaos::FPBDJointConstraints, Chaos::FPBDNullConstraints, Chaos::FPBDPositionConstraints, Chaos::FPBDRigidDynamicSpringConstraints, Chaos::FPBDRigidSpringConstraints, and Chaos::FPBDSuspensionConstraints.
Empty the constraints (must be removed from the graph first, if required)
Implemented in Chaos::FCharacterGroundConstraintContainer, Chaos::FPBDCollisionConstraints, Chaos::FPBDJointConstraints, Chaos::FPBDNullConstraints, Chaos::FPBDPositionConstraints, Chaos::FPBDRigidDynamicSpringConstraints, Chaos::FPBDRigidSpringConstraints, and Chaos::FPBDSuspensionConstraints.
Should undo any allocations in PrepareTick
Implemented in Chaos::FCharacterGroundConstraintContainer, Chaos::FPBDCollisionConstraints, Chaos::FPBDJointConstraints, Chaos::FPBDNullConstraints, Chaos::FPBDPositionConstraints, Chaos::FPBDRigidDynamicSpringConstraints, Chaos::FPBDRigidSpringConstraints, and Chaos::FPBDSuspensionConstraints.
|
inlinevirtual |
An opportunity to create/destroy constraints based on particle state.
Reimplemented in Chaos::FPBDPositionConstraints, and Chaos::FPBDRigidDynamicSpringConstraints.
|
protected |
|
protected |