#include <MRFillHoleNicely.h>
Public Attributes | |
| FillHoleParams | triangulateParams |
| how to triangulate the hole, must be specified by the user | |
| bool | triangulateOnly = false |
| If false then additional vertices are created inside the patch for best mesh quality. | |
| UndirectedEdgeBitSet * | notFlippable = nullptr |
| in triangulateOnly = false mode, edges specified by this bit-set will never be flipped, but they can be split so it is updated during the operation | |
| float | maxEdgeLen = 0 |
| Subdivision is stopped when all edges inside or on the boundary of the region are not longer than this value. | |
| int | maxEdgeSplits = 1000 |
| Maximum number of edge splits allowed during subdivision. | |
| float | maxAngleChangeAfterFlip = 30 * PI_F / 180.0f |
| Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value (in radians) | |
| bool | smoothCurvature = true |
| Whether to make patch over the hole smooth both inside and on its boundary with existed surface. | |
| bool | naturalSmooth = false |
| Additionally smooth 3 layers of vertices near hole boundary both inside and outside of the hole. | |
| std::function< bool(EdgeId e)> | beforeEdgeSplit |
| (If this is set) this function is called in subdivision each time edge (e) is going to split, if it returns false then this split will be skipped | |
| std::function< void(EdgeId e1, EdgeId e)> | onEdgeSplit |
| (If this is set) this function is called in subdivision each time edge (e) is split into (e1->e), but before the ring is made Delone | |
| EdgeWeights | edgeWeights = EdgeWeights::Cotan |
| edge weighting scheme for smoothCurvature mode | |
| VertexMass | vmass = VertexMass::Unit |
| vertex mass scheme for smoothCurvature mode | |
| VertUVCoords * | uvCoords = {} |
| optional uv-coordinates of vertices; if provided then elements corresponding to new vertices will be added there | |
| VertColors * | colorMap = {} |
| optional colors of vertices; if provided then elements corresponding to new vertices will be added there | |
| FaceColors * | faceColors = {} |
| optional colors of faces; if provided then elements corresponding to new faces will be added there | |