15class FMeshFaceSelection;
16class FMeshEdgeSelection;
44 return Selected.Array();
49 for (
int tid : Selected)
63 TSet<int>::TRangedForIterator
begin() {
return Selected.begin(); }
64 TSet<int>::TRangedForConstIterator
begin()
const {
return Selected.begin(); }
65 TSet<int>::TRangedForIterator
end() {
return Selected.end(); }
66 TSet<int>::TRangedForConstIterator
end()
const {
return Selected.end(); }
81 return Selected.Num();
86 return Selected.Contains(
vID);
92 if (Mesh->IsVertex(
vID))
99 for (
int VID : Vertices)
101 if (Mesh->IsVertex(VID))
111 template<
typename PredicateFuncType>
127 template<
typename PredicateFuncType>
143 for (
int TID : Triangles)
164 if (!
ensureMsgf(Mesh->IsBoundaryVertex(
vSeed),
TEXT(
"MeshConnectedComponents.FindConnectedBoundaryV: vSeed is not a boundary vertex")))
173 while (queue.
Num() > 0)
176 for (
int nbrid : Mesh->VtxVerticesItr(vid))
190 for (
int EID : Edges)
193 add(
ev.A); add(
ev.B);
204 for (
int VID : Vertices)
212 remove(
ev.A); remove(
ev.B);
217 for (
int EID : Edges)
220 remove(
ev.A); remove(
ev.B);
236 for (
int vid : Selected)
238 for (
int nbr_vid : Mesh->VtxVerticesItr(vid))
261 for (
int k = 0; k <
nRings; ++k)
280 for (
int vid : Selected)
283 for (
int nbr_vid : Mesh->VtxVerticesItr(vid))
320 while (stack.
Num() > 0)
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define ensure( InExpression)
Definition AssertionMacros.h:464
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
ElementType Pop(EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:1196
Definition BitArray.h:350
Definition FunctionFwd.h:19
Definition DynamicMesh3.h:108
Definition MeshEdgeSelection.h:22
Definition MeshFaceSelection.h:21
Definition MeshVertexSelection.h:19
void DeselectEdge(int eid)
Definition MeshVertexSelection.h:209
void ExpandToOneRingNeighbours(int nRings, const TUniqueFunction< bool(int)> &FilterF=nullptr)
Definition MeshVertexSelection.h:259
void Select(TArrayView< const int > Vertices)
Definition MeshVertexSelection.h:97
int Num() const
Definition MeshVertexSelection.h:79
void DeselectEdges(TArrayView< const int > Edges)
Definition MeshVertexSelection.h:215
void Deselect(int vID)
Definition MeshVertexSelection.h:198
void Deselect(TArrayView< const int > Vertices)
Definition MeshVertexSelection.h:202
TSet< int >::TRangedForConstIterator begin() const
Definition MeshVertexSelection.h:64
GEOMETRYCORE_API void SelectInteriorVertices(const FMeshFaceSelection &triangles)
Definition MeshVertexSelection.cpp:38
bool IsSelected(int vID) const
Definition MeshVertexSelection.h:84
void SelectByPosition(PredicateFuncType PredicateFunc, bool bSelectTrue=true)
Definition MeshVertexSelection.h:128
void FloodFill(int vSeed, const TUniqueFunction< bool(int)> &VertIncludedF=nullptr)
Definition MeshVertexSelection.h:305
void SelectConnectedBoundaryV(int vSeed)
Definition MeshVertexSelection.h:162
TArray< int > AsArray() const
Definition MeshVertexSelection.h:42
TBitArray< FDefaultBitArrayAllocator > AsBitArray() const
Definition MeshVertexSelection.h:46
void FloodFill(const TArray< int > &Seeds, const TUniqueFunction< bool(int)> &VertIncludedF=nullptr)
Definition MeshVertexSelection.h:313
void SelectEdgeVertices(TArrayView< const int > Edges)
Definition MeshVertexSelection.h:188
TSet< int >::TRangedForIterator end()
Definition MeshVertexSelection.h:65
TSet< int >::TRangedForIterator begin()
Definition MeshVertexSelection.h:63
void ContractByBorderVertices(int32 nRings=1)
Definition MeshVertexSelection.h:272
FMeshVertexSelection(const FDynamicMesh3 *mesh)
Definition MeshVertexSelection.h:26
TSet< int >::TRangedForConstIterator end() const
Definition MeshVertexSelection.h:66
void SelectTriangleVertices(TArrayView< const int > Triangles)
Definition MeshVertexSelection.h:141
void Select(int vID)
Definition MeshVertexSelection.h:89
void ExpandToOneRingNeighbours(const TUniqueFunction< bool(int)> &FilterF=nullptr)
Definition MeshVertexSelection.h:232
void SelectByVertexID(PredicateFuncType PredicateFunc, bool bSelectTrue=true)
Definition MeshVertexSelection.h:112
TSet< int > AsSet() const
Definition MeshVertexSelection.h:38
Definition DynamicVector.h:27
void Add(const Type &Data)
Definition DynamicVector.h:662
const Type & Back() const
Definition DynamicVector.h:167
void PopBack()
Definition DynamicVector.h:717
size_t Num() const
Definition DynamicVector.h:147
Definition AdvancedWidgetsModule.cpp:13
Definition IndexTypes.h:27
Definition IndexTypes.h:158