Navigation
API > API/Runtime > API/Runtime/GeometryCore
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/MeshRegionBoundaryLoops.h |
| Include | #include "MeshRegionBoundaryLoops.h" |
Syntax
class FMeshRegionBoundaryLoops
Remarks
Extract FEdgeLoops on the boundary of a set of triangles of a mesh.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bFailed | If true, we did not completely succeed in extracting all loops | |
| FIndexFlagSet | Edges | ||
| TArray< int > | edges_roi | ||
| TArray< FEdgeLoop > | Loops | Resulting set of loops filled by Compute() | |
| const FDynamicMesh3 * | Mesh | Mesh we are finding loops on | |
| FIndexFlagSet | Triangles | Sets of included triangles and edges |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FMeshRegionBoundaryLoops
(
const FDynamicMesh3* MeshIn, |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | Compute () |
Find set of FEdgeLoops on the border of the input triangle set | |
| int | FindLeftTurnEdge
(
int incoming_e, |
Ok, bdry_edges[0...bdry_edges_count] contains the boundary edges coming out of bowtie_v. | |
| 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 | |
| int32 | GetLoopCount () |
||
| bool | GetLoopOverlayMap
(
const FEdgeLoop& LoopIn, |
Generates a map from vertex ID's of the loop vertices to corresponding overlay element ID's and values. | |
| const TArray< FEdgeLoop > & | GetLoops () |
||
| int | |||
| FIndex2i | GetOrientedEdgeVerts
(
int eID, |
Return same indices as GetEdgeV, but oriented based on attached triangle | |
| bool | GetTriangleSetBoundaryLoop
(
const FDynamicMesh3& Mesh, |
Find the edge loop border around a set of triangles of a Mesh. | |
| int | GetVertexBoundaryEdges
(
int vID, |
Returns first two boundary edges, and count of total boundary edges | |
| FVector3d | GetVertexNormal
(
int vid |
[TODO] cache this : a dictionary? we will not need very many, but we will need each multiple times! | |
| bool | IsEdgeOnBoundary
(
int eid |
||
| 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 | |
| int32 | Num () |
||
| void | SetMesh
(
const FDynamicMesh3* MeshIn, |
||
| bool | This is called when loopV contains one or more "bowtie" vertices. | ||
| 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. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| const FEdgeLoop & | operator[]
(
int Index |
Typedefs
| Name | Description |
|---|---|
| ElementIDAndValue | |
| VidOverlayMap |