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