FMeshRegionBoundaryLoops

Extract FEdgeLoops on the boundary of a set of triangles of a mesh.

Windows
MacOS
Linux

References

Module

DynamicMesh

Header

/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/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

Name Description

Public variable

bool

 

bFailed

If true, we did not completely succeed in extracting all loops

Protected variable

FIndexFlagSet

 

Edges

Protected variable

TArray< int >

 

edges_roi

Public variable

TArray< FEdgeLo...

 

Loops

Resulting set of loops filled by Compute()

Public variable

const FDynamicM...

 

Mesh

Mesh we are finding loops on

Protected variable

FIndexFlagSet

 

Triangles

Sets of included triangles and edges

Constructors

Name Description

Public function

FMeshRegionBoundaryLoops()

Public function

FMeshRegionBoundaryLoops

(
    const FDynamicMesh3* MeshIn,
    const TArray< int >& RegionTris,
    bool bAutoCompute
)

Functions

Name Description

Public function

bool

 

Compute()

Find set of FEdgeLoops on the border of the input triangle set

Protected function

int

 

FindLeftTurnEdge

(
    int incoming_e,
    int bowtie_v,
    TArray< int >& bdry_edges,
    int bdry_edges_count,
    const FIndexFlagSet& used_edges
)

Ok, bdry_edges[0...bdry_edges_count] contains the boundary edges coming out of bowtie_v.

Protected function

int

 

GetAllVertexBoundaryEdges

(
    int vID,
    TArray< int >& e
)

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

Public function Const

int32

 

GetLoopCount()

Public function Const

const TArray...

 

GetLoops()

Public function Const

int

 

GetMaxVerticesLoopIndex()

Protected function

FIndex2i

 

GetOrientedEdgeVerts

(
    int eID,
    int tid_in
)

Return same indices as GetEdgeV, but oriented based on attached triangle

Protected function

int

 

GetVertexBoundaryEdges

(
    int vID,
    int& e0,
    int& e1
)

Returns first two boundary edges, and count of total boundary edges

Protected function

FVector3d

 

GetVertexNormal

(
    int vid
)

[TODO] cache this : a dictionary? we will not need very many, but we will need each multiple times!

Protected function Const

bool

 

IsEdgeOnBoundary

(
    int eid
)

Protected function Const

bool

 

IsEdgeOnBoundary

(
    int eid,
    int& tid_in,
    int& tid_out
)

Returns true for both internal and mesh boundary edges tid_in and tid_out are triangles 'in' and 'out' of set, respectively

Public function Const

int32

 

Num()

Public function

void

 

SetMesh

(
    const FDynamicMesh3* MeshIn,
    const TArray< int >& RegionTris
)

Protected function

bool

 

TryExtractSubloops

(
    TArray< int >& loopV,
    const TArray< int >& loopE,
    const TArray< int >& bowties,
    TArray< FEdgeLoop >& SubLoopsOut
)

This is called when loopV contains one or more "bowtie" vertices.

Operators

Name Description

Public function Const

const FEdgeL...

 

operator[]

(
    int Index
)

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss