Choose your operating system:
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.
| FMeshRefinerBase
|
Module |
|
Header |
/Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/SubRegionRemesher.h |
Include |
#include "SubRegionRemesher.h" |
class FSubRegionRemesher : public UE::Geometry::FRemesher
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.
Name | Description | ||
---|---|---|---|
|
bTrackRemoved |
Controls whether RemovedLastPass will be populated |
|
|
int |
CurEdge |
Index of current edge in .Edges we are at in StartEdges/GetNextEdge modulo-iteration |
|
TSet< int > |
EdgeROI |
Active set of edges we will consider for remeshing. |
|
TArray< int > |
Edges |
Static list of edges to consider during a pass (set in UpdateROI which must be called each pass) |
|
InitialROIEdgeVertices |
Temporary data structure used to quickly convert vertex set to edge set. |
|
|
InitialROITriangles |
Temporary data structure used to quickly convert vertex set to triangle set. |
|
|
LastRemeshPassCounter |
||
|
LastUpdateROICounter |
Counters for making sure that UpdateROI has been called |
|
|
TSet< int > |
RemovedLastPassTris |
Set of triangles removed in last pass. Enable this by calling BeginTrackRemovedTrisInPass() |
|
SmoothedPositions |
||
|
SmoothIndices |
Localized smoothing |
|
|
TSet< int > |
TriangleROI |
Active set of triangles. |
|
TSet< int > |
VertexROI |
Set of vertices in ROI. |
Name | Description | |
---|---|---|
|
FSubRegionRemesher ( |
Name | Description | |
---|---|---|
|
~FSubRegionRemesher() |
Name | Description | ||
---|---|---|---|
|
AddEdgeToTriangleROI ( |
||
|
AddVertexToTriangleROI ( |
||
|
BeginTrackRemovedTrisInPass() |
Call before BasicRemeshPass() to enable tracking of removed triangles |
|
|
const TSet< ... |
EndTrackRemovedTrisInPass() |
Call after BasicRemeshPass() to disable and return tracking of removed triangles |
|
TSet< int > ... |
ExtractFinalTriangleROI() |
Extract final triangle ROI. |
|
const TArray... |
GetCurrentEdgeArray() |
This is only valid after calling UpdateROI() and before calling BasicRemeshPass(). |
|
const TSet< ... |
GetCurrentEdgeROI() |
|
|
const TSet< ... |
GetCurrentTriangleROI() |
May also contain additional triangles) |
|
const TSet< ... |
GetCurrentVertexROI() |
|
|
InitializeFromTriangleROI ( |
||
|
InitializeFromVertexROI() |
Initialize edge-subregion ROI from the VertexROI member that has been externally initialized |
|
|
Reset() |
||
|
SaveActiveROI ( |
Tell a MeshChangeTracker about the set of triangles that we might modify in the next remesh pass. |
|
|
SetInitialVertexROI ( |
||
|
SetInitialVertexROI ( |
||
|
SetInitialVertexROI ( |
||
|
UpdateROI() |
Update the internal data structures in preparation for a call to FRemesher::BasicRemeshPass. |
|
|
EVertexContr... |
VertexFilter ( |
Name | Description | ||
---|---|---|---|
|
BasicRemeshPass() |
Forwards to FRemesher::BasicRemeshPass |
|
|
FullSmoothPass_Buffer ( |
Applies a smoothing pass to the mesh, storing intermediate positions in a buffer and then writing them at the end (so, no order effect) |
|
|
int |
GetNextEdge ( |
|
|
OnEdgeCollapse ( |
Callback for subclasses to override to implement custom behavior |
|
|
OnEdgeFlip ( |
Callback for subclasses to override to implement custom behavior |
|
|
OnEdgeSplit ( |
Callbacks and in-progress informationCallback for subclasses to override to implement custom behavior |
|
|
int |
StartEdges() |
Specialization of Remesher functionality |