FPBDConstraintGraphRule

Base class for Constraint Rules that use the Contact Graph (which will be most optimized ones).

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Chaos

Header

/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDConstraintRule.h

Include

#include "Chaos/PBDConstraintRule.h"

Syntax

class FPBDConstraintGraphRule : public Chaos::FConstraintRule

Remarks

Base class for Constraint Rules that use the Contact Graph (which will be most optimized ones). The graph is shared among many/all constraint rules and is held external to the Graph rule itself. Each edge in the graph can be mapped back to a constraint controlled by the rule. To support this, each rule is assigned an ID which is stored alongside the constraint index in the graph.

Constructors

Name Description

Public function

FPBDConstraintGraphRule

(
    int32 InPriority
)

Destructors

Name Description

Public function Virtual

~FPBDConstraintGraphRule()

Functions

Name Description

Public function Virtual

void

 

AddToGraph()

Add all constraints to the connectivity graph

Public function Virtual

bool

 

ApplyConstraints

(
    const FReal Dt,
    int32 Island,
    const int32 It,
    const int32 NumIts
)

Apply all corrections for constraints in the specified island.

Public function Virtual

bool

 

ApplyPushOut

(
    const FReal Dt,
    int32 Island,
    const int32 It,
    const int32 NumIts
)

Apply push out for constraints in the specified island. Return true if more iterations are needed.

Public function Virtual

void

 

BindToGraph

(
    FPBDConstraintGraph& InContactGrap...,
    uint32 InContainerId
)

Public function Virtual

void

 

InitializeAccelerationStructures()

Initialize and performance-acceleration structures from the contact graph.

Public function Virtual Const

int32

 

NumConstraints()

The number of constraints in the collection

Public function Virtual

void

 

RemoveConstraints

(
    const TSet< TGeometryParticleHandle...
)

Remove all constraints associated with the specified particles

Public function Virtual

void

 

SetUseContactGraph

(
    const bool InUseContactGraph
)

Public function Virtual

void

 

UpdateAccelerationStructures

(
    const int32 Island
)

Set up the perf-acceleration structures for the specified island.

Public function Virtual

void

 

UpdatePositionBasedState

(
    const FReal Dt
)

Called once per tick to allow constraint containers to create/alter their constraints based on particle position

See Also

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss