Parameters structure for mrFillHole
Structure has some options to control mrFillHole.
More...
#include <MRMeshFillHole.h>
Public Attributes | |
const MRFillHoleMetric * | metric |
bool | smoothBd |
MRFaceBitSet * | outNewFaces |
If not nullptr accumulate new faces. | |
MRFillHoleParamsMultipleEdgesResolveMode | multipleEdgesResolveMode |
bool | makeDegenerateBand |
int | maxPolygonSubdivisions |
bool * | stopBeforeBadTriangulation |
Parameters structure for mrFillHole
Structure has some options to control mrFillHole.
bool MRFillHoleParams::makeDegenerateBand |
If true creates degenerate faces band around hole to have sharp angle visualization
int MRFillHoleParams::maxPolygonSubdivisions |
The maximum number of polygon subdivisions on a triangle and two smaller polygons, must be 2 or larger
const MRFillHoleMetric* MRFillHoleParams::metric |
Specifies triangulation metric
default for mrFillHole: mrGetCircumscribedFillMetric
MRFillHoleParamsMultipleEdgesResolveMode MRFillHoleParams::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
MRFaceBitSet* MRFillHoleParams::outNewFaces |
If not nullptr accumulate new faces.
bool MRFillHoleParams::smoothBd |
If true, hole filling will minimize the sum of metrics including boundary edges, where one triangle was present before hole filling, and another is added during hole filling. This makes boundary edges same smooth as inner edges of the patch. If false, edge metric will not be applied to boundary edges, and the patch tends to make a sharper turn there.
bool* MRFillHoleParams::stopBeforeBadTriangulation |
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)