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.
This version runs a Gauss-Seidel outer loop over manifolds, and a Jacobi loop over contacts in each manifold.
| Name | FPBDCollisionContainerSolverSimd |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Collision/PBDCollisionContainerSolverSimd.h |
| Include Path | #include "Chaos/Collision/PBDCollisionContainerSolverSimd.h" |
Syntax
class FPBDCollisionContainerSolverSimd : public Chaos::FConstraintContainerSolver
Inheritance Hierarchy
- FConstraintContainerSolver → FPBDCollisionContainerSolverSimd
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Chaos/Collision/PBDCollisionContainerSolverSimd.h | |||
| Chaos/Collision/PBDCollisionContainerSolverSimd.h | |||
FPBDCollisionContainerSolverSimd
(
const FPBDCollisionConstraints& InConstraintContainer, |
Chaos/Collision/PBDCollisionContainerSolverSimd.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FPBDCollisionContainerSolverSimd() |
Chaos/Collision/PBDCollisionContainerSolverSimd.h |
Structs
| Name | Remarks |
|---|---|
| FConstraintSolverId | Used to recover the solver for a constraint |
| FDataSimd | Rows of collision constraints and solvers. |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AppliedShockPropagation | FSolverReal | Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
| bPerIterationCollisionDetection | bool | Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
| ConstraintContainer | const FPBDCollisionConstraints & | Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
| ConstraintSolverIds | TArray< FConstraintSolverId > | Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
| NumConstraints | int32 | Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
| SimdData | FDataSimd< 4 > | Chaos/Collision/PBDCollisionContainerSolverSimd.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const TPBDCollisionSolverSimd< 4 > & GetConstraintSolver
(
const int32 SolverIndex |
Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
const FConstraintSolverId & GetConstraintSolverId
(
const int32 ConstraintIndex |
For testing. | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
TArrayView< const TPBDCollisionSolverManifoldPointsSimd< 4 > > GetManifoldPointBuffer() |
Chaos/Collision/PBDCollisionContainerSolverSimd.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/PBDCollisionContainerSolverSimd.h | |
virtual void AddConstraints
(
const TArrayView< Private::FPBDIslandConstraint* >& Constraints |
Island API. | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
virtual void AddConstraints () |
IslandGroup API | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
virtual void ApplyPositionConstraints
(
const FReal Dt, |
Apply the position solve to all constraints in the container | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
virtual void ApplyProjectionConstraints
(
const FReal Dt, |
Apply the projection solve to all constraints in the container | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
virtual void ApplyVelocityConstraints
(
const FReal Dt, |
Apply the velocity solve to all constraints in the container | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
virtual void GatherInput
(
const FReal Dt, |
Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
virtual void GatherInput
(
const FReal Dt |
Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
virtual int32 GetNumConstraints() |
Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
virtual void Reset
(
const int32 MaxConstraints |
Set the maximum number of constraints the solver will have to handle. | Chaos/Collision/PBDCollisionContainerSolverSimd.h | |
virtual void ScatterOutput
(
const FReal Dt, |
Chaos/Collision/PBDCollisionContainerSolverSimd.h | ||
virtual void ScatterOutput
(
const FReal Dt |
Chaos/Collision/PBDCollisionContainerSolverSimd.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Chaos/Collision/PBDCollisionContainerSolverSimd.h | |||
| Chaos/Collision/PBDCollisionContainerSolverSimd.h |