#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   | |
| std::function<bool( EdgeId e )> MR::FillHoleNicelySettings::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
| VertColors* MR::FillHoleNicelySettings::colorMap = {} | 
optional colors of vertices; if provided then elements corresponding to new vertices will be added there
| EdgeWeights MR::FillHoleNicelySettings::edgeWeights = EdgeWeights::Cotan | 
edge weighting scheme for smoothCurvature mode
| FaceColors* MR::FillHoleNicelySettings::faceColors = {} | 
optional colors of faces; if provided then elements corresponding to new faces will be added there
| float MR::FillHoleNicelySettings::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)
| float MR::FillHoleNicelySettings::maxEdgeLen = 0 | 
Subdivision is stopped when all edges inside or on the boundary of the region are not longer than this value.
| int MR::FillHoleNicelySettings::maxEdgeSplits = 1000 | 
Maximum number of edge splits allowed during subdivision.
| bool MR::FillHoleNicelySettings::naturalSmooth = false | 
Additionally smooth 3 layers of vertices near hole boundary both inside and outside of the hole.
| UndirectedEdgeBitSet* MR::FillHoleNicelySettings::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
| std::function<void( EdgeId e1, EdgeId e )> MR::FillHoleNicelySettings::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
| bool MR::FillHoleNicelySettings::smoothCurvature = true | 
Whether to make patch over the hole smooth both inside and on its boundary with existed surface.
| bool MR::FillHoleNicelySettings::triangulateOnly = false | 
If false then additional vertices are created inside the patch for best mesh quality.
| FillHoleParams MR::FillHoleNicelySettings::triangulateParams | 
how to triangulate the hole, must be specified by the user
| VertUVCoords* MR::FillHoleNicelySettings::uvCoords = {} | 
optional uv-coordinates of vertices; if provided then elements corresponding to new vertices will be added there
| VertexMass MR::FillHoleNicelySettings::vmass = VertexMass::Unit | 
vertex mass scheme for smoothCurvature mode