UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FClothTetherData Struct Reference

#include <ClothTetherData.h>

Public Member Functions

CLOTHINGSYSTEMRUNTIMECOMMON_API void GenerateTethers (const TConstArrayView< FVector3f > &Points, const TConstArrayView< uint32 > &Indices, const TConstArrayView< float > &MaxDistances, bool bUseGeodesicDistance)
 
CLOTHINGSYSTEMRUNTIMECOMMON_API void GenerateTethers (const TConstArrayView< FVector3f > &Points, const TConstArrayView< uint32 > &Indices, const TConstArrayView< float > &MaxDistances, const TConstArrayView< float > &TetherEnds, bool bUseGeodesicDistance)
 
CLOTHINGSYSTEMRUNTIMECOMMON_API void GenerateTethers (const TConstArrayView< FVector3f > &Points, const TConstArrayView< uint32 > &Indices, const TSet< int32 > &KinematicNodes, bool bUseGeodesicDistance)
 
CLOTHINGSYSTEMRUNTIMECOMMON_API void GenerateTethers (const TConstArrayView< FVector3f > &Points, const TConstArrayView< uint32 > &Indices, const TSet< int32 > &KinematicNodes, const TSet< int32 > &FixedEndNodes, const TSet< int32 > &DynamicEndNodes, bool bUseGeodesicDistance)
 
CLOTHINGSYSTEMRUNTIMECOMMON_API void GenerateTethers (TArray< TArray< TPair< float, int32 > > > &&PerDynamicNodeTethers)
 
bool Serialize (FArchive &Ar)
 

Public Attributes

TArray< TArray< TTuple< int32, int32, float > > > Tethers
 

Detailed Description

Long range attachment tether pathfinding based on Dijkstra's algorithm. For more information about the long range attachment, see: https://matthias-research.github.io/pages/publications/sca2012cloth.pdf

Member Function Documentation

◆ GenerateTethers() [1/5]

void FClothTetherData::GenerateTethers ( const TConstArrayView< FVector3f > &  Points,
const TConstArrayView< uint32 > &  Indices,
const TConstArrayView< float > &  MaxDistances,
bool  bUseGeodesicDistance 
)

Generate the tethers by following the triangle mesh network from the closest kinematic to each dynamic point. Inside array items can be processed concurrently, but the outside array must be iterated on sequentially.

◆ GenerateTethers() [2/5]

void FClothTetherData::GenerateTethers ( const TConstArrayView< FVector3f > &  Points,
const TConstArrayView< uint32 > &  Indices,
const TConstArrayView< float > &  MaxDistances,
const TConstArrayView< float > &  TetherEnds,
bool  bUseGeodesicDistance 
)

Generate the tethers by following the triangle mesh network from the closest kinematic tether end to each dynamic point. Inside array items can be processed concurrently, but the outside array must be iterated on sequentially.

◆ GenerateTethers() [3/5]

void FClothTetherData::GenerateTethers ( const TConstArrayView< FVector3f > &  Points,
const TConstArrayView< uint32 > &  Indices,
const TSet< int32 > &  KinematicNodes,
bool  bUseGeodesicDistance 
)

Generate the tethers by following the triangle mesh network from the closest kinematic to each dynamic point. Inside array items can be processed concurrently, but the outside array must be iterated on sequentially.

◆ GenerateTethers() [4/5]

void FClothTetherData::GenerateTethers ( const TConstArrayView< FVector3f > &  Points,
const TConstArrayView< uint32 > &  Indices,
const TSet< int32 > &  KinematicNodes,
const TSet< int32 > &  FixedEndNodes,
const TSet< int32 > &  DynamicEndNodes,
bool  bUseGeodesicDistance 
)

Generate the tethers by following the triangle mesh network from the closest kinematic to each dynamic point. Inside array items can be processed concurrently, but the outside array must be iterated on sequentially.

◆ GenerateTethers() [5/5]

void FClothTetherData::GenerateTethers ( TArray< TArray< TPair< float, int32 > > > &&  PerDynamicNodeTethers)

Generate the tether batches from existing tether data. PerDynamicNodeTethers is an array where Index = DynamicIndex, and Value is an array of TPair<float, int32> = {Distance, KinematicIndex}

◆ Serialize()

bool FClothTetherData::Serialize ( FArchive Ar)

Custom serializer, since neiher an array of array nor a tuple can be set as a UPROPERTY.

Member Data Documentation

◆ Tethers

TArray<TArray<TTuple<int32, int32, float> > > FClothTetherData::Tethers

Long range attachment tether start/end/length, sorted in sequential batches of independant tethers.


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