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

#include <PBDKinematicTriangleMeshCollisions.h>

+ Inheritance diagram for Chaos::Softs::FPBDKinematicTriangleMeshCollisions:

Public Member Functions

 FPBDKinematicTriangleMeshCollisions (int32 InNumParticles, const FPBDFlatWeightMap &InThickness, const FPBDFlatWeightMap &InFrictionCoefficient, const FSolverReal InStiffness, const FSolverReal InColliderThickness)
 
void Reset ()
 
void SetGeometry (const FTriangleMesh &InTriangleMesh, const TConstArrayView< FSolverVec3 > &InPositions, const TConstArrayView< FSolverVec3 > &InVelocities, const FTriangleMesh::TSpatialHashType< FSolverReal > &InSpatialHash)
 
void SetGeometry (const FTriangleMesh &InTriangleMesh, const TConstArrayView< FSolverVec3 > &InPositions, const TConstArrayView< FPAndInvM > &InPAndInvM, const TConstArrayView< FSolverVec3 > &InVelocities, const FTriangleMesh::TSpatialHashType< FSolverReal > &InSpatialHash)
 
void SetStiffness (const FSolverReal InStiffness)
 
void SetColliderThickness (const FSolverReal InColliderThickness)
 
CHAOS_API void Init (const FSolverParticlesRange &Particles, const FSolverReal Dt)
 
CHAOS_API void Apply (FSolverParticlesRange &InParticles, const FSolverReal Dt) const
 
const TArray< int32 > & GetCollidingParticles () const
 
const TArray< TVector< int32, MaxKinematicConnectionsPerPoint > > & GetCollidingElements () const
 
const TArray< TMap< int32, FSolverReal > > & GetTimers () const
 
const FTriangleMeshGetTriangleMesh () const
 

Static Public Attributes

static constexpr int32 MaxKinematicConnectionsPerPoint = 3
 

Protected Attributes

int32 NumParticles
 
const FPBDFlatWeightMapThickness
 
const FPBDFlatWeightMapFrictionCoefficient
 
FSolverReal Stiffness
 
FSolverReal ColliderThickness
 
const FTriangleMeshTriangleMesh = nullptr
 
TConstArrayView< FSolverVec3Positions
 
TConstArrayView< FPAndInvMPAndInvM
 
TConstArrayView< FSolverVec3Velocities
 
const FTriangleMesh::TSpatialHashType< FSolverReal > * SpatialHash = nullptr
 

Constructor & Destructor Documentation

◆ FPBDKinematicTriangleMeshCollisions()

Chaos::Softs::FPBDKinematicTriangleMeshCollisions::FPBDKinematicTriangleMeshCollisions ( int32  InNumParticles,
const FPBDFlatWeightMap InThickness,
const FPBDFlatWeightMap InFrictionCoefficient,
const FSolverReal  InStiffness,
const FSolverReal  InColliderThickness 
)
inline

Member Function Documentation

◆ Apply()

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Apply ( FSolverParticlesRange InParticles,
const FSolverReal  Dt 
) const

◆ GetCollidingElements()

const TArray< TVector< int32, MaxKinematicConnectionsPerPoint > > & Chaos::Softs::FPBDKinematicTriangleMeshCollisions::GetCollidingElements ( ) const
inline

◆ GetCollidingParticles()

const TArray< int32 > & Chaos::Softs::FPBDKinematicTriangleMeshCollisions::GetCollidingParticles ( ) const
inline

◆ GetTimers()

const TArray< TMap< int32, FSolverReal > > & Chaos::Softs::FPBDKinematicTriangleMeshCollisions::GetTimers ( ) const
inline

◆ GetTriangleMesh()

const FTriangleMesh * Chaos::Softs::FPBDKinematicTriangleMeshCollisions::GetTriangleMesh ( ) const
inline

◆ Init()

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Init ( const FSolverParticlesRange Particles,
const FSolverReal  Dt 
)

◆ Reset()

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Reset ( )
inline

◆ SetColliderThickness()

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::SetColliderThickness ( const FSolverReal  InColliderThickness)
inline

◆ SetGeometry() [1/2]

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::SetGeometry ( const FTriangleMesh InTriangleMesh,
const TConstArrayView< FSolverVec3 > &  InPositions,
const TConstArrayView< FPAndInvM > &  InPAndInvM,
const TConstArrayView< FSolverVec3 > &  InVelocities,
const FTriangleMesh::TSpatialHashType< FSolverReal > &  InSpatialHash 
)
inline

◆ SetGeometry() [2/2]

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::SetGeometry ( const FTriangleMesh InTriangleMesh,
const TConstArrayView< FSolverVec3 > &  InPositions,
const TConstArrayView< FSolverVec3 > &  InVelocities,
const FTriangleMesh::TSpatialHashType< FSolverReal > &  InSpatialHash 
)
inline

◆ SetStiffness()

void Chaos::Softs::FPBDKinematicTriangleMeshCollisions::SetStiffness ( const FSolverReal  InStiffness)
inline

Member Data Documentation

◆ ColliderThickness

FSolverReal Chaos::Softs::FPBDKinematicTriangleMeshCollisions::ColliderThickness
protected

◆ FrictionCoefficient

const FPBDFlatWeightMap& Chaos::Softs::FPBDKinematicTriangleMeshCollisions::FrictionCoefficient
protected

◆ MaxKinematicConnectionsPerPoint

constexpr int32 Chaos::Softs::FPBDKinematicTriangleMeshCollisions::MaxKinematicConnectionsPerPoint = 3
staticconstexpr

◆ NumParticles

int32 Chaos::Softs::FPBDKinematicTriangleMeshCollisions::NumParticles
protected

◆ PAndInvM

TConstArrayView<FPAndInvM> Chaos::Softs::FPBDKinematicTriangleMeshCollisions::PAndInvM
protected

◆ Positions

TConstArrayView<FSolverVec3> Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Positions
protected

◆ SpatialHash

const FTriangleMesh::TSpatialHashType<FSolverReal>* Chaos::Softs::FPBDKinematicTriangleMeshCollisions::SpatialHash = nullptr
protected

◆ Stiffness

FSolverReal Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Stiffness
protected

◆ Thickness

const FPBDFlatWeightMap& Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Thickness
protected

◆ TriangleMesh

const FTriangleMesh* Chaos::Softs::FPBDKinematicTriangleMeshCollisions::TriangleMesh = nullptr
protected

◆ Velocities

TConstArrayView<FSolverVec3> Chaos::Softs::FPBDKinematicTriangleMeshCollisions::Velocities
protected

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