#include <PBDCollisionSolver.h>
|
| | FPBDCollisionSolver () |
| |
| void | Reset (FPBDCollisionSolverManifoldPoint *InManifoldPoints, const int32 InMaxManifoldPoints) |
| |
| void | ResetManifold () |
| |
| FSolverReal | GetStaticFriction () const |
| |
| FSolverReal | GetDynamicFriction () const |
| |
| FSolverReal | GetVelocityFriction () const |
| |
| void | SetFriction (const FSolverReal InStaticFriction, const FSolverReal InDynamicFriction, const FSolverReal InVelocityFriction, const FSolverReal InMinMaxFrictionPushOut) |
| |
| void | SetStiffness (const FSolverReal InStiffness) |
| |
| void | SetHardContact () |
| |
| void | SetSoftContact (const FSolverReal SoftPhi) |
| |
| void | SetSolverBodies (FSolverBody &SolverBody0, FSolverBody &SolverBody1) |
| |
| int32 | NumManifoldPoints () const |
| |
| int32 | MaxManifoldPoints () const |
| |
| int32 | AddManifoldPoint () |
| |
| const FPBDCollisionSolverManifoldPoint & | GetManifoldPoint (const int32 ManifoldPointIndex) const |
| |
| void | InitManifoldPoint (const int32 PointIndex, const FSolverReal Dt, const FSolverVec3 &InRelativeContactPosition0, const FSolverVec3 &InRelativeContactPosition1, const FSolverVec3 &InWorldContactNormal, const FSolverVec3 &InWorldContactTangentU, const FSolverVec3 &InWorldContactTangentV, const FSolverReal InWorldContactDeltaNormal, const FSolverReal InWorldContactDeltaTangentU, const FSolverReal InWorldContactDeltaTangentV, const FSolverReal InWorldContactVelocityTargetNormal) |
| |
| void | FinalizeManifold () |
| |
| FConstraintSolverBody & | SolverBody0 () |
| | Get the first solver body NOTE: This will not include any shock propagation mass scaling.
|
| |
| const FConstraintSolverBody & | SolverBody0 () const |
| |
| FConstraintSolverBody & | SolverBody1 () |
| | Get the second solver body NOTE: This will not include any shock propagation mass scaling.
|
| |
| const FConstraintSolverBody & | SolverBody1 () const |
| |
| void | SolvePositionNoFriction (const FSolverReal Dt, const FSolverReal MaxPushOut) |
| | Calculate and apply the position correction for this iteration.
|
| |
| void | SolvePositionWithFriction (const FSolverReal Dt, const FSolverReal MaxPushOut) |
| |
| void | SolveVelocity (const FSolverReal Dt, const bool bApplyDynamicFriction) |
| | Calculate and apply the velocity correction for this iteration.
|
| |
| void | UpdateMass () |
| |
| void | UpdateMassNormal () |
| |
◆ FPBDCollisionSolver()
| Chaos::Private::FPBDCollisionSolver::FPBDCollisionSolver |
( |
| ) |
|
|
inline |
◆ AddManifoldPoint()
| int32 Chaos::Private::FPBDCollisionSolver::AddManifoldPoint |
( |
| ) |
|
|
inline |
◆ FinalizeManifold()
Call once all manifold points have been initialized. Calculate mass properties etc.
◆ GetDynamicFriction()
| FSolverReal Chaos::Private::FPBDCollisionSolver::GetDynamicFriction |
( |
| ) |
const |
|
inline |
◆ GetManifoldPoint()
◆ GetStaticFriction()
| FSolverReal Chaos::Private::FPBDCollisionSolver::GetStaticFriction |
( |
| ) |
const |
|
inline |
◆ GetVelocityFriction()
| FSolverReal Chaos::Private::FPBDCollisionSolver::GetVelocityFriction |
( |
| ) |
const |
|
inline |
◆ InitManifoldPoint()
| FORCEINLINE_DEBUGGABLE void Chaos::Private::FPBDCollisionSolver::InitManifoldPoint |
( |
const int32 |
PointIndex, |
|
|
const FSolverReal |
Dt, |
|
|
const FSolverVec3 & |
InRelativeContactPosition0, |
|
|
const FSolverVec3 & |
InRelativeContactPosition1, |
|
|
const FSolverVec3 & |
InWorldContactNormal, |
|
|
const FSolverVec3 & |
InWorldContactTangentU, |
|
|
const FSolverVec3 & |
InWorldContactTangentV, |
|
|
const FSolverReal |
InWorldContactDeltaNormal, |
|
|
const FSolverReal |
InWorldContactDeltaTangentU, |
|
|
const FSolverReal |
InWorldContactDeltaTangentV, |
|
|
const FSolverReal |
InWorldContactVelocityTargetNormal |
|
) |
| |
Set up a manifold point (except mass properties.
- See also
- UpdateMass())
◆ MakeInitialized()
◆ MakeUninitialized()
◆ MaxManifoldPoints()
| int32 Chaos::Private::FPBDCollisionSolver::MaxManifoldPoints |
( |
| ) |
const |
|
inline |
◆ NumManifoldPoints()
| int32 Chaos::Private::FPBDCollisionSolver::NumManifoldPoints |
( |
| ) |
const |
|
inline |
◆ Reset()
Reset the state of the collision solver
◆ ResetManifold()
| void Chaos::Private::FPBDCollisionSolver::ResetManifold |
( |
| ) |
|
|
inline |
◆ SetFriction()
◆ SetHardContact()
| void Chaos::Private::FPBDCollisionSolver::SetHardContact |
( |
| ) |
|
|
inline |
◆ SetSoftContact()
| void Chaos::Private::FPBDCollisionSolver::SetSoftContact |
( |
const FSolverReal |
SoftPhi | ) |
|
|
inline |
◆ SetSolverBodies()
◆ SetStiffness()
| void Chaos::Private::FPBDCollisionSolver::SetStiffness |
( |
const FSolverReal |
InStiffness | ) |
|
|
inline |
◆ SolvePositionNoFriction()
Calculate and apply the position correction for this iteration.
- Returns
- true if we need to run more iterations, false if we did not apply any correction
◆ SolvePositionWithFriction()
◆ SolverBody0() [1/2]
Get the first solver body NOTE: This will not include any shock propagation mass scaling.
◆ SolverBody0() [2/2]
◆ SolverBody1() [1/2]
Get the second solver body NOTE: This will not include any shock propagation mass scaling.
◆ SolverBody1() [2/2]
◆ SolveVelocity()
Calculate and apply the velocity correction for this iteration.
- Returns
- true if we need to run more iterations, false if we did not apply any correction
◆ UpdateMass()
◆ UpdateMassNormal()
◆ MaxConstrainedBodies
| const int32 Chaos::Private::FPBDCollisionSolver::MaxConstrainedBodies = 2 |
|
static |
The documentation for this class was generated from the following files: