Navigation
API > API/Runtime > API/Runtime/Chaos
| Name | FGeometryCollectionClusteringUtility |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/GeometryCollection/GeometryCollectionClusteringUtility.h |
| Include Path | #include "GeometryCollection/GeometryCollectionClusteringUtility.h" |
Syntax
class FGeometryCollectionClusteringUtility
Functions
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void ClusterAllBonesUnderNewRoot
(
FGeometryCollection* GeometryCollection, |
Cluster all existing bones under a new root node, so there is now only one root node and a completely flat hierarchy underneath it | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void ClusterBonesByContext
(
FGeometryCollection* GeometryCollection, |
Clusters using one of ClusterBonesUnderNewNode or ClusterBonesUnderExistingNode based on the context of what is being clustered | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void ClusterBonesUnderExistingNode
(
FGeometryCollection* GeometryCollection, |
Cluster all source bones under an existing node, existing node is specifiedas MergeNode | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void ClusterBonesUnderExistingNode
(
FGeometryCollection* GeometryCollection, |
Cluster all source bones under an existing node, algorithm chooses best node to add to 'closest to root' | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void ClusterBonesUnderExistingRoot
(
FGeometryCollection* GeometryCollection, |
Reparent source bones under root bone | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static int32 ClusterBonesUnderNewNode
(
FGeometryCollection* GeometryCollection, |
Creates a cluster in the node hierarchy by re-parenting the Selected Bones off a new node in the hierarchy It makes more sense to think that the Selected Bones are all at the same level in the hierarchy however it will re-parent multiple levels at the InsertAtIndex location bone | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static int32 ClusterBonesUnderNewNodeWithParent
(
FGeometryCollection* GeometryCollection, |
Same as ClusterBonesUnderNewNode, but specify the parent of the new node instead of a sibling. | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void CollapseHierarchyOneLevel
(
FGeometryCollection* GeometryCollection, |
Moved the selected bones closer to the root | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void CollapseLevelHierarchy
(
int8 Level, |
Collapse hierarchy at specified level | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void CollapseSelectedHierarchy
(
int8 Level, |
Collapse hierarchy of selected bones at specified level | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static bool ContainsMultipleRootBones
(
FGeometryCollection* GeometryCollection |
Returns true if bone hierarchy contains more than one root node | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static int32 FindLowestCommonAncestor
(
const FManagedArrayCollection* GeometryCollection, |
GeometryCollection/GeometryCollectionClusteringUtility.h | ||
static int32 FindLowestCommonAncestor
(
const FManagedArrayCollection* GeometryCollection, |
Find the lowest common ancestor index of currently selected nodes. | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void GetBonesToLevel
(
const FGeometryCollection* GeometryCollection, |
Get list of all bones above the specified hierarchy level | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void GetChildBonesAtLevel
(
const FGeometryCollection* GeometryCollection, |
Get list of child bones down from the source bone at the specified hierarchy level | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void GetChildBonesFromLevel
(
const FGeometryCollection* GeometryCollection, |
Get list of child bones down from the source bone below the specified hierarchy level | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void GetClusteredBonesWithCommonParent
(
const FGeometryCollection* GeometryCollection, |
Finds all Bones in same cluster as the one specified | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void GetLeafBones
(
const FManagedArrayCollection* GeometryCollection, |
Return an array of all child leaf nodes below the specified node. | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static int32 GetParentOfBoneAtSpecifiedLevel
(
const FGeometryCollection* GeometryCollection, |
Search hierarchy for the parent of the specified bone, where the parent exists at the given level in the hierarchy. | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void GetRootBones
(
const FGeometryCollection* GeometryCollection, |
Finds the root bone in the hierarchy, the one with an invalid parent bone index | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static bool IsARootBone
(
const FGeometryCollection* GeometryCollection, |
Return true if the specified bone is a root bone | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void MoveUpOneHierarchyLevel
(
FGeometryCollection* GeometryCollection, |
Move the selected node up a level in direction of root | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static bool NodeExistsOnThisBranch
(
const FGeometryCollection* GeometryCollection, |
Return true of Test Node exists on tree branch specified by TreeElement Node | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static int32 PickBestNodeToMergeTo
(
const FManagedArrayCollection* Collection, |
GeometryCollection/GeometryCollectionClusteringUtility.h | ||
static void RecursiveAddAllChildren
(
const TManagedArray< TSet< int32 > >& Children, |
Recursively Add all children to output bone list from source bone down to the leaf nodes | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void RecursivelyUpdateChildBoneNames
(
int32 BoneIndex, |
Maintains the bone naming convention of Root "Name" Level 1 "Name_001", "Name_0002", ... | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void RecursivelyUpdateHierarchyLevelOfChildren
(
TManagedArray< int32 >& Levels, |
GeometryCollection/GeometryCollectionClusteringUtility.h | ||
static bool RemoveClustersOfOnlyOneChild
(
FGeometryCollection* GeometryCollection |
Simplify the geometry collection by removing cluster nodes w/ a parent and only one child, re-parenting the child to its grand-parent. | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static bool RemoveDanglingClusters
(
FGeometryCollection* GeometryCollection |
Delete any cluster nodes discovered to have no children. Returns true if any nodes were removed. | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void RenameBone
(
FGeometryCollection* GeometryCollection, |
Rename a bone node, will automatically update all child node names if requested (current default) | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void ResetSliderTransforms
(
TManagedArray< FTransform >& ExplodedTransforms, |
#todo: intend to remove reliance on custom attributes for slider by making use of Rest/Dynamic collections | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void UpdateHierarchyLevelOfChildren
(
FGeometryCollection* GeometryCollection, |
Recursively update the hierarchy level of all the children below this bone | GeometryCollection/GeometryCollectionClusteringUtility.h | |
static void UpdateHierarchyLevelOfChildren
(
FManagedArrayCollection& InCollection, |
GeometryCollection/GeometryCollectionClusteringUtility.h | ||
static void ValidateResults
(
FGeometryCollection* GeometryCollection |
GeometryCollection/GeometryCollectionClusteringUtility.h |