FClothingSimulation

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

FClothingSimulationCommon

FGCObject

FClothingSimulation

References

Module

ChaosCloth

Header

/Engine/Plugins/Experimental/ChaosCloth/Source/Chaos/Public/ChaosCloth/ChaosClothingSimulation.h

Include

#include "ChaosCloth/ChaosClothingSimulation.h"

Syntax

class FClothingSimulation :
    public FClothingSimulationCommon,
    public FGCObject

Constructors

Name Description

Public function

FClothingSimulation()

Destructors

Name Description

Public function Virtual

~FClothingSimulation()

Functions

Name Description

Public function Const

void

 

DebugDrawAnimDrive

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawAnimMeshWired

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawAnimNormals

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawBackstopDistances

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawBackstops

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawBendingConstraint

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawCollision

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawElementIndices

(
    FCanvas* Canvas,
    const FSceneView* SceneView
)

Public function Const

void

 

DebugDrawLocalSpace

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawLongRangeConstraint

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawMaxDistances

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawMaxDistanceValues

(
    FCanvas* Canvas,
    const FSceneView* SceneView
)

Public function Const

void

 

DebugDrawParticleIndices

(
    FCanvas* Canvas,
    const FSceneView* SceneView
)

Public function Const

void

 

DebugDrawPhysMeshShaded

(
    FPrimitiveDrawInterface* PDI
)

Editor only debug draw function.

Public function Const

void

 

DebugDrawPhysMeshWired

(
    FPrimitiveDrawInterface* PDI
)

Editor & runtime debug draw functions.

Public function Const

void

 

DebugDrawPointNormals

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawSelfCollision

(
    FPrimitiveDrawInterface* PDI
)

Public function Const

void

 

DebugDrawWindForces

(
    FPrimitiveDrawInterface* PDI
)

Public function

void

 

DisableGravityOverride()

Public function

FClothingSim...

 

GetCloth

(
    int32 ClothId
)

Public function

void

 

RefreshClothConfig

(
    const IClothingSimulationContext&#...
)

Function to be called if any of the assets' configuration parameters have changed.

Public function

void

 

RefreshPhysicsAsset()

Function to be called if any of the assets' physics assets changes (colliders) This seems to only happen when UPhysicsAsset::RefreshPhysicsAssetChange is called with bFullClothRefresh set to false during changes created using the viewport manipulators.

Public function

void

 

SetGravityOverride

(
    const FVector& InGravityOverride
)

Overridden from IClothingSimulation

Name Description

Protected function Virtual

void

 

AddExternalCollisions

(
    const FClothCollisionData& InData
)

Called by the engine when an external object wants to inject collision data into this simulation above and beyond what is specified in the asset for the internal actors Examples: Scene collision, collision for parents we are attached to

Protected function Virtual

void

 

ClearExternalCollisions()

Called by the engine when external collisions are no longer necessary or when they need to be updated with some of the previous collisions removed.

Protected function Virtual

void

 

CreateActor

(
    USkeletalMeshComponent* InOwne...,
    UClothingAssetBase* InAsset,
    int32 SimDataIndex
)

Create an actor for this simulation from the data in InAsset Simulation data for this actor should be written back to SimDataIndex in GetSimulationData

Protected function Virtual

IClothingSim...

 

CreateContext()

Create a new context, will not be filled, call FillContext before simulating with this context

Protected function Virtual

void

 

DestroyActors()

Simulation should remove all of it's actors when next possible and free them

Protected function Virtual

void

 

DestroyContext

(
    IClothingSimulationContext* In...
)

Destroy a context object, engine will always pass a context created using CreateContext

Protected function Virtual Const

FBoxSphereBo...

 

GetBounds

(
    const USkeletalMeshComponent* ...
)

Return bounds in local space (or in world space if InOwnerComponent is null).

Protected function Virtual Const

void

 

GetCollisions

(
    FClothCollisionData& OutCollisions,
    bool bIncludeExternal
)

Called by the engine to request data on all active collisions in a simulation.

Public function Virtual Const

int32

 

GetNumCloths()

Return the number of simulated cloths. Implementation must be thread safe.

Public function Virtual Const

int32

 

GetNumDynamicParticles()

Return the number of dynamic (simulated) particles. Implementation must be thread safe.

Public function Virtual Const

int32

 

GetNumIterations()

Return the number of iterations used by the solver.

Public function Virtual Const

int32

 

GetNumKinematicParticles()

Return the number of kinematic (fixed) particles. Implementation must be thread safe.

Public function Virtual Const

int32

 

GetNumSubsteps()

Return the number of substeps used by the solver.

Protected function Virtual Const

void

 

GetSimulationData

(
    TMap< int32, FClothSimulData >& Ou...,
    USkeletalMeshComponent* InOwne...,
    USkinnedMeshComponent* InOverr...
)

Fill FClothSimulData map for the clothing simulation.

Public function Virtual Const

float

 

GetSimulationTime()

Return the simulation time in ms. Implementation must be thread safe.

Protected function Virtual

void

 

Initialize()

Initialize the simulation, will be called before any Simulate calls

Public function Virtual Const

bool

 

IsTeleported()

Return whether the simulation is teleported. Implementation must be thread safe.

Public function Virtual

void

 

SetNumIterations

(
    int32
)

Set the number of iterations used by the solver.

Public function Virtual

void

 

SetNumSubsteps

(
    int32
)

Set the number of substeps used by the solver.

Protected function Virtual Const

bool

 

ShouldSimulate()

Called by the engine to detect whether or not the simulation should run, essentially are there any actors that need to simulate in this simulation

Protected function Virtual

void

 

Shutdown()

Shutdown the simulation, this should clear ALL resources as we no longer expect to call any other function on this simulation without first calling Initialize again.

Protected function Virtual

void

 

Simulate

(
    IClothingSimulationContext* In...
)

Run a single tick of the simulation.

Public function Virtual

void

 

UpdateWorldForces

(
    const USkeletalMeshComponent* ...
)

Update the forces coming from the world.

Overridden from FGCObject

Name Description

Public function Virtual

void

 

AddReferencedObjects

(
    FReferenceCollector& Collector
)

Pure virtual that must be overloaded by the inheriting class.

Public function Virtual Const

FString

 

GetReferencerName()

Use this method to report a name for your referencer.

Deprecated Functions

Name Description

Public function Const

void

 

DebugDrawInversedPointNormals

(
    FPrimitiveDrawInterface* PDI
)

DebugDrawInversedPointNormals is mostly redundant and will be removed, use DebugDrawPointNormals instead