Navigation
API > API/Runtime > API/Runtime/Chaos
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.
| Name | TIndexedConstraintContainerSolver |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Evolution/IndexedConstraintContainer.h |
| Include Path | #include "Chaos/Evolution/IndexedConstraintContainer.h" |
Syntax
template<typename ConstraintContainerType>
class TIndexedConstraintContainerSolver : public Chaos::FConstraintContainerSolver
Inheritance Hierarchy
- FConstraintContainerSolver → TIndexedConstraintContainerSolver
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TIndexedConstraintContainerSolver
(
FConstraintContainerType& InConstraintContainer, |
Chaos/Evolution/IndexedConstraintContainer.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FConstraintContainerType | ConstraintContainerType | Chaos/Evolution/IndexedConstraintContainer.h | |
| FConstraintHandleType | typename FConstraintContainerType::FConstraintContainerHandle | Chaos/Evolution/IndexedConstraintContainer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ConstraintContainer | FConstraintContainerType & | Chaos/Evolution/IndexedConstraintContainer.h | ||
| ConstraintIndices | TArray< int32 > | Chaos/Evolution/IndexedConstraintContainer.h |
Functions
Public
Overridden from FConstraintContainerSolver
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddBodies
(
FSolverBodyContainer& SolverBodyContainer |
Add all the required bodies to the body container (required for the constraints added with AddConstraints) | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void AddConstraints () |
RBAN API. Add all (active) constraints to the solver. | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void AddConstraints
(
const TArrayView< Private::FPBDIslandConstraint* >& Constraints |
Island API. | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void ApplyPositionConstraints
(
const FReal Dt, |
Apply the position solve to all constraints in the container | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void ApplyProjectionConstraints
(
const FReal Dt, |
Apply the projection solve to all constraints in the container | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void ApplyVelocityConstraints
(
const FReal Dt, |
Apply the velocity solve to all constraints in the container | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void GatherInput
(
const FReal Dt |
Chaos/Evolution/IndexedConstraintContainer.h | ||
virtual void GatherInput
(
const FReal Dt, |
Chaos/Evolution/IndexedConstraintContainer.h | ||
virtual int32 GetNumConstraints() |
Chaos/Evolution/IndexedConstraintContainer.h | ||
virtual void Reset
(
const int32 MaxConstraints |
Set the maximum number of constraints the solver will have to handle. | Chaos/Evolution/IndexedConstraintContainer.h | |
virtual void ScatterOutput
(
const FReal Dt |
Chaos/Evolution/IndexedConstraintContainer.h | ||
virtual void ScatterOutput
(
const FReal Dt, |
Chaos/Evolution/IndexedConstraintContainer.h |