167 template<
typename VecType>
171 for (
int i = 0; i <
NumV; ++i)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition AssetRegistryState.h:50
Definition DynamicMesh3.h:108
FVector3d GetVertex(int VertexID) const
Definition DynamicMesh3.h:736
void GetVertices(TArray< VecType > &VerticesOut) const
Definition EdgeLoop.h:168
GEOMETRYCORE_API bool SetCorrectOrientation()
Definition EdgeLoop.cpp:95
TArray< int > BowtieVertices
Definition EdgeLoop.h:30
bool InitializeFromVertices(const FDynamicMesh3 *MeshIn, const TArray< int > &VerticesIn, bool bAutoOrient=true)
Definition EdgeLoop.h:95
static GEOMETRYCORE_API void VertexLoopToEdgeLoop(const FDynamicMesh3 *Mesh, const TArray< int > &VertexLoop, TArray< int > &OutEdgeLoop)
Definition EdgeLoop.cpp:241
int GetEdgeCount() const
Definition EdgeLoop.h:128
void SetBowtieVertices(const TArray< int > &Bowties)
Definition EdgeLoop.h:105
GEOMETRYCORE_API bool IsBoundaryLoop(const FDynamicMesh3 *TestMesh=nullptr) const
Definition EdgeLoop.cpp:134
GEOMETRYCORE_API bool InitializeFromVertices(const TArray< int > &VerticesIn, bool bAutoOrient=true)
Definition EdgeLoop.cpp:41
TArray< int > Vertices
Definition EdgeLoop.h:25
GEOMETRYCORE_API bool CheckValidity(EValidityCheckFailMode FailMode=EValidityCheckFailMode::Check) const
Definition EdgeLoop.cpp:185
GEOMETRYCORE_API bool IsInternalLoop() const
Definition EdgeLoop.cpp:120
void Reverse()
Definition EdgeLoop.h:190
const FDynamicMesh3 * Mesh
Definition EdgeLoop.h:22
FEdgeLoop()
Definition EdgeLoop.h:35
GEOMETRYCORE_API void CalculateBowtieVertices()
Definition EdgeLoop.cpp:68
GEOMETRYCORE_API FAxisAlignedBox3d GetBounds() const
Definition EdgeLoop.cpp:83
FVector3d GetNextVertex(int32 LoopIndex) const
Definition EdgeLoop.h:152
FVector3d GetPrevVertex(int32 LoopIndex) const
Definition EdgeLoop.h:144
GEOMETRYCORE_API int FindVertexIndex(int VertexID) const
Definition EdgeLoop.cpp:150
FVector3d GetVertex(int LoopIndex) const
Definition EdgeLoop.h:136
FEdgeLoop(const FDynamicMesh3 *mesh)
Definition EdgeLoop.h:40
GEOMETRYCORE_API int FindNearestVertexIndex(const FVector3d &QueryPoint) const
Definition EdgeLoop.cpp:164
FEdgeLoop(const FDynamicMesh3 *mesh, const TArray< int > &vertices, const TArray< int > &edges)
Definition EdgeLoop.h:48
TArray< int > Edges
Definition EdgeLoop.h:27
void InitializeFromEdges(const FDynamicMesh3 *MeshIn, const TArray< int > &EdgesIn)
Definition EdgeLoop.h:72
GEOMETRYCORE_API void InitializeFromEdges(const TArray< int > &EdgesIn)
Definition EdgeLoop.cpp:21
int GetVertexCount() const
Definition EdgeLoop.h:120
bool bBowtiesCalculated
Definition EdgeLoop.h:33
UE_REWRITE void Reverse(T(&Array)[ArraySize])
Definition Reverse.h:28
GEOMETRYCORE_API bool ConvertLoopToTriOrderedEdgeLoop(const FDynamicMesh3 &Mesh, const TArray< int32 > &VertexLoop, const TArray< int32 > &EdgeLoop, TFunctionRef< int(int EdgeID, int TriangleA, int TriangleB)> SelectEdgeTriangleFunc, TArray< FMeshTriOrderedEdgeID > &TriOrderedEdgesLoopOut)
EValidityCheckFailMode
Definition GeometryTypes.h:72
GEOMETRYCORE_API bool ConvertTriOrderedEdgeLoopToLoop(const FDynamicMesh3 &Mesh, const TArray< FMeshTriOrderedEdgeID > &TriOrderedEdgesLoopOut, TArray< int32 > &VertexLoop, TArray< int32 > *EdgeLoop=nullptr)
Definition EdgeLoop.cpp:298
Definition AdvancedWidgetsModule.cpp:13