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

#include <PBDSoftBodyCollisionConstraint.h>

+ Inheritance diagram for Chaos::Softs::FPBDSoftBodyCollisionConstraint:

Public Member Functions

 FPBDSoftBodyCollisionConstraint (const TArray< FSolverRigidTransform3 > &InLastCollisionTransforms, const FCollectionPropertyConstFacade &PropertyCollection, FSolverReal InMeshScale, TArray< bool > *InCollisionParticleCollided=nullptr, TArray< FSolverVec3 > *InContacts=nullptr, TArray< FSolverVec3 > *InNormals=nullptr, TArray< FSolverReal > *InPhis=nullptr, const TMap< FParticleRangeIndex, FPBDComplexColliderBoneData > &InComplexBoneData=TMap< FParticleRangeIndex, FPBDComplexColliderBoneData >())
 
CHAOS_API void SetProperties (const FCollectionPropertyConstFacade &PropertyCollection)
 
- Public Member Functions inherited from Chaos::Softs::FPBDSoftBodyCollisionConstraintBase
 FPBDSoftBodyCollisionConstraintBase (const TArray< FSolverRigidTransform3 > &InLastCollisionTransforms, FSolverReal InCollisionThickness, FSolverReal InFrictionCoefficient, bool bInUseCCD, FSolverReal InProximityStiffness, TArray< bool > *InCollisionParticleCollided=nullptr, TArray< FSolverVec3 > *InContacts=nullptr, TArray< FSolverVec3 > *InNormals=nullptr, TArray< FSolverReal > *InPhis=nullptr, const FSolverReal InSoftBodyCollisionThickness=0.f, bool bInEnableSimpleColliders=true, bool bInEnableComplexColliders=true, bool bInUsePlanarConstraintForSimpleColliders=bDefaultUsePlanarConstraintForSimpleColliders, bool bInUsePlanarConstraintForComplexColliders=bDefaultUsePlanarConstraintForComplexColliders, const TMap< FParticleRangeIndex, FPBDComplexColliderBoneData > &InComplexBoneData=TMap< FParticleRangeIndex, FPBDComplexColliderBoneData >())
 
void SetWriteDebugContacts (bool bWrite)
 
CHAOS_API void ApplyWithPlanarConstraints (FSolverParticlesRange &Particles, const FSolverReal Dt, const TArray< FSolverCollisionParticlesRange > &CollisionParticles, bool bGeneratePlanarConstraints)
 
CHAOS_API void Apply (FSolverParticlesRange &Particles, const FSolverReal Dt, const TArray< FSolverCollisionParticlesRange > &CollisionParticles)
 
CHAOS_API void UpdateLinearSystem (const FSolverParticlesRange &Particles, const FSolverReal Dt, const TArray< FSolverCollisionParticlesRange > &CollisionParticles, FEvolutionLinearSystem &LinearSystem) const
 
void OnCollisionRangeRemoved (int32 CollisionRangeId)
 

Static Public Attributes

static constexpr FSolverReal DefaultCollisionThickness = (FSolverReal)1.
 
static constexpr FSolverReal DefaultSoftBodyCollisionThickness = (FSolverReal)0.
 
static constexpr FSolverReal DefaultFrictionCoefficient = (FSolverReal)0.8
 
static constexpr FSolverReal DefaultProximityStiffness = (FSolverReal)100.
 
- Static Public Attributes inherited from Chaos::Softs::FPBDSoftBodyCollisionConstraintBase
static constexpr bool bDefaultUsePlanarConstraintForSimpleColliders = false
 
static constexpr bool bDefaultUsePlanarConstraintForComplexColliders = true
 

Additional Inherited Members

- Protected Attributes inherited from Chaos::Softs::FPBDSoftBodyCollisionConstraintBase
const TArray< FSolverRigidTransform3 > & LastCollisionTransforms
 
FSolverReal CollisionThickness
 
FSolverReal SoftBodyCollisionThickness
 
FSolverReal FrictionCoefficient
 
bool bUseCCD
 
FSolverReal ProximityStiffness
 
bool bEnableSimpleColliders = true
 
bool bEnableComplexColliders = true
 
bool bUsePlanarConstraintForSimpleColliders = bDefaultUsePlanarConstraintForSimpleColliders
 
bool bUsePlanarConstraintForComplexColliders = bDefaultUsePlanarConstraintForComplexColliders
 
TMap< FParticleRangeIndex, FPBDComplexColliderBoneDataComplexBoneData
 
bool bWriteDebugContacts = false
 
TArray< bool > *const CollisionParticleCollided
 
TArray< FSolverVec3 > *const Contacts
 
TArray< FSolverVec3 > *const Normals
 
TArray< FSolverReal > *const Phis
 
FCriticalSection DebugMutex
 
Chaos::Softs::FPBDSoftBodyCollisionConstraintBase::FPBDSoftBodyCollisionPlanarConstraint PlanarConstraint
 

Constructor & Destructor Documentation

◆ FPBDSoftBodyCollisionConstraint()

Chaos::Softs::FPBDSoftBodyCollisionConstraint::FPBDSoftBodyCollisionConstraint ( const TArray< FSolverRigidTransform3 > &  InLastCollisionTransforms,
const FCollectionPropertyConstFacade PropertyCollection,
FSolverReal  InMeshScale,
TArray< bool > *  InCollisionParticleCollided = nullptr,
TArray< FSolverVec3 > *  InContacts = nullptr,
TArray< FSolverVec3 > *  InNormals = nullptr,
TArray< FSolverReal > *  InPhis = nullptr,
const TMap< FParticleRangeIndex, FPBDComplexColliderBoneData > &  InComplexBoneData = TMap<FParticleRangeIndexFPBDComplexColliderBoneData>() 
)
inline

Member Function Documentation

◆ SetProperties()

void Chaos::Softs::FPBDSoftBodyCollisionConstraint::SetProperties ( const FCollectionPropertyConstFacade PropertyCollection)

Member Data Documentation

◆ DefaultCollisionThickness

constexpr FSolverReal Chaos::Softs::FPBDSoftBodyCollisionConstraint::DefaultCollisionThickness = (FSolverReal)1.
staticconstexpr

◆ DefaultFrictionCoefficient

constexpr FSolverReal Chaos::Softs::FPBDSoftBodyCollisionConstraint::DefaultFrictionCoefficient = (FSolverReal)0.8
staticconstexpr

◆ DefaultProximityStiffness

constexpr FSolverReal Chaos::Softs::FPBDSoftBodyCollisionConstraint::DefaultProximityStiffness = (FSolverReal)100.
staticconstexpr

◆ DefaultSoftBodyCollisionThickness

constexpr FSolverReal Chaos::Softs::FPBDSoftBodyCollisionConstraint::DefaultSoftBodyCollisionThickness = (FSolverReal)0.
staticconstexpr

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