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 |
FaceBitSet * | outNewFaces { nullptr } |
If not nullptr accumulate new faces. | |
enum MR::FillHoleParams::MultipleEdgesResolveMode | Simple |
bool | makeDegenerateBand { false } |
int | maxPolygonSubdivisions { 20 } |
bool * | stopBeforeBadTriangulation { nullptr } |
Parameters structure for MR::fillHole
Structure has some options to control MR::fillHole.
|
strong |
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 |
bool MR::FillHoleParams::makeDegenerateBand { false } |
If true creates degenerate faces band around hole to have sharp angle visualization
int MR::FillHoleParams::maxPolygonSubdivisions { 20 } |
The maximum number of polygon subdivisions on a triangle and two smaller polygons, must be 2 or larger
FillHoleMetric MR::FillHoleParams::metric |
Specifies triangulation metric
default for MR::fillHole: getCircumscribedFillMetric
FaceBitSet* MR::FillHoleParams::outNewFaces { nullptr } |
If not nullptr accumulate new faces.
enum MR::FillHoleParams::MultipleEdgesResolveMode MR::FillHoleParams::Simple |
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)