MeshLib
 
Loading...
Searching...
No Matches
MR::FillHoleParams Struct Reference

Parameters structure for MR::fillHole
Structure has some options to control MR::fillHole. More...

#include <MRMeshFillHole.h>

Public Types

enum class  MultipleEdgesResolveMode { None , Simple , Strong }
 

Public Attributes

FillHoleMetric metric
 
FaceBitSetoutNewFaces { nullptr }
 If not nullptr accumulate new faces.
 
enum MR::FillHoleParams::MultipleEdgesResolveMode Simple
 
bool makeDegenerateBand { false }
 
int maxPolygonSubdivisions { 20 }
 
bool * stopBeforeBadTriangulation { nullptr }
 

Detailed Description

Parameters structure for MR::fillHole
Structure has some options to control MR::fillHole.

See also
fillHole
FillHoleMetric

Member Enumeration Documentation

◆ MultipleEdgesResolveMode

If Strong makes additional efforts to avoid creating multiple edges, in some rare cases it is not possible (cases with extremely bad topology), if you faced one try to use MR::duplicateMultiHoleVertices before MR::fillHole

If Simple avoid creating edges that already exist in topology (default)

If None do not avoid multiple edges

Enumerator
None 
Simple 
Strong 

Member Data Documentation

◆ makeDegenerateBand

bool MR::FillHoleParams::makeDegenerateBand { false }

If true creates degenerate faces band around hole to have sharp angle visualization

Warning
This flag bad for result topology, most likely you do not need it

◆ maxPolygonSubdivisions

int MR::FillHoleParams::maxPolygonSubdivisions { 20 }

The maximum number of polygon subdivisions on a triangle and two smaller polygons, must be 2 or larger

◆ metric

FillHoleMetric MR::FillHoleParams::metric

Specifies triangulation metric
default for MR::fillHole: getCircumscribedFillMetric

See also
FillHoleMetric

◆ outNewFaces

FaceBitSet* MR::FillHoleParams::outNewFaces { nullptr }

If not nullptr accumulate new faces.

◆ Simple

enum MR::FillHoleParams::MultipleEdgesResolveMode MR::FillHoleParams::Simple

◆ stopBeforeBadTriangulation

bool* MR::FillHoleParams::stopBeforeBadTriangulation { nullptr }

Input/output value, if it is present: returns true if triangulation was bad and do not actually fill hole, if triangulation is ok returns false; if it is not present fill hole trivially in case of bad triangulation, (or leaves bad triangulation, depending on metric)


The documentation for this struct was generated from the following file: