Navigation
API > API/Runtime > API/Runtime/GeometryCore
References
| Module | GeometryCore |
| Header | /Engine/Source/Runtime/GeometryCore/Public/MeshBoundaryLoops.h |
| Include | #include "MeshBoundaryLoops.h" |
Syntax
class FMeshBoundaryLoops
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bAborted | If true, we aborted computation due to unrecoverable errors | |
| bool | bFellBackToSpansOnFailure | If true, we had to call back to spans because of failures during Compute(). | |
| bool | bSawOpenSpans | If true, we found at least one open span during Compute(). | |
| TFunction< bool(int)> | EdgeFilterFunc | If non-null, then only edges that pass this filter are considered. This may result in open spans. | |
| EFailureBehaviors | FailureBehavior | What Compute() will do if it encounters unrecoverable errors while walking around a loop | |
| TArray< int > | FailureBowties | If we encountered unrecoverable errors, it is generally due to bowtie vertices. | |
| TArray< FEdgeLoop > | Loops | Resulting set of loops filled by Compute() | |
| const FDynamicMesh3 * | Mesh | Mesh we are finding loops on | |
| ESpanBehaviors | SpanBehavior | What Compute() will do if it encounter open spans | |
| TArray< FEdgeSpan > | Spans | Resulting set of spans filled by Compute(), if SpanBehavior == Compute | |
| TArray< int > | VerticesTemp |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FMeshBoundaryLoops
(
const FDynamicMesh3* MeshIn, |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | Compute () |
Find the set of boundary EdgeLoops and EdgeSpans. | |
| int | CountInList
(
const TArray< int >& Loop, |
Count number of times item appears in loop | |
| int | Count number of valid vertices in l between loop[i0] and loop[i1-1] | ||
| void | ExtractSpan
(
TArray< int >& Loop, |
Read out the span from loop[i0] to loop [i1-1] into an array. | |
| bool | ExtractSubloops
(
TArray< int >& loopV, |
This is called when loopV contains one or more "bowtie" vertices. | |
| int | Find the index of item in loop, starting at start index | ||
| int | FindLeftTurnEdge
(
int incoming_e, |
Ok, bdry_edges[0...bdry_edges_count] contains the boundary edges coming out of bowtie_v. | |
| int | FindLoopContainingEdge
(
int EdgeID |
||
| int | FindLoopContainingVertex
(
int VertexID |
||
| int | FindLoopEdgesHint
(
const TSet< int >& BorderHintEdges |
||
| int | FindLoopTrianglesHint
(
const TArray< int >& BorderHintTris |
||
| FIndex2i | FindVertexInLoop
(
int VertexID |
||
| int | |||
| int | GetLoopCount () |
||
| int | |||
| int | GetSpanCount () |
||
| FVector3d | GetVertexNormal
(
int vid |
[TODO] cache this : a dictionary? we will not need very many, but we will need each multiple times! | |
| bool | IsSimpleBowtieLoop
(
const TArray< int >& LoopVerts, |
Static Utility functions that can be re-used in MeshRegionBoundaryLoops In all the functions below, the list loopV is assumed to possibly contain "removed" vertices indicated by -1. | |
| bool | IsSimplePath
(
const TArray< int >& LoopVerts, |
Check if forward path from loopV[i1] to loopV[i2] contains any bowtie verts other than bowtieV | |
| void | SetMesh
(
const FDynamicMesh3* MeshIn |
Operators
| Type | Name | Description | |
|---|---|---|---|
| const FEdgeLoop & | operator[]
(
int Index |
Classes
| Type | Name | Description | |
|---|---|---|---|
| Subloops |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EFailureBehaviors | |||
| ESpanBehaviors |