Navigation
Unreal Engine C++ API Reference > Runtime > Chaos > Chaos
Inheritance Hierarchy
- FPBDConstraintContainer
- FPBDCollisionConstraints
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDCollisionConstraints.h |
Include | #include "Chaos/PBDCollisionConstraints.h" |
Syntax
class FPBDCollisionConstraints : public Chaos::FPBDConstraintContainer
Remarks
A container and solver for collision constraints.
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FPBDCollisionConstraints
(
const FPBDRigidsSOAs& InParticles, |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | ApplyCCDModifier
(
const TArray< ISimCallbackObject* >& CCDModifiers, |
Apply modifiers to CCD results |
![]() |
void | ApplyCollisionModifier
(
const TArray< ISimCallbackObject* >& CollisionModifiers, |
Apply modifiers to the constraints and specify which constraints should be disabled. |
![]() |
void | ApplyMidPhaseModifier
(
const TArray< ISimCallbackObject* >& MidPhaseModifiers, |
Apply modifiers to particle pair midphases |
![]() |
void | Called before collision detection to reset contacts. | |
![]() |
void | BeginFrame () |
Clears the list of active constraints. |
![]() |
void | DetectProbeCollisions
(
FReal Dt |
Called after collision resolution in order to detect probes. |
![]() |
void | DisableConstraints
(
const TSet< FGeometryParticleHandle* >& ParticleHandle |
Disable the constraints associated with the ParticleHandle. |
![]() |
void | Put the container in "no handles" mode for use with simple solver. | |
![]() ![]() |
void | DisconnectConstraints
(
const TSet< FGeometryParticleHandle* >& ParticleHandles |
Remove all constraints associated with the particles - called when particles are destroyed. |
![]() |
void | Called after collision detection to finalize the contacts. | |
![]() ![]() |
bool | ||
![]() ![]() |
bool | ||
![]() ![]() |
FConstHandles | ||
![]() ![]() |
const FPBDCollisionConstraint & | GetConstraint
(
int32 Index |
|
![]() |
FPBDCollisionConstraint & | GetConstraint
(
int32 Index |
|
![]() |
Private::FCollisionConstraintAllocator & | ||
![]() ![]() |
FHandles | ||
![]() ![]() |
TArrayView< FPBDCollisionConstraint *const > | ||
![]() ![]() |
const FCollisionDetectorSettings & | ||
![]() ![]() |
FVec3 | ||
![]() ![]() |
FReal | ||
![]() ![]() |
bool | Whether this container provides constraint handles (simple solvers do not need them) | |
![]() ![]() |
bool | ||
![]() ![]() |
FReal | ||
![]() ![]() |
const FPBDCollisionSolverSettings & | ||
![]() ![]() |
Private::ECollisionSolverType | The type of solver we are creating. | |
![]() ![]() |
bool | ||
![]() ![]() |
int32 | ||
![]() |
void | Call PruneParticleEdgeCollisions on all particles with ECollisionConstraintFlags::CCF_SmoothEdgeCollisions set in CollisionFlags. | |
![]() |
void | RemoveConstraints
(
const TSet< FGeometryParticleHandle* >& ParticleHandle |
Remove the constraints associated with the ParticleHandle. |
![]() |
void | Reset () |
Destroy all constraints |
![]() |
void | SetCanDisableContacts
(
bool bInCanDisableContacts |
Member Access |
![]() |
void | SetCollisionsEnabled
(
bool bInEnableCollisions |
|
![]() |
void | SetCullDistance
(
const FReal InCullDistance |
|
![]() |
void | SetDetectorSettings
(
const FCollisionDetectorSettings& InSettings |
|
![]() |
void | SetGravity
(
const FVec3& InGravity |
|
![]() |
void | SetIsDeterministic
(
const bool bInIsDeterministic |
Enable or disable determinism. Support for determinism requires that we sort active constraints each tick, so there is additional cost. |
![]() |
void | SetMaxPushOutVelocity
(
const FReal InMaxPushOutVelocity |
|
![]() |
void | SetPositionFrictionIterations
(
const int32 InNumIterations |
|
![]() |
void | SetPositionShockPropagationIterations
(
const int32 InNumIterations |
|
![]() |
void | SetRestitutionEnabled
(
bool bInEnableRestitution |
|
![]() |
void | SetRestitutionThreshold
(
FReal InRestitutionThreshold |
|
![]() |
void | SetSolverType
(
const Private::ECollisionSolverType InSolverType |
Set the solver type. NOTE: Any previously created solvers will not be recreated at this level. (See FPBDRigidsEvolutionGBF::UpdateCollisionSolverType) |
![]() |
void | SetVelocityBoundsExpansion
(
const FReal BoundsVelocityMultiplier, |
|
![]() |
void | SetVelocityFrictionIterations
(
const int32 InNumIterations |
|
![]() |
void | SetVelocityShockPropagationIterations
(
const int32 InNumIterations |
|
![]() |
void |
Overridden from FPBDConstraintContainer
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddConstraintsToGraph
(
Private::FPBDIslandManager& IslandManager |
Add all the constraints in the container to the graph |
![]() ![]() |
TUniquePtr< FConstraintContainerSolver > | CreateGroupSolver
(
const int32 Priority |
Create a constraint solver for an Evolution with Graph support (World evolution). |
![]() ![]() |
TUniquePtr< FConstraintContainerSolver > | CreateSceneSolver
(
const int32 Priority |
Create a constraint solver for an Evolution without Graph support (RBAN evolution). |
![]() ![]() ![]() |
int32 | FConstraintContainer Implementation | |
![]() ![]() |
void | PrepareTick () |
Called oncer per tick to initialize buffers required for the rest of the tick |
![]() ![]() |
void | Empty the constraints (must be removed from the graph first, if required) | |
![]() ![]() |
void | Should undo any allocations in PrepareTick |
Typedefs
Name | Description |
---|---|
Base | |
FConstHandles | |
FConstraintContainerHandle | For use by dependent types. |
FHandles | Collision constraints have intrusive pointers. An array of constraint pointers can be uased as an array of handle pointers. |