FSubRegionRemesher

[FSubRegionRemesher](API\Plugins\DynamicMesh\FSubRegionRemesher) is an extension of [FRemesher](API\Plugins\DynamicMesh\FRemesher) that allows for constraining remeshing to a localized region of a mesh.

Windows
MacOS
Linux

Warnings

  • Currently "boundary" edges of the ROI that are split will result in the ROI growing to include both new edges created by the split.

Inheritance Hierarchy

FMeshRefinerBase

FRemesher

FSubRegionRemesher

References

Module

DynamicMesh

Header

/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/SubRegionRemesher.h

Include

#include "SubRegionRemesher.h"

Syntax

class FSubRegionRemesher : public FRemesher

Remarks

FSubRegionRemesher is an extension of FRemesher that allows for constraining remeshing to a localized region of a mesh. Currently this is initialized from a Vertex ROI.

Currently "boundary" edges of the ROI that are split will result in the ROI growing to include both new edges created by the split.

Variables

Name Description

Protected variable

bool

 

bTrackRemoved

Controls whether RemovedLastPass will be populated

Protected variable

int

 

CurEdge

Index of current edge in .Edges we are at in StartEdges/GetNextEdge modulo-iteration

Protected variable

TSet< int >

 

EdgeROI

Active set of edges we will consider for remeshing.

Protected variable

TArray< int >

 

Edges

Static list of edges to consider during a pass (set in UpdateROI which must be called each pass)

Protected variable

uint32

 

LastRemeshPassCounter

Protected variable

uint32

 

LastUpdateROICounter

Counters for making sure that UpdateROI has been called

Protected variable

TSet< int >

 

RemovedLastPassTris

Set of triangles removed in last pass. Enable this by calling BeginTrackRemovedTrisInPass()

Protected variable

TMap< int, FVec...

 

SmoothedPositions

Localized smoothing

Protected variable

TSet< int >

 

TriangleROI

Active set of triangles.

Public variable

TSet< int >

 

VertexROI

Set of vertices in ROI.

Constructors

Name Description

Public function

FSubRegionRemesher

(
    FDynamicMesh3* Mesh
)

Functions

Name Description

Protected function

void

 

AddEdgeToTriangleROI

(
    int EdgeID
)

Protected function

void

 

AddVertexToTriangleROI

(
    int VertexID
)

Public function

void

 

BeginTrackRemovedTrisInPass()

Call before BasicRemeshPass() to enable tracking of removed triangles

Public function

const TSet< ...

 

EndTrackRemovedTrisInPass()

Call after BasicRemeshPass() to disable and return tracking of removed triangles

Public function Const

const TArray...

 

GetCurrentEdgeArray()

This is only valid after calling UpdateROI() and before calling BasicRemeshPass().

Public function Const

const TSet< ...

 

GetCurrentEdgeROI()

Public function Const

const TSet< ...

 

GetCurrentTriangleROI()

Public function

void

 

InitializeFromVertexROI()

Initialize edge-subregion ROI from the VertexROI member that has been externally initialized

Public function

void

 

SaveActiveROI

(
    FDynamicMeshChangeTracker* Cha...
)

Tell a MeshChangeTracker about the set of triangles that we might modify in the next remesh pass.

Public function

void

 

UpdateROI()

Update the internal data structures in preparation for a call to FRemesher::BasicRemeshPass.

Protected function

EVertexContr...

 

VertexFilter

(
    int VertexID
)

Overridden from FRemesher

Name Description

Public function Virtual

void

 

BasicRemeshPass()

Forwards to FRemesher::BasicRemeshPass

Protected function Virtual

void

 

FullSmoothPass_Buffer

(
    bool bParallel
)

Applies a smoothing pass to the mesh, storing intermediate positions in a buffer and then writing them at the end (so, no order effect)

Protected function Virtual

int

 

GetNextEdge

(
    int CurEdgeID,
    bool& bDone
)

Protected function Virtual

void

 

OnEdgeCollapse

(
    int EdgeID,
    int VertexA,
    int VertexB,
    const FDynamicMesh3::FEdgeCollapseI...
)

Callback for subclasses to override to implement custom behavior

Protected function Virtual

void

 

OnEdgeFlip

(
    int EdgeID,
    const FDynamicMesh3::FEdgeFlipInfo ...
)

Callback for subclasses to override to implement custom behavior

Protected function Virtual

void

 

OnEdgeSplit

(
    int EdgeID,
    int VertexA,
    int VertexB,
    const FDynamicMesh3::FEdgeSplitInfo...
)

Callbacks and in-progress informationCallback for subclasses to override to implement custom behavior

Protected function Virtual

int

 

StartEdges()

Specialization of Remesher functionality

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