Navigation
API > API/Runtime > API/Runtime/GeometryCore
Extract FEdgeLoops on the boundary of a set of triangles of a mesh.
| Name | FMeshRegionBoundaryLoops |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/MeshRegionBoundaryLoops.h |
| Include Path | #include "MeshRegionBoundaryLoops.h" |
Syntax
class FMeshRegionBoundaryLoops
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FMeshRegionBoundaryLoops
(
const FDynamicMesh3* MeshIn, |
MeshRegionBoundaryLoops.h | ||
| MeshRegionBoundaryLoops.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| ElementIDAndValue | TPair< int32, ElementType > | MeshRegionBoundaryLoops.h | |
| VidOverlayMap | TMap< int32, ElementIDAndValue< ElementType > > | MeshRegionBoundaryLoops.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bFailed | bool | If true, we did not completely succeed in extracting all loops | MeshRegionBoundaryLoops.h | |
| Loops | TArray< FEdgeLoop > | Resulting set of loops filled by Compute() | MeshRegionBoundaryLoops.h | |
| Mesh | const FDynamicMesh3 * | Mesh we are finding loops on | MeshRegionBoundaryLoops.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool Compute() |
Find set of FEdgeLoops on the border of the input triangle set | MeshRegionBoundaryLoops.h | |
int32 GetLoopCount() |
MeshRegionBoundaryLoops.h | ||
bool GetLoopOverlayMap
(
const FEdgeLoop& LoopIn, |
Generates a map from vertex ID's of the loop vertices to corresponding overlay element ID's and values. | MeshRegionBoundaryLoops.h | |
| MeshRegionBoundaryLoops.h | |||
int GetMaxVerticesLoopIndex() |
MeshRegionBoundaryLoops.h | ||
int32 Num() |
MeshRegionBoundaryLoops.h | ||
void SetMesh
(
const FDynamicMesh3* MeshIn, |
MeshRegionBoundaryLoops.h | ||
void UpdateLoopOverlayMapValidity
(
VidOverlayMap< ElementType >& LoopVidsToOverlayElements, |
Given a map generated by GetLoopOverlayMap(), checks that the overlay elements pointed to by the map still exist in the overlay, and sets the ID to be invalid if not. | MeshRegionBoundaryLoops.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int FindLeftTurnEdge
(
int incoming_e, |
Ok, bdry_edges[0...bdry_edges_count] contains the boundary edges coming out of bowtie_v. | MeshRegionBoundaryLoops.h | |
int GetAllVertexBoundaryEdges
(
int vID, |
E needs to be large enough (ie call GetVtxBoundaryEdges, or as large as max one-ring) returns count, ie number of elements of e that were filled | MeshRegionBoundaryLoops.h | |
FIndex2i GetOrientedEdgeVerts
(
int eID, |
Return same indices as GetEdgeV, but oriented based on attached triangle | MeshRegionBoundaryLoops.h | |
int GetVertexBoundaryEdges
(
int vID, |
Returns first two boundary edges, and count of total boundary edges | MeshRegionBoundaryLoops.h | |
FVector3d GetVertexNormal
(
int vid |
[TODO] cache this : a dictionary? we will not need very many, but we will need each multiple times! | MeshRegionBoundaryLoops.h | |
bool IsEdgeOnBoundary
(
int eid |
MeshRegionBoundaryLoops.h | ||
bool IsEdgeOnBoundary
(
int eid, |
Returns true for both internal and mesh boundary edges tid_in and tid_out are triangles 'in' and 'out' of set, respectively | MeshRegionBoundaryLoops.h | |
| This is called when loopV contains one or more "bowtie" vertices. | MeshRegionBoundaryLoops.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool GetTriangleSetBoundaryLoop
(
const FDynamicMesh3& Mesh, |
Find the edge loop border around a set of triangles of a Mesh. | MeshRegionBoundaryLoops.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FEdgeLoop & operator[]
(
int Index |
MeshRegionBoundaryLoops.h |