TPBDCollisionConstraints

A container and solver for collision constraints.

Windows
MacOS
Linux

Inheritance Hierarchy

FPBDConstraintContainer

TPBDCollisionConstraints

References

Module

Chaos

Header

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

Include

#include "Chaos/ChaosDebugDrawDeclares.h"

Syntax

template<typename T, int d>
class TPBDCollisionConstraints : public Chaos::FPBDConstraintContainer

Remarks

A container and solver for collision constraints.

Constructors

Name Description

Public function

TPBDCollisionConstraints

(
    const TPBDRigidsSOAs < T, d >& InPa...,
    TArrayCollectionArray < bool >& Col...,
    const TArrayCollectionArray < TSeria ...,
    const int32 ApplyPairIterations,
    const int32 ApplyPushOutPairIterati...,
    const T CullDistance,
    const T ShapePadding
)

Destructors

Name Description

Public function Virtual

~TPBDCollisionConstraints()

Functions

Name Description

Public function

void

 

AddConstraint

(
    const TRigidBodyMultiPointContactCo ...
)

Add the constraint to the container.

Public function

void

 

AddConstraint

(
    const TRigidBodySweptPointContactCo ...
)

Add the constraint to the container.

Public function

void

 

AddConstraint

(
    const TRigidBodyPointContactConstra ...
)

Add the constraint to the container.

Public function

bool

 

Apply

(
    const T Dt,
    const int32 It,
    const int32 NumIts
)

Simple Rule API

Public function

bool

 

Apply

(
    const T Dt,
    const TArray < FConstraintContainerH ...,
    const int32 It,
    const int32 NumIts
)

Island Rule API

Public function

void

 

ApplyCollisionModifier

(
    const FCollisionModifier & Collisio...
)

Apply a modifier to the constraints and specify which constraints should be disabled.

Public function

bool

 

ApplyPushOut

(
    const T Dt,
    const int32 It,
    const int32 NumIts
)

Simple Rule API

Public function

bool

 

ApplyPushOut

(
    const T Dt,
    const TArray < FConstraintContainerH ...,
    const TSet < const TGeometryParticle ...,
    int32 Iteration,
    int32 NumIterations
)

Public function

void

 

ClearPostApplyCallback()

Public function

void

 

ClearPostApplyPushOutCallback()

Public function Const

bool

 

Contains

(
    const FConstraintBase * Base
)

Public function

void

 

DisableHandles()

Put the container in "no handles" mode for use with simple solver.

Public function Const

const TArray ...

 

GetAllConstraintHandles()

Member Access

Public function Const

bool

 

GetCollisionsEnabled()

Public function Const

const FHandl ...

 

GetConstConstraintHandles()

Public function Const

const FConst ...

 

GetConstraint

(
    int32 Index
)

Public function

FHandles &

 

GetConstraintHandles()

Public function Const

FReal

 

GetCullDistance()

Public function Const

bool

 

GetHandlesEnabled()

Whether this container provides constraint handles (simple solvers do not need them)

Public function Const

FReal

 

GetShapePadding()

Public function Const

int32

 

NumConstraints()

Public function

void

 

PrepareConstraints

(
    FReal Dt
)

General Rule API

Public function

void

 

RemoveConstraint

Remove the constraint, update the handle, and any maps.

Public function

void

 

RemoveConstraints

(
    const TSet < TGeometryParticleHandle ...
)

Remove the constraints associated with the ParticleHandle.

Public function

void

 

Reset()

Reset the constraint frame.

Public function

void

 

SetApplyType

(
    ECollisionApplyType InApplyType
)

Set the solver method to use in the Apply step

Public function

void

 

SetCollisionsEnabled

(
    bool bInEnableCollisions
)

Public function

void

 

SetCullDistance

(
    T InCullDistance
)

MCullDistance = InThickness;.

Public function

void

 

SetPairIterations

(
    int32 InPairIterations
)

Public function

void

 

SetPostApplyCallback

(
    const TRigidBodyContactConstraintsP ...
)

Callbacks

Public function

void

 

SetPostApplyPushOutCallback

(
    const TRigidBodyContactConstraintsP ...
)

Public function

void

 

SetPushOutPairIterations

(
    int32 InPairIterations
)

Public function

void

 

SetShapePadding

(
    T InShapePadding
)

Public function

void

 

UnprepareConstraints

(
    FReal Dt
)

Protected function

void

 

UpdateConstraintMaterialProperties

(
    FConstraintBase & Contact
)

Public function

void

 

UpdateConstraints

(
    T Dt
)

Update all constraint values Update all constraint values

Public function

void

 

UpdateConstraints

(
    T Dt,
    const TSet < TGeometryParticleHandle ...
)

Update all constraint values within the set

Public function

void

 

UpdateManifolds

(
    T Dt
)

Update all contact manifolds

Public function

void

 

UpdatePositionBasedState

(
    const T Dt
)

Generate all contact constraints.

Typedefs

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback