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

#include <IslandGroup.h>

+ Inheritance diagram for Chaos::Private::FPBDIslandConstraintGroupSolver:

Public Member Functions

 UE_NONCOPYABLE (FPBDIslandConstraintGroupSolver)
 
CHAOS_API FPBDIslandConstraintGroupSolver (FPBDIslandManager &InIslandManager)
 
CHAOS_API void AddIsland (FPBDIsland *Island)
 
FORCEINLINE const TArray< FPBDIsland * > & GetIslands ()
 
int32 GetNumParticles () const
 
int32 GetNumConstraints () const
 
int32 GetNumConstraints (const int32 ContainerId) const
 
virtual CHAOS_API void SetIterationSettings (const FIterationSettings &InIterations) override
 
- Public Member Functions inherited from Chaos::Private::FPBDConstraintGroupSolver
 UE_NONCOPYABLE (FPBDConstraintGroupSolver)
 
CHAOS_API FPBDConstraintGroupSolver ()
 
virtual CHAOS_API ~FPBDConstraintGroupSolver ()
 
FIterationSettings GetIterationSettings () const
 
int32 GetNumSolverBodies () const
 
int32 GetNumSolverConstraints () const
 
CHAOS_API void SetConstraintSolver (const int32 ContainerId, TUniquePtr< FConstraintContainerSolver > &&Solver)
 
CHAOS_API void SetConstraintSolverPriority (const int32 ContainerId, const int32 Priority)
 
CHAOS_API void Reset ()
 
CHAOS_API void AddConstraintsAndBodies ()
 
CHAOS_API void GatherBodies (const FReal Dt)
 
CHAOS_API void GatherBodies (const FReal Dt, const int32 BeginBodyIndex, const int32 EndBodyIndex)
 
CHAOS_API void GatherConstraints (const FReal Dt)
 
CHAOS_API void GatherConstraints (const FReal Dt, const int32 BeginConstraintIndex, const int32 EndConstraintIndex)
 
CHAOS_API void PreApplyPositionConstraints (const FReal Dt)
 
CHAOS_API void PreApplyVelocityConstraints (const FReal Dt)
 
CHAOS_API void PreApplyProjectionConstraints (const FReal Dt)
 
CHAOS_API void ApplyPositionConstraints (const FReal Dt)
 
CHAOS_API void ApplyVelocityConstraints (const FReal Dt)
 
CHAOS_API void ApplyProjectionConstraints (const FReal Dt)
 
CHAOS_API void ScatterBodies (const FReal Dt)
 
CHAOS_API void ScatterBodies (const FReal Dt, const int32 BeginBodyIndex, const int32 EndBodyIndex)
 
CHAOS_API void ScatterConstraints (const FReal Dt)
 
CHAOS_API void ScatterConstraints (const FReal Dt, const int32 BeginConstraintIndex, const int32 EndConstraintIndex)
 

Protected Member Functions

virtual CHAOS_API void SetConstraintSolverImpl (const int32 ContainerId) override final
 
virtual CHAOS_API void ResetImpl () override final
 
virtual CHAOS_API void AddConstraintsImpl () override final
 
virtual CHAOS_API void GatherBodiesImpl (const FReal Dt, const int32 BeginBodyIndex, const int32 EndBodyIndex) override final
 
- Protected Member Functions inherited from Chaos::Private::FPBDConstraintGroupSolver
template<typename LambdaType >
void ApplyToConstraintRange (const int32 BeginConstraintIndex, const int32 EndConstraintIndex, const LambdaType &Lambda)
 
CHAOS_API void SortSolverContainers ()
 

Additional Inherited Members

- Protected Attributes inherited from Chaos::Private::FPBDConstraintGroupSolver
FSolverBodyContainer SolverBodyContainer
 
TArray< TUniquePtr< FConstraintContainerSolver > > ConstraintContainerSolvers
 
int32 TotalNumConstraints
 
TArray< FConstraintContainerSolver * > PrioritizedConstraintContainerSolvers
 
FIterationSettings Iterations
 

Detailed Description

A set of constraints that will ne solved in sequence on a single thread. This will usually be the constraints from several islands, but may be a sub set of constraints of a single island when coloring is enabled for that island.

Constructor & Destructor Documentation

◆ FPBDIslandConstraintGroupSolver()

Chaos::Private::FPBDIslandConstraintGroupSolver::FPBDIslandConstraintGroupSolver ( FPBDIslandManager InIslandManager)

Init the island group

Member Function Documentation

◆ AddConstraintsImpl()

void Chaos::Private::FPBDIslandConstraintGroupSolver::AddConstraintsImpl ( )
finaloverrideprotectedvirtual

◆ AddIsland()

void Chaos::Private::FPBDIslandConstraintGroupSolver::AddIsland ( FPBDIsland Island)

Add island to the group

Parameters
IslandIsland to be added

◆ GatherBodiesImpl()

void Chaos::Private::FPBDIslandConstraintGroupSolver::GatherBodiesImpl ( const FReal  Dt,
const int32  BeginBodyIndex,
const int32  EndBodyIndex 
)
finaloverrideprotectedvirtual

◆ GetIslands()

FORCEINLINE const TArray< FPBDIsland * > & Chaos::Private::FPBDIslandConstraintGroupSolver::GetIslands ( )
inline

Return the islands within the group

◆ GetNumConstraints() [1/2]

int32 Chaos::Private::FPBDIslandConstraintGroupSolver::GetNumConstraints ( ) const
inline

The number of constraints of all types in the island.

◆ GetNumConstraints() [2/2]

int32 Chaos::Private::FPBDIslandConstraintGroupSolver::GetNumConstraints ( const int32  ContainerId) const
inline

The number of constraints of the specific container type in the island.

◆ GetNumParticles()

int32 Chaos::Private::FPBDIslandConstraintGroupSolver::GetNumParticles ( ) const
inline

The number of particles (dynamics, kinematic and static) in the island.

◆ ResetImpl()

void Chaos::Private::FPBDIslandConstraintGroupSolver::ResetImpl ( )
finaloverrideprotectedvirtual

◆ SetConstraintSolverImpl()

void Chaos::Private::FPBDIslandConstraintGroupSolver::SetConstraintSolverImpl ( const int32  ContainerId)
finaloverrideprotectedvirtual

◆ SetIterationSettings()

void Chaos::Private::FPBDIslandConstraintGroupSolver::SetIterationSettings ( const FIterationSettings InIterations)
overridevirtual

Update the iteration settings based on the islands in the group, using at least as many as specified in InIterations

Reimplemented from Chaos::Private::FPBDConstraintGroupSolver.

◆ UE_NONCOPYABLE()

Chaos::Private::FPBDIslandConstraintGroupSolver::UE_NONCOPYABLE ( FPBDIslandConstraintGroupSolver  )

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