UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryCollectionAlgo.cpp File Reference

Namespaces

namespace  GeometryCollectionAlgo
 
namespace  GeometryCollectionAlgo::Private
 

Typedefs

using GeometryCollectionAlgo::FIndicesNeedMatricesArray = TArray< int32, TInlineAllocator< 16 > >
 

Functions

 DEFINE_LOG_CATEGORY_STATIC (GeometryCollectionAlgoLog, Log, All)
 
template<typename TransformType >
void GeometryCollectionAlgo::PrintParentHierarchyRecursive (int32 Index, const TManagedArray< TransformType > &Transform, const TManagedArray< int32 > &Parent, const TManagedArray< TSet< int32 > > &Children, const TManagedArray< int32 > &SimulationType, const TManagedArray< FString > &BoneName, int8 Tab=0)
 
void GeometryCollectionAlgo::PrintParentHierarchy (const FGeometryCollection *Collection)
 
void GeometryCollectionAlgo::ContiguousArray (TArray< int32 > &Array, int32 Length)
 
void GeometryCollectionAlgo::BuildIncrementMask (const TArray< int32 > &SortedDeletionList, const int32 &Size, TArray< int32 > &Mask)
 
void GeometryCollectionAlgo::BuildLookupMask (const TArray< int32 > &SortedDeletionList, const int32 &Size, TArray< bool > &Mask)
 
void GeometryCollectionAlgo::BuildTransformGroupToGeometryGroupMap (const FGeometryCollection &GeometryCollection, TArray< int32 > &TransformToGeometry)
 
void GeometryCollectionAlgo::BuildFaceGroupToGeometryGroupMap (const FGeometryCollection &GeometryCollection, const TArray< int32 > &TransformToGeometryMap, TArray< int32 > &FaceToGeometry)
 
void GeometryCollectionAlgo::ValidateSortedList (const TArray< int32 > &SortedDeletionList, const int32 &ListSize)
 
FVector GeometryCollectionAlgo::AveragePosition (FGeometryCollection *Collection, const TArray< int32 > &Indices)
 
bool GeometryCollectionAlgo::HasMultipleRoots (FGeometryCollection *Collection)
 
bool GeometryCollectionAlgo::HasCycle (const TManagedArray< int32 > &Parents, int32 Node)
 
bool GeometryCollectionAlgo::HasCycle (const TManagedArray< int32 > &Parents, const TArray< int32 > &SelectedBones)
 
void GeometryCollectionAlgo::ParentTransform (FManagedArrayCollection *ManagedArrayCollection, const int32 TransformIndex, const int32 ChildIndex)
 
void GeometryCollectionAlgo::ParentTransforms (FManagedArrayCollection *ManagedArrayCollection, const int32 TransformIndex, const TArray< int32 > &SelectedBones)
 
void GeometryCollectionAlgo::UnparentTransform (FManagedArrayCollection *ManagedArrayCollection, const int32 ChildIndex)
 
bool GeometryCollectionAlgo::GlobalMatricesGetIndicesToProcessHelper (const int32 Index, const FGeometryDynamicCollection &DynamicCollection, int32 ParentNum, TArray< bool > &IsTransformComputed, FIndicesNeedMatricesArray &OutToProcess)
 
bool GeometryCollectionAlgo::GlobalMatricesGetIndicesToProcessHelper (const int32 Index, const TManagedArray< int32 > &Parents, TArray< bool > &IsTransformComputed, FIndicesNeedMatricesArray &OutToProcess)
 
template<typename TransformType >
void GeometryCollectionAlgo::GlobalMatricesHelper (const int32 Index, const FGeometryDynamicCollection &DynamicCollection, TArray< bool > &IsTransformComputed, const TManagedArray< FTransform > *UniformScale, TArray< TransformType > &OutGlobalTransforms)
 
template<typename TransformType , typename TransformTypeOut >
void GeometryCollectionAlgo::GlobalMatricesHelper (const int32 Index, const TManagedArray< int32 > &Parents, const TManagedArray< TransformType > &Transform, TArray< bool > &IsTransformComputed, const TManagedArray< FTransform > *UniformScale, TArray< TransformTypeOut > &OutGlobalTransforms)
 
template<typename TransformType >
void GeometryCollectionAlgo::GlobalMatricesHelper (const int32 Index, const TManagedArray< int32 > &Parents, const TManagedArray< TransformType > &Transform, TArray< bool > &IsTransformComputed, const TManagedArray< FTransform > *UniformScale, TArray< FMatrix > &OutGlobalTransforms)
 
FTransform GeometryCollectionAlgo::GlobalMatricesHelperForIndicesDynCol (const int32 Index, const FGeometryDynamicCollection &DynamicCollection, TArray< bool > &IsTransformComputed, const TManagedArray< FTransform > *UniformScale, TArray< FTransform > &TransformCache)
 
template<typename TransnformType >
TransnformType GeometryCollectionAlgo::GlobalMatricesHelperForIndices (const int32 Index, const TManagedArray< int32 > &Parents, const TManagedArray< TransnformType > &Transform, TArray< bool > &IsTransformComputed, const TManagedArray< TransnformType > *UniformScale, TArray< FTransform > &TransformCache)
 
FTransform GeometryCollectionAlgo::Private::GlobalMatrix (const FGeometryDynamicCollection &DynamicCollection, int32 Index)
 
template<typename TransformType >
TransformType GeometryCollectionAlgo::GlobalMatrixTemplate (const TManagedArray< TransformType > &RelativeTransforms, const TManagedArray< int32 > &Parents, int32 Index)
 
template<typename TransformType >
TransformType GeometryCollectionAlgo::GlobalMatrixTemplate (TArrayView< const TransformType > RelativeTransforms, TArrayView< const int32 > Parents, int32 Index)
 
FTransform GeometryCollectionAlgo::GlobalMatrix (const TManagedArray< FTransform > &RelativeTransforms, const TManagedArray< int32 > &Parents, int32 Index)
 
FTransform3f GeometryCollectionAlgo::GlobalMatrix3f (const TManagedArray< FTransform3f > &RelativeTransforms, const TManagedArray< int32 > &Parents, int32 Index)
 
FTransform GeometryCollectionAlgo::GlobalMatrix (const TManagedArray< FTransform3f > &RelativeTransforms, const TManagedArray< int32 > &Parents, int32 Index)
 
FTransform GeometryCollectionAlgo::GlobalMatrix (TArrayView< const FTransform > RelativeTransforms, TArrayView< const int32 > Parents, int32 Index)
 
FTransform GeometryCollectionAlgo::GlobalMatrix (TArrayView< const FTransform3f > RelativeTransforms, TArrayView< const int32 > Parents, int32 Index)
 
void GeometryCollectionAlgo::Private::GlobalMatrices (const FGeometryDynamicCollection &DynamicCollection, const TArray< int32 > &Indices, TArray< FTransform > &OutGlobalTransforms)
 
template<class TransformType , class TransformTypeOut >
void GeometryCollectionAlgo::GlobalMatricesTemplate (const TManagedArray< TransformType > &RelativeTransforms, const TManagedArray< int32 > &Parents, const TArray< int32 > &Indices, TArray< TransformTypeOut > &OutGlobalTransforms)
 
void GeometryCollectionAlgo::GlobalMatrices (const TManagedArray< FTransform > &RelativeTransforms, const TManagedArray< int32 > &Parents, const TArray< int32 > &Indices, TArray< FTransform > &Transforms)
 
void GeometryCollectionAlgo::GlobalMatrices (const TManagedArray< FTransform3f > &RelativeTransforms, const TManagedArray< int32 > &Parents, const TArray< int32 > &Indices, TArray< FTransform3f > &Transforms)
 
void GeometryCollectionAlgo::GlobalMatricesFromRoot (const int32 ParentTransformIndex, const TManagedArray< FTransform > &RelativeTransforms, const TManagedArray< TSet< int32 > > &Children, TArray< FMatrix > &Transforms)
 
template<typename MatrixType >
void GeometryCollectionAlgo::GlobalMatrices (const TManagedArray< FTransform > &RelativeTransforms, const TManagedArray< int32 > &Parents, const TManagedArray< FTransform > &UniformScale, TArray< MatrixType > &OutGlobalTransforms)
 
void GeometryCollectionAlgo::Private::GlobalMatrices (const FGeometryDynamicCollection &DynamicCollection, TArray< FTransform > &OutGlobalTransforms)
 
void GeometryCollectionAlgo::Private::GlobalMatrices (const FGeometryDynamicCollection &DynamicCollection, TArray< FTransform3f > &OutGlobalTransforms)
 
template<typename MatrixType , typename TransformType >
void GeometryCollectionAlgo::GlobalMatrices (const TManagedArray< TransformType > &RelativeTransforms, const TManagedArray< int32 > &Parents, TArray< MatrixType > &OutGlobalTransforms)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FTransform > (const TManagedArray< FTransform > &, const TManagedArray< int32 > &, const TManagedArray< FTransform > &, TArray< FTransform > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FMatrix > (const TManagedArray< FTransform > &, const TManagedArray< int32 > &, const TManagedArray< FTransform > &, TArray< FMatrix > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FTransform, FTransform > (const TManagedArray< FTransform > &, const TManagedArray< int32 > &, TArray< FTransform > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FMatrix, FTransform > (const TManagedArray< FTransform > &, const TManagedArray< int32 > &, TArray< FMatrix > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FTransform, FTransform3f > (const TManagedArray< FTransform3f > &, const TManagedArray< int32 > &, TArray< FTransform > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FMatrix, FTransform3f > (const TManagedArray< FTransform3f > &, const TManagedArray< int32 > &, TArray< FMatrix > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FTransform3f, FTransform3f > (const TManagedArray< FTransform3f > &, const TManagedArray< int32 > &, TArray< FTransform3f > &)
 
template void CHAOS_API GeometryCollectionAlgo::GlobalMatrices< FTransform3f, FTransform > (const TManagedArray< FTransform > &, const TManagedArray< int32 > &, TArray< FTransform3f > &)
 
void GeometryCollectionAlgo::FloodForOverlappedPairs (int Level, int32 BoneIndex, TMap< int32, int32 > &BoneToGroup, const TManagedArray< int32 > &Levels, const TMap< int32, FBox > &BoundingBoxes, TSet< TTuple< int32, int32 > > &OutOverlappedPairs)
 
void GeometryCollectionAlgo::GetOverlappedPairs (FGeometryCollection *GeometryCollection, int Level, TSet< TTuple< int32, int32 > > &OutOverlappedPairs)
 
void GeometryCollectionAlgo::PrepareForSimulation (FGeometryCollection *GeometryCollection, bool CenterAtOrigin)
 
void GeometryCollectionAlgo::ReCenterGeometryAroundCentreOfMass (FGeometryCollection *GeometryCollection, bool CenterAtOrigin)
 
void GeometryCollectionAlgo::FindOpenBoundaries (const FGeometryCollection *GeometryCollection, const float CoincidentVertexTolerance, TArray< TArray< TArray< int32 > > > &BoundaryVertexIndices)
 
void GeometryCollectionAlgo::TriangulateBoundaries (FGeometryCollection *GeometryCollection, const TArray< TArray< TArray< int32 > > > &BoundaryVertexIndices, bool bWoundClockwise, float MinTriangleAreaSq)
 
void GeometryCollectionAlgo::AddFaces (FGeometryCollection *GeometryCollection, const TArray< TArray< FIntVector > > &AddFaces)
 
void GeometryCollectionAlgo::ResizeGeometries (FGeometryCollection *GeometryCollection, const TArray< int32 > &FaceCounts, const TArray< int32 > &VertexCounts, bool bDoValidation)
 
 GeometryCollectionAlgo::DEFINE_LOG_CATEGORY_STATIC (LogGeometryCollectionClean, Verbose, All)
 
void GeometryCollectionAlgo::ComputeCoincidentVertices (const FGeometryCollection *GeometryCollection, const float Tolerance, TMap< int32, int32 > &CoincidentVerticesMap, TSet< int32 > &VertexToDeleteSet)
 
void GeometryCollectionAlgo::DeleteCoincidentVertices (FGeometryCollection *GeometryCollection, float Tolerance)
 
void GeometryCollectionAlgo::ComputeZeroAreaFaces (const FGeometryCollection *GeometryCollection, const float Tolerance, TSet< int32 > &FaceToDeleteSet)
 
void GeometryCollectionAlgo::DeleteZeroAreaFaces (FGeometryCollection *GeometryCollection, float Tolerance)
 
void GeometryCollectionAlgo::ComputeHiddenFaces (const FGeometryCollection *GeometryCollection, TSet< int32 > &FaceToDeleteSet)
 
void GeometryCollectionAlgo::DeleteHiddenFaces (FGeometryCollection *GeometryCollection)
 
void GeometryCollectionAlgo::ComputeStaleVertices (const FGeometryCollection *GeometryCollection, TSet< int32 > &VertexToDeleteSet)
 
void GeometryCollectionAlgo::DeleteStaleVertices (FGeometryCollection *GeometryCollection)
 
void GeometryCollectionAlgo::ComputeEdgeInFaces (const FGeometryCollection *GeometryCollection, TMap< FFaceEdge, int32 > &FaceEdgeMap)
 
void GeometryCollectionAlgo::PrintStatistics (const FGeometryCollection *GeometryCollection)
 
bool GeometryCollectionAlgo::HasValidFacesFor (const FGeometryCollection *GeometryCollection, int32 GeometryIndex)
 
bool GeometryCollectionAlgo::HasValidIndicesFor (const FGeometryCollection *GeometryCollection, int32 GeometryIndex)
 
bool GeometryCollectionAlgo::HasInvalidIndicesFor (const FGeometryCollection *GeometryCollection, int32 GeometryIndex)
 
bool GeometryCollectionAlgo::HasResidualFaces (const FGeometryCollection *GeometryCollection)
 
bool GeometryCollectionAlgo::HasResidualIndices (const FGeometryCollection *GeometryCollection)
 
bool GeometryCollectionAlgo::HasValidGeometryReferences (const FGeometryCollection *GeometryCollection)
 
TArray< int32GeometryCollectionAlgo::ComputeRecursiveOrder (const FManagedArrayCollection &Collection)
 

Function Documentation

◆ DEFINE_LOG_CATEGORY_STATIC()

DEFINE_LOG_CATEGORY_STATIC ( GeometryCollectionAlgoLog  ,
Log  ,
All   
)