UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::Softs::FPBDTriangleMeshCollisions Class Reference

#include <PBDTriangleMeshCollisions.h>

Classes

struct  FBarycentricPoint
 
struct  FContourMinimizationIntersection
 
struct  FGIAColor
 
struct  FScratchBuffers
 
class  FTriangleSubMesh
 

Public Types

enum struct  FContourType : int8 {
  Open = 0 , Loop , BoundaryClosed , BoundaryOpen ,
  Contour0 , Contour1 , Count
}
 

Public Member Functions

 FPBDTriangleMeshCollisions (const int32 InOffset, const int32 InNumParticles, const TMap< FString, const TSet< int32 > * > &FaceSets, const FTriangleMesh &InTriangleMesh, const FCollectionPropertyConstFacade &PropertyCollection)
 
 FPBDTriangleMeshCollisions (const int32 InOffset, const int32 InNumParticles, const FTriangleMesh &InTriangleMesh, const FCollectionPropertyConstFacade &PropertyCollection)
 
 FPBDTriangleMeshCollisions (const int32 InOffset, const int32 InNumParticles, const FTriangleMesh &InTriangleMesh, bool bInGlobalIntersectionAnalysis, bool bInContourMinimization)
 
virtual ~FPBDTriangleMeshCollisions ()=default
 
void SetProperties (const FCollectionPropertyConstFacade &PropertyCollection, const TMap< FString, const TSet< int32 > * > &FaceSets)
 
void SetProperties (const FCollectionPropertyConstFacade &PropertyCollection)
 
template<typename SolverParticlesOrRange >
void Init (const SolverParticlesOrRange &Particles, const FSolverReal MinProximityQueryRadius=(FSolverReal) 0.)
 
template<typename SolverParticlesOrRange >
CHAOS_API void Init (const SolverParticlesOrRange &Particles, const FPBDFlatWeightMap &ThicknessMap)
 
template<typename SolverParticlesOrRange >
void InitFlesh (const SolverParticlesOrRange &Particles, const FSolverReal MinProximityQueryRadius=(FSolverReal) 0., const bool bUseFullMesh=false)
 
template<typename SolverParticlesOrRange >
CHAOS_API void InitFlesh (const SolverParticlesOrRange &Particles, const FPBDFlatWeightMap &ThicknessMap, const bool bUseFullMesh=false)
 
template<typename SolverParticlesOrRange >
CHAOS_API void PostStepInit (const SolverParticlesOrRange &Particles)
 
void SetGlobalIntersectionAnalysis (bool bInGlobalIntersectionAnalysis)
 
void SetContourMinimization (bool bInContourMinimization)
 
int32 GetNumContourMinimizationPostSteps () const
 
bool GetCollidableSubMeshDirty () const
 
const FTriangleSubMeshGetCollidableSubMesh () const
 
const FTriangleMesh::TSpatialHashType< FSolverReal > & GetSpatialHash () const
 
const FTriangleMesh::TSpatialHashType< FSolverReal > & GetDynamicSpatialHash () const
 
const FTriangleMesh::TSpatialHashType< FSolverReal > & GetKinematicColliderSpatialHash () const
 
const TArray< FContourMinimizationIntersection > & GetContourMinimizationIntersections () const
 
const TConstArrayView< FGIAColorGetVertexGIAColors () const
 
const TArray< FGIAColor > & GetTriangleGIAColors () const
 
const TArray< TArray< FBarycentricPoint > > & GetIntersectionContourPoints () const
 
const TArray< FContourType > & GetIntersectionContourTypes () const
 
const TArray< FContourMinimizationIntersection > & GetPostStepContourMinimizationIntersections () const
 
const TArray< TArray< FBarycentricPoint > > & GetPostStepIntersectionContourPoints () const
 
 UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME (UseSelfIntersections, bool)
 
template<typename SolverParticlesOrRange >
void Init (const SolverParticlesOrRange &Particles, const FPBDFlatWeightMap &ThicknessMap)
 
template<typename SolverParticlesOrRange >
void InitFlesh (const SolverParticlesOrRange &Particles, const FPBDFlatWeightMap &ThicknessMap, const bool bUseFullMesh)
 
template<typename SolverParticlesOrRange >
void PostStepInit (const SolverParticlesOrRange &Particles)
 

Static Public Member Functions

static bool IsEnabled (const FCollectionPropertyConstFacade &PropertyCollection)
 

Member Enumeration Documentation

◆ FContourType

Enumerator
Open 
Loop 
BoundaryClosed 
BoundaryOpen 
Contour0 
Contour1 
Count 

Constructor & Destructor Documentation

◆ FPBDTriangleMeshCollisions() [1/3]

Chaos::Softs::FPBDTriangleMeshCollisions::FPBDTriangleMeshCollisions ( const int32  InOffset,
const int32  InNumParticles,
const TMap< FString, const TSet< int32 > * > &  FaceSets,
const FTriangleMesh InTriangleMesh,
const FCollectionPropertyConstFacade PropertyCollection 
)
inline

◆ FPBDTriangleMeshCollisions() [2/3]

Chaos::Softs::FPBDTriangleMeshCollisions::FPBDTriangleMeshCollisions ( const int32  InOffset,
const int32  InNumParticles,
const FTriangleMesh InTriangleMesh,
const FCollectionPropertyConstFacade PropertyCollection 
)
inline

◆ FPBDTriangleMeshCollisions() [3/3]

Chaos::Softs::FPBDTriangleMeshCollisions::FPBDTriangleMeshCollisions ( const int32  InOffset,
const int32  InNumParticles,
const FTriangleMesh InTriangleMesh,
bool  bInGlobalIntersectionAnalysis,
bool  bInContourMinimization 
)
inline

◆ ~FPBDTriangleMeshCollisions()

virtual Chaos::Softs::FPBDTriangleMeshCollisions::~FPBDTriangleMeshCollisions ( )
virtualdefault

Member Function Documentation

◆ GetCollidableSubMesh()

const FTriangleSubMesh & Chaos::Softs::FPBDTriangleMeshCollisions::GetCollidableSubMesh ( ) const
inline

◆ GetCollidableSubMeshDirty()

bool Chaos::Softs::FPBDTriangleMeshCollisions::GetCollidableSubMeshDirty ( ) const
inline

◆ GetContourMinimizationIntersections()

const TArray< FContourMinimizationIntersection > & Chaos::Softs::FPBDTriangleMeshCollisions::GetContourMinimizationIntersections ( ) const
inline

◆ GetDynamicSpatialHash()

const FTriangleMesh::TSpatialHashType< FSolverReal > & Chaos::Softs::FPBDTriangleMeshCollisions::GetDynamicSpatialHash ( ) const
inline

◆ GetIntersectionContourPoints()

const TArray< TArray< FBarycentricPoint > > & Chaos::Softs::FPBDTriangleMeshCollisions::GetIntersectionContourPoints ( ) const
inline

◆ GetIntersectionContourTypes()

const TArray< FContourType > & Chaos::Softs::FPBDTriangleMeshCollisions::GetIntersectionContourTypes ( ) const
inline

◆ GetKinematicColliderSpatialHash()

const FTriangleMesh::TSpatialHashType< FSolverReal > & Chaos::Softs::FPBDTriangleMeshCollisions::GetKinematicColliderSpatialHash ( ) const
inline

◆ GetNumContourMinimizationPostSteps()

int32 Chaos::Softs::FPBDTriangleMeshCollisions::GetNumContourMinimizationPostSteps ( ) const
inline

◆ GetPostStepContourMinimizationIntersections()

const TArray< FContourMinimizationIntersection > & Chaos::Softs::FPBDTriangleMeshCollisions::GetPostStepContourMinimizationIntersections ( ) const
inline

◆ GetPostStepIntersectionContourPoints()

const TArray< TArray< FBarycentricPoint > > & Chaos::Softs::FPBDTriangleMeshCollisions::GetPostStepIntersectionContourPoints ( ) const
inline

◆ GetSpatialHash()

const FTriangleMesh::TSpatialHashType< FSolverReal > & Chaos::Softs::FPBDTriangleMeshCollisions::GetSpatialHash ( ) const
inline

◆ GetTriangleGIAColors()

const TArray< FGIAColor > & Chaos::Softs::FPBDTriangleMeshCollisions::GetTriangleGIAColors ( ) const
inline

◆ GetVertexGIAColors()

const TConstArrayView< FGIAColor > Chaos::Softs::FPBDTriangleMeshCollisions::GetVertexGIAColors ( ) const
inline

◆ Init() [1/3]

void Chaos::Softs::FPBDTriangleMeshCollisions::Init ( const SolverParticlesOrRange Particles,
const FPBDFlatWeightMap ThicknessMap 
)

◆ Init() [2/3]

CHAOS_API void Chaos::Softs::FPBDTriangleMeshCollisions::Init ( const SolverParticlesOrRange Particles,
const FPBDFlatWeightMap ThicknessMap 
)

◆ Init() [3/3]

void Chaos::Softs::FPBDTriangleMeshCollisions::Init ( const SolverParticlesOrRange Particles,
const FSolverReal  MinProximityQueryRadius = (FSolverReal)0. 
)
inline

◆ InitFlesh() [1/3]

void Chaos::Softs::FPBDTriangleMeshCollisions::InitFlesh ( const SolverParticlesOrRange Particles,
const FPBDFlatWeightMap ThicknessMap,
const bool  bUseFullMesh 
)

◆ InitFlesh() [2/3]

CHAOS_API void Chaos::Softs::FPBDTriangleMeshCollisions::InitFlesh ( const SolverParticlesOrRange Particles,
const FPBDFlatWeightMap ThicknessMap,
const bool  bUseFullMesh = false 
)

◆ InitFlesh() [3/3]

void Chaos::Softs::FPBDTriangleMeshCollisions::InitFlesh ( const SolverParticlesOrRange Particles,
const FSolverReal  MinProximityQueryRadius = (FSolverReal)0.,
const bool  bUseFullMesh = false 
)
inline

◆ IsEnabled()

static bool Chaos::Softs::FPBDTriangleMeshCollisions::IsEnabled ( const FCollectionPropertyConstFacade PropertyCollection)
inlinestatic

◆ PostStepInit() [1/2]

void Chaos::Softs::FPBDTriangleMeshCollisions::PostStepInit ( const SolverParticlesOrRange Particles)

◆ PostStepInit() [2/2]

CHAOS_API void Chaos::Softs::FPBDTriangleMeshCollisions::PostStepInit ( const SolverParticlesOrRange Particles)

◆ SetContourMinimization()

void Chaos::Softs::FPBDTriangleMeshCollisions::SetContourMinimization ( bool  bInContourMinimization)
inline

◆ SetGlobalIntersectionAnalysis()

void Chaos::Softs::FPBDTriangleMeshCollisions::SetGlobalIntersectionAnalysis ( bool  bInGlobalIntersectionAnalysis)
inline

◆ SetProperties() [1/2]

void Chaos::Softs::FPBDTriangleMeshCollisions::SetProperties ( const FCollectionPropertyConstFacade PropertyCollection)
inline

◆ SetProperties() [2/2]

void Chaos::Softs::FPBDTriangleMeshCollisions::SetProperties ( const FCollectionPropertyConstFacade PropertyCollection,
const TMap< FString, const TSet< int32 > * > &  FaceSets 
)
inline

◆ UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME()

Chaos::Softs::FPBDTriangleMeshCollisions::UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME ( UseSelfIntersections  ,
bool   
)

The documentation for this class was generated from the following files: