UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType > Class Template Reference

#include <IndexedConstraintContainer.h>

+ Inheritance diagram for Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >:

Public Types

using FConstraintContainerType = ConstraintContainerType
 
using FConstraintHandleType = typename FConstraintContainerType::FConstraintContainerHandle
 

Public Member Functions

 TIndexedConstraintContainerSolver (FConstraintContainerType &InConstraintContainer, const int32 InPriority)
 
virtual void Reset (const int32 MaxConstraints) override final
 
virtual int32 GetNumConstraints () const override final
 
virtual void AddConstraints () override final
 
virtual void AddConstraints (const TArrayView< Private::FPBDIslandConstraint * > &IslandConstraints) override final
 
virtual void AddBodies (FSolverBodyContainer &SolverBodyContainer) override final
 
virtual void GatherInput (const FReal Dt) override final
 
virtual void GatherInput (const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final
 
virtual void ScatterOutput (const FReal Dt) override final
 
virtual void ScatterOutput (const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final
 
virtual void ApplyPositionConstraints (const FReal Dt, const int32 It, const int32 NumIts) override final
 
virtual void ApplyVelocityConstraints (const FReal Dt, const int32 It, const int32 NumIts) override final
 
virtual void ApplyProjectionConstraints (const FReal Dt, const int32 It, const int32 NumIts) override final
 
- Public Member Functions inherited from Chaos::FConstraintContainerSolver
 FConstraintContainerSolver (const int32 InPriority)
 
virtual ~FConstraintContainerSolver ()
 
void SetPriority (const int32 InPriority)
 
int32 GetPriority () const
 
virtual void PreApplyPositionConstraints (const FReal Dt)
 
virtual void PreApplyVelocityConstraints (const FReal Dt)
 
virtual void PreApplyProjectionConstraints (const FReal Dt)
 

Detailed Description

template<typename ConstraintContainerType>
class Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >

A solver container for use by constraint containers that implement the solve methods directly and hold all their constraints in arrays and (Joints, Suspension, ...). This Solver just calls into the Container with the list of constraint indices to solve. There will be one of these created for each constraint solver task, as determined by the constraint graph.

Member Typedef Documentation

◆ FConstraintContainerType

◆ FConstraintHandleType

using Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::FConstraintHandleType = typename FConstraintContainerType::FConstraintContainerHandle

Constructor & Destructor Documentation

◆ TIndexedConstraintContainerSolver()

Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::TIndexedConstraintContainerSolver ( FConstraintContainerType InConstraintContainer,
const int32  InPriority 
)
inline

Member Function Documentation

◆ AddBodies()

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::AddBodies ( FSolverBodyContainer SolverBodyContainer)
inlinefinaloverridevirtual

Add all the required bodies to the body container (required for the constraints added with AddConstraints)

Implements Chaos::FConstraintContainerSolver.

◆ AddConstraints() [1/2]

RBAN API. Add all (active) constraints to the solver.

Implements Chaos::FConstraintContainerSolver.

◆ AddConstraints() [2/2]

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::AddConstraints ( const TArrayView< Private::FPBDIslandConstraint * > &  Constraints)
inlinefinaloverridevirtual

Island API. Add a set of constraints to the solver. This can be called multiple times: once for each island in an IslandGroup, but there will never be more constraints added than specified in Reset(). NOTE: this should not do any actual data gathering - it should just add to the list of constraints in this group. All data gathering is handled in GatherInput.

Implements Chaos::FConstraintContainerSolver.

◆ ApplyPositionConstraints()

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::ApplyPositionConstraints ( const FReal  Dt,
const int32  It,
const int32  NumIts 
)
inlinefinaloverridevirtual

Apply the position solve to all constraints in the container

Implements Chaos::FConstraintContainerSolver.

◆ ApplyProjectionConstraints()

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::ApplyProjectionConstraints ( const FReal  Dt,
const int32  It,
const int32  NumIts 
)
inlinefinaloverridevirtual

Apply the projection solve to all constraints in the container

Implements Chaos::FConstraintContainerSolver.

◆ ApplyVelocityConstraints()

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::ApplyVelocityConstraints ( const FReal  Dt,
const int32  It,
const int32  NumIts 
)
inlinefinaloverridevirtual

Apply the velocity solve to all constraints in the container

Implements Chaos::FConstraintContainerSolver.

◆ GatherInput() [1/2]

◆ GatherInput() [2/2]

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::GatherInput ( const FReal  Dt,
const int32  BeginIndex,
const int32  EndIndex 
)
inlinefinaloverridevirtual

◆ GetNumConstraints()

◆ Reset()

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::Reset ( const int32  MaxConstraints)
inlinefinaloverridevirtual

Set the maximum number of constraints the solver will have to handle. This will be called only once per tick, so containers resized here will not have to resize again this tick so that pointers to elements in the container will remain valid for the tick (but not beyond).

Implements Chaos::FConstraintContainerSolver.

◆ ScatterOutput() [1/2]

◆ ScatterOutput() [2/2]

virtual void Chaos::TIndexedConstraintContainerSolver< ConstraintContainerType >::ScatterOutput ( const FReal  Dt,
const int32  BeginIndex,
const int32  EndIndex 
)
inlinefinaloverridevirtual

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