UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CollectionTransformSelectionFacade.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
5#include "Containers/Array.h"
6#include "Math/MathFwd.h"
11#include "Chaos/Triangle.h"
12
14
16{
17
25 {
26 public:
27
33
36
38 bool IsConst() const { return ParentAttribute.IsConst(); }
39
41 CHAOS_API bool IsValid() const;
42
44 bool IsValidBone(const int32 Index) const { return Index >= 0 && Index < ParentAttribute.Num(); }
45
47 CHAOS_API bool IsARootBone(const int32 Index) const;
48
51
54
57
60
63
67
70
73
75
77 bool CanSelectRootBones() const { return ParentAttribute.IsValid(); }
79
82
84 bool CanSelectAll() const { return ParentAttribute.IsValid(); }
86
88 bool CanSelectInverse() const { return ParentAttribute.IsValid(); }
90
92 bool CanSelectRandom() const { return ParentAttribute.IsValid(); }
93 CHAOS_API TArray<int32> SelectRandom(bool bDeterministic, float RandomSeed, float RandomThresholdVal) const;
94
96 bool CanSelectLeaf() const { return SimulationTypeAttribute.IsValid(); }
98
100 bool CanSelectCluster() const { return SimulationTypeAttribute.IsValid(); }
102
104 bool CanSelectContact() const { return ParentAttribute.IsValid() && LevelAttribute.IsValid() && SimulationTypeAttribute.IsValid(); }
106
108 bool CanSelectParent() const { return ParentAttribute.IsValid(); }
110
112 bool CanSelectChildren() const { return ChildrenAttribute.IsValid(); }
114
116 bool CanSelectSiblings() const { return ParentAttribute.IsValid() && ChildrenAttribute.IsValid(); }
118
120 bool CanSelectLevel() const { return ParentAttribute.IsValid() && LevelAttribute.IsValid(); }
122
125
127 CHAOS_API TArray<int32> SelectBySize(float SizeMin, float SizeMax, bool bInclusive, bool bInsideRange, bool bUseRelativeSize = true) const;
128
130 CHAOS_API TArray<int32> SelectByVolume(float VolumeMin, float VolumeMax, bool bInclusive, bool bInsideRange) const;
131
134
138 bool CanSelectVerticesInBox() const { return ParentAttribute.IsValid(); }
140
144 bool CanSelectCentroidInBox() const { return ParentAttribute.IsValid(); }
146
150 bool CanSelectBoundingBoxInBox() const { return ParentAttribute.IsValid(); }
152
156 bool CanSelectVerticesInSphere() const { return ParentAttribute.IsValid(); }
158
162 bool CanSelectBoundingBoxInSphere() const { return ParentAttribute.IsValid(); }
164
168 bool CanSelectCentroidInSphere() const { return ParentAttribute.IsValid(); }
170
174// TArray<int32> SelectCentroidInConvex(const SOMECONVEXTYPE& InConvex, const FTransform& InTransform, const FTransform& InTransform) const;
175
179 CHAOS_API TArray<int32> SelectByFloatAttribute(FString GroupName, FString AttrName, float Min, float Max, bool bInclusive, bool bInsideRange) const;
180
184 CHAOS_API TArray<int32> SelectByIntAttribute(FString GroupName, FString AttrName, int32 Min, int32 Max, bool bInclusive, bool bInsideRange) const;
185
190
195
200
205
210
215
220
225
230
235
240
245
250
255
260
265
270
275
280
285
286
287 private:
288 // This a const facade
289 const FManagedArrayCollection& ConstCollection;
290
291 TManagedArrayAccessor<int32> ParentAttribute;
292 TManagedArrayAccessor<TSet<int32>> ChildrenAttribute;
293 TManagedArrayAccessor<int32> LevelAttribute;
294 TManagedArrayAccessor<int32> SimulationTypeAttribute;
295 TManagedArrayAccessor<int32> TransformToGeometryIndexAttribute;
296 TManagedArrayAccessor<int32> TransformIndexAttribute;
297 TManagedArrayAccessor<int32> VertexStartAttribute;
298 TManagedArrayAccessor<int32> VertexCountAttribute;
299 TManagedArrayAccessor<int32> FaceStartAttribute;
300 TManagedArrayAccessor<int32> FaceCountAttribute;
301 TManagedArrayAccessor<FIntVector> IndicesAttribute;
302 };
303
304}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Percentage
Definition GeometryCollection.h:32
ESimulationTypes
Definition GeometryCollection.h:131
Definition CollectionTransformSelectionFacade.h:25
bool CanSelectContact() const
Definition CollectionTransformSelectionFacade.h:104
bool CanSelectVerticesInBox() const
Definition CollectionTransformSelectionFacade.h:138
CHAOS_API TArray< int32 > ConvertCurveSelectionToGeometrySelection(const TArray< int32 > &InCurveSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1810
CHAOS_API void SelectContact(TArray< int32 > &InOutSelection, bool bIncludeNeighborsInParentLevels=true) const
Definition CollectionTransformSelectionFacade.cpp:462
CHAOS_API TArray< int32 > ConvertTransformSelectionToVertexSelection(const TArray< int32 > &InTransformSelection) const
Definition CollectionTransformSelectionFacade.cpp:1365
CHAOS_API TArray< int32 > ConvertVertexSelectionToCurveSelection(const TArray< int32 > &InVertexSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1712
CHAOS_API TArray< int32 > SelectBySize(float SizeMin, float SizeMax, bool bInclusive, bool bInsideRange, bool bUseRelativeSize=true) const
Definition CollectionTransformSelectionFacade.cpp:631
CHAOS_API TArray< int32 > ConvertCurveSelectionToFaceSelection(const TArray< int32 > &InCurveSelection) const
Definition CollectionTransformSelectionFacade.cpp:1784
bool CanSelectLeaf() const
Definition CollectionTransformSelectionFacade.h:96
bool CanSelectRandom() const
Definition CollectionTransformSelectionFacade.h:92
CHAOS_API TArray< int32 > SelectRootBones() const
Definition CollectionTransformSelectionFacade.cpp:314
static CHAOS_API void SelectByPercentage(TArray< int32 > &InOutSelection, int32 Percentage, bool Deterministic, float RandomSeed)
Definition CollectionTransformSelectionFacade.cpp:621
CHAOS_API bool IsARootBone(const int32 Index) const
Definition CollectionTransformSelectionFacade.cpp:50
CHAOS_API TArray< int32 > ConvertVertexSelectionToGeometrySelection(const TArray< int32 > &InVertexSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1550
CHAOS_API void SelectInverse(TArray< int32 > &InOutSelection) const
Definition CollectionTransformSelectionFacade.cpp:360
CHAOS_API TMap< int32, TArray< int32 > > GetClusteredSelections(const TArray< int32 > &InSelection) const
Definition CollectionTransformSelectionFacade.cpp:759
CHAOS_API TArray< int32 > ConvertCurveSelectionToTransformSelection(const TArray< int32 > &InCurveSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1856
bool IsConst() const
Definition CollectionTransformSelectionFacade.h:38
CHAOS_API bool IsValid() const
Definition CollectionTransformSelectionFacade.cpp:40
CHAOS_API TArray< int32 > SelectNone() const
Definition CollectionTransformSelectionFacade.cpp:335
CHAOS_API TArray< int32 > ConvertFaceSelectionToTransformSelection(const TArray< int32 > &InFaceSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1201
CHAOS_API TArray< int32 > SelectAll() const
Definition CollectionTransformSelectionFacade.cpp:342
CHAOS_API TArray< int32 > SelectCentroidInBox(const FBox &InBox, const FTransform &InBoxTransform) const
Definition CollectionTransformSelectionFacade.cpp:824
CHAOS_API void SelectLevel(TArray< int32 > &InOutSelection) const
Definition CollectionTransformSelectionFacade.cpp:563
bool CanSelectParent() const
Definition CollectionTransformSelectionFacade.h:108
CHAOS_API TArray< int32 > ConvertVertexSelectionToTransformSelection(const TArray< int32 > &InVertexSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1143
bool CanSelectBoundingBoxInSphere() const
Definition CollectionTransformSelectionFacade.h:162
CHAOS_API void ConvertSelectionToClusterNodes(TArray< int32 > &InOutSelection, bool bLeaveRigidRoots=true) const
Definition CollectionTransformSelectionFacade.cpp:272
CHAOS_API void Sanitize(TArray< int32 > &InSelection, bool bFavorParents=true) const
Definition CollectionTransformSelectionFacade.cpp:175
CHAOS_API TArray< int32 > ConvertFaceSelectionToCurveSelection(const TArray< int32 > &InFaceSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1666
bool CanSelectLevel() const
Definition CollectionTransformSelectionFacade.h:120
CHAOS_API void ConvertEmbeddedSelectionToParents(TArray< int32 > &InOutSelection) const
Definition CollectionTransformSelectionFacade.cpp:231
CHAOS_API TArray< int32 > GetBonesExactlyAtLevel(const int32 TargetLevel, bool bOnlyClusteredOrRigid) const
Definition CollectionTransformSelectionFacade.cpp:136
CHAOS_API void SelectChildren(TArray< int32 > &InOutSelection) const
Definition CollectionTransformSelectionFacade.cpp:513
CHAOS_API void FilterSelectionBySimulationType(TArray< int32 > &InOutSelection, FGeometryCollection::ESimulationTypes KeepSimulationType) const
Definition CollectionTransformSelectionFacade.cpp:262
CHAOS_API TArray< int32 > SelectByVolume(float VolumeMin, float VolumeMax, bool bInclusive, bool bInsideRange) const
Definition CollectionTransformSelectionFacade.cpp:699
bool CanSelectCentroidInSphere() const
Definition CollectionTransformSelectionFacade.h:168
CHAOS_API TArray< int32 > ConvertTransformSelectionToFaceSelection(const TArray< int32 > &InTransformSelection) const
Definition CollectionTransformSelectionFacade.cpp:1314
CHAOS_API TArray< int32 > SelectByFloatAttribute(FString GroupName, FString AttrName, float Min, float Max, bool bInclusive, bool bInsideRange) const
Definition CollectionTransformSelectionFacade.cpp:1043
bool CanSelectAll() const
Definition CollectionTransformSelectionFacade.h:84
CHAOS_API TArray< int32 > SelectBoundingBoxInBox(const FBox &InBox, const FTransform &InBoxTransform) const
Definition CollectionTransformSelectionFacade.cpp:863
CHAOS_API TArray< int32 > ConvertTransformSelectionToGeometrySelection(const TArray< int32 > &InTransformSelection) const
Definition CollectionTransformSelectionFacade.cpp:1397
CHAOS_API bool HasSelectedAncestor(const TArray< int32 > &InSelection, const int32 Index) const
Definition CollectionTransformSelectionFacade.cpp:56
CHAOS_API TArray< int32 > GetBonesByLevel(const int32 Level, bool bOnlyClusteredOrRigid, bool bSkipFiltered) const
Definition CollectionTransformSelectionFacade.cpp:100
bool CanSelectBoundingBoxInBox() const
Definition CollectionTransformSelectionFacade.h:150
bool CanSelectVerticesInSphere() const
Definition CollectionTransformSelectionFacade.h:156
CHAOS_API TArray< int32 > ConvertGeometrySelectionToVertexSelection(const TArray< int32 > &InGeometrySelection) const
Definition CollectionTransformSelectionFacade.cpp:1466
CHAOS_API TArray< int32 > SelectCentroidInSphere(const FSphere &InSphere, const FTransform &InSphereTransform) const
Definition CollectionTransformSelectionFacade.cpp:952
CHAOS_API TArray< int32 > ConvertCurveSelectionToVertexSelection(const TArray< int32 > &InCurveSelection) const
Definition CollectionTransformSelectionFacade.cpp:1758
CHAOS_API TArray< int32 > ConvertGeometrySelectionToFaceSelection(const TArray< int32 > &InGeometrySelection) const
Definition CollectionTransformSelectionFacade.cpp:1439
bool CanSelectCluster() const
Definition CollectionTransformSelectionFacade.h:100
CHAOS_API TArray< int32 > SelectLeaf() const
Definition CollectionTransformSelectionFacade.cpp:418
CHAOS_API void RemoveRootNodes(TArray< int32 > &InOutSelection) const
Definition CollectionTransformSelectionFacade.cpp:82
CHAOS_API TArray< int32 > ConvertTransformSelectionToCurveSelection(const TArray< int32 > &InTransformSelection) const
Definition CollectionTransformSelectionFacade.cpp:1608
bool CanSelectSiblings() const
Definition CollectionTransformSelectionFacade.h:116
bool CanSelectChildren() const
Definition CollectionTransformSelectionFacade.h:112
CHAOS_API void DefineSchema()
Definition CollectionTransformSelectionFacade.cpp:34
bool CanSelectRootBones() const
Definition CollectionTransformSelectionFacade.h:77
CHAOS_API TArray< int32 > ConvertGeometrySelectionToTransformSelection(const TArray< int32 > &InGeometrySelection) const
Definition CollectionTransformSelectionFacade.cpp:1418
bool CanSelectInverse() const
Definition CollectionTransformSelectionFacade.h:88
CHAOS_API TArray< int32 > SelectVerticesInBox(const FBox &InBox, const FTransform &InBoxTransform, bool bAllVerticesInBox) const
Definition CollectionTransformSelectionFacade.cpp:774
CHAOS_API TArray< int32 > ConvertFaceSelectionToGeometrySelection(const TArray< int32 > &InFaceSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1493
CHAOS_API TArray< int32 > SelectCluster() const
Definition CollectionTransformSelectionFacade.cpp:440
bool IsValidBone(const int32 Index) const
Definition CollectionTransformSelectionFacade.h:44
CHAOS_API TArray< int32 > SelectRandom(bool bDeterministic, float RandomSeed, float RandomThresholdVal) const
Definition CollectionTransformSelectionFacade.cpp:381
CHAOS_API TArray< int32 > SelectBoundingBoxInSphere(const FSphere &InSphere, const FTransform &InSphereTransform) const
Definition CollectionTransformSelectionFacade.cpp:991
CHAOS_API TArray< int32 > ConvertVertexSelectionToFaceSelection(const TArray< int32 > &InVertexSelection, bool bAllElementsMustBeSelected) const
Definition CollectionTransformSelectionFacade.cpp:1259
CHAOS_API TArray< int32 > ConvertFaceSelectionToVertexSelection(const TArray< int32 > &InFaceSelection) const
Definition CollectionTransformSelectionFacade.cpp:1346
CHAOS_API TArray< int32 > SelectVerticesInSphere(const FSphere &InSphere, const FTransform &InSphereTransform, bool bAllVerticesInSphere) const
Definition CollectionTransformSelectionFacade.cpp:902
CHAOS_API void ConvertSelectionToRigidNodes(const int32 Index, TArray< int32 > &InSelection) const
Definition CollectionTransformSelectionFacade.cpp:197
CHAOS_API TArray< int32 > SelectByIntAttribute(FString GroupName, FString AttrName, int32 Min, int32 Max, bool bInclusive, bool bInsideRange) const
Definition CollectionTransformSelectionFacade.cpp:1093
CHAOS_API void SelectSiblings(TArray< int32 > &InOutSelection) const
Definition CollectionTransformSelectionFacade.cpp:538
CHAOS_API TArray< int32 > ConvertGeometrySelectionToCurveSelection(const TArray< int32 > &InGeometrySelection) const
Definition CollectionTransformSelectionFacade.cpp:1640
bool CanSelectCentroidInBox() const
Definition CollectionTransformSelectionFacade.h:144
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition CollectionBoundsFacade.cpp:13
U16 Index
Definition radfft.cpp:71
Definition ManagedArrayCollection.h:56
Definition ManagedArrayAccessor.h:20
bool IsConst() const
Definition ManagedArrayAccessor.h:51
bool IsValid() const
Definition ManagedArrayAccessor.h:53
int32 Num() const
Definition ManagedArrayAccessor.h:196