Navigation
API > API/Runtime > API/Runtime/Chaos
Holds the solver
| Name | TPBDCollisionSolverSimd |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/Collision/PBDCollisionSolverSimd.h |
| Include Path | #include "Chaos/Collision/PBDCollisionSolverSimd.h" |
Syntax
template<int TNumLanes>
class TPBDCollisionSolverSimd
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TPBDCollisionSolverSimd() |
NOTE: Does not initialize any properties. See MakeInitialized. | Chaos/Collision/PBDCollisionSolverSimd.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FSimdInt32 | TSimdInt32< TNumLanes > | Chaos/Collision/PBDCollisionSolverSimd.h | |
| FSimdManifoldPoint | TPBDCollisionSolverManifoldPointsSimd< TNumLanes > | Chaos/Collision/PBDCollisionSolverSimd.h | |
| FSimdRealf | TSimdRealf< TNumLanes > | Chaos/Collision/PBDCollisionSolverSimd.h | |
| FSimdSelector | TSimdSelector< TNumLanes > | Chaos/Collision/PBDCollisionSolverSimd.h | |
| FSimdSolverBodyPtr | TSolverBodyPtrSimd< TNumLanes > | Chaos/Collision/PBDCollisionSolverSimd.h | |
| FSimdVec3f | TSimdVec3f< TNumLanes > | Chaos/Collision/PBDCollisionSolverSimd.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| MaxConstrainedBodies | const int32 | Chaos/Collision/PBDCollisionSolverSimd.h | |
| MaxPointsPerConstraint | const int32 | Chaos/Collision/PBDCollisionSolverSimd.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ManifoldPointBeginIndex | int32 | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| MaxManifoldPoints | int32 | Each lane has space for MaxManifoldPoints, but not all will be used Unused manifold points may be in the middle of the list (if disabled for example) | Chaos/Collision/PBDCollisionSolverSimd.h | |
| SimdDynamicFriction | FSimdRealf | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| SimdInvM0 | FSimdRealf | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| SimdInvM1 | FSimdRealf | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| SimdNumManifoldPoints | FSimdInt32 | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| SimdStaticFriction | FSimdRealf | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| SimdStiffness | FSimdRealf | Chaos/Collision/PBDCollisionSolverSimd.h | ||
| SimdVelocityFriction | FSimdRealf | Chaos/Collision/PBDCollisionSolverSimd.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 GetBufferIndex
(
const int32 ManifoldPointIndex |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
const FSimdManifoldPoint & GetManifoldPoint
(
const int32 ManifoldPointIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
int32 GetMaxManifoldPoints() |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
FSolverVec3 GetNetImpulse
(
const int32 ManifoldPointIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
FSolverVec3 GetNetPushOut
(
const int32 ManifoldPointIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
FSolverReal GetStaticFrictionRatio
(
const int32 ManifoldPointIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void Init() |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void InitManifoldPoints
(
const TArrayView< FSimdManifoldPoint >& ManifoldPointsBuffer |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
FSimdInt32 NumManifoldPoints() |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void Reset() |
Reset the state of the collision solver | Chaos/Collision/PBDCollisionSolverSimd.h | |
void ResetManifold() |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SetFriction
(
const FSimdRealf InStaticFriction, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SetManifoldPoint
(
const int32 ManifoldPointIndex, |
Set up a manifold point ready for solving | Chaos/Collision/PBDCollisionSolverSimd.h | |
void SetManifoldPointsBuffer
(
const int32 InBeginIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SetNumManifoldPoints
(
const FSimdInt32& InNum |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SetStiffness
(
const FSimdRealf InStiffness |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SolvePositionNoFriction
(
const TArrayView< FSimdManifoldPoint >& ManifoldPointsBuffer, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SolvePositionWithFriction
(
const TArrayView< FSimdManifoldPoint >& ManifoldPointsBuffer, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SolveVelocityNoFriction
(
const TArrayView< FSimdManifoldPoint >& ManifoldPointsBuffer, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SolveVelocityWithFriction
(
const TArrayView< FSimdManifoldPoint >& ManifoldPointsBuffer, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void SolveVelocityWithFrictionImpl
(
const TArrayView< FSimdManifoldPoint >& ManifoldPointsBuffer, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void UpdateManifoldPointMass
(
const int32 ManifoldPointIndex, |
Update the cached mass properties based on the current body transforms. | Chaos/Collision/PBDCollisionSolverSimd.h | |
void UpdateManifoldPointMassNormal
(
const int32 ManifoldPointIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h | ||
void UpdateMassNormal
(
const int32 LaneIndex, |
Chaos/Collision/PBDCollisionSolverSimd.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TPBDCollisionSolverSimd< TNumLanes > MakeInitialized() |
Create a solver that is initialized to safe defaults. | Chaos/Collision/PBDCollisionSolverSimd.h | |
static TPBDCollisionSolverSimd< TNumLanes > MakeUninitialized() |
Create a solver with no initialization. | Chaos/Collision/PBDCollisionSolverSimd.h |