Navigation
API > API/Runtime > API/Runtime/Chaos
The solver for a set of collision constraints. This collects all the data required to solve a set of collision constraints into a contiguous, ordered buffer.
| Name | FPBDCollisionContainerSolver |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Collision/PBDCollisionContainerSolver.h |
| Include Path | #include "Chaos/Collision/PBDCollisionContainerSolver.h" |
Syntax
class FPBDCollisionContainerSolver : public Chaos::FConstraintContainerSolver
Inheritance Hierarchy
- FConstraintContainerSolver → FPBDCollisionContainerSolver
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPBDCollisionContainerSolver
(
const FPBDCollisionConstraints& InConstraintContainer, |
Chaos/Collision/PBDCollisionContainerSolver.h | ||
| Chaos/Collision/PBDCollisionContainerSolver.h | |||
| Chaos/Collision/PBDCollisionContainerSolver.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FPBDCollisionContainerSolver() |
Chaos/Collision/PBDCollisionContainerSolver.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AppliedShockPropagation | FSolverReal | The last shock propagation factor we applied. | Chaos/Collision/PBDCollisionContainerSolver.h | |
| bCollisionConstraintPerIterationCollisionDetection | TArray< bool > | Whether we need to run incremental collision for each constraint (LevelSets only now) | Chaos/Collision/PBDCollisionContainerSolver.h | |
| bPerIterationCollisionDetection | bool | Chaos/Collision/PBDCollisionContainerSolver.h | ||
| CollisionConstraints | TArray< FPBDCollisionConstraint * > | Chaos/Collision/PBDCollisionContainerSolver.h | ||
| CollisionSolverManifoldPoints | Private::FPBDCollisionSolverManifoldPoint * | The start of the manifold points array in the scratch buffer. | Chaos/Collision/PBDCollisionContainerSolver.h | |
| CollisionSolvers | Private::FPBDCollisionSolver * | The start of the solver array in the scratch buffer. | Chaos/Collision/PBDCollisionContainerSolver.h | |
| ConstraintContainer | const FPBDCollisionConstraints & | The constraints we are solving and the container to which they belong. | Chaos/Collision/PBDCollisionContainerSolver.h | |
| MaxCollisionSolverManifoldPoints | int32 | Chaos/Collision/PBDCollisionContainerSolver.h | ||
| NumCollisionSolverManifoldPoints | int32 | Chaos/Collision/PBDCollisionContainerSolver.h | ||
| NumCollisionSolvers | int32 | Chaos/Collision/PBDCollisionContainerSolver.h | ||
| Scratch | Private::FScratchBuffer | Buffer for all allocations for this tick (solvers and manifold points) | Chaos/Collision/PBDCollisionContainerSolver.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const Private::FPBDCollisionSolver & GetConstraintSolver
(
const int32 ConstraintIndex |
For testing. | Chaos/Collision/PBDCollisionContainerSolver.h | |
int32 NumSolvers() |
Chaos/Collision/PBDCollisionContainerSolver.h |
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/Collision/PBDCollisionContainerSolver.h | |
virtual void AddConstraints () |
IslandGroup API | Chaos/Collision/PBDCollisionContainerSolver.h | |
virtual void AddConstraints
(
const TArrayView< Private::FPBDIslandConstraint* >& Constraints |
Island API. | Chaos/Collision/PBDCollisionContainerSolver.h | |
virtual void ApplyPositionConstraints
(
const FReal Dt, |
Apply the position solve to all constraints in the container | Chaos/Collision/PBDCollisionContainerSolver.h | |
virtual void ApplyProjectionConstraints
(
const FReal Dt, |
Apply the projection solve to all constraints in the container | Chaos/Collision/PBDCollisionContainerSolver.h | |
virtual void ApplyVelocityConstraints
(
const FReal Dt, |
Apply the velocity solve to all constraints in the container | Chaos/Collision/PBDCollisionContainerSolver.h | |
virtual void GatherInput
(
const FReal Dt, |
Chaos/Collision/PBDCollisionContainerSolver.h | ||
virtual void GatherInput
(
const FReal Dt |
Chaos/Collision/PBDCollisionContainerSolver.h | ||
virtual int32 GetNumConstraints() |
Chaos/Collision/PBDCollisionContainerSolver.h | ||
virtual void Reset
(
const int32 MaxConstraints |
Set the maximum number of constraints the solver will have to handle. | Chaos/Collision/PBDCollisionContainerSolver.h | |
virtual void ScatterOutput
(
const FReal Dt, |
Chaos/Collision/PBDCollisionContainerSolver.h | ||
virtual void ScatterOutput
(
const FReal Dt |
Chaos/Collision/PBDCollisionContainerSolver.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Chaos/Collision/PBDCollisionContainerSolver.h | |||
| Chaos/Collision/PBDCollisionContainerSolver.h |