parameters for mrRemesh More...
#include <MRMeshDecimate.h>
Public Attributes | |
float | targetEdgeLen |
int | maxEdgeSplits |
Maximum number of edge splits allowed during subdivision. | |
float | maxAngleChangeAfterFlip |
Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value. | |
float | maxBdShift |
Maximal shift of a boundary during one edge collapse. | |
bool | useCurvature |
int | finalRelaxIters |
bool | finalRelaxNoShrinkage |
if true prevents the surface from shrinkage after many iterations | |
MRFaceBitSet * | region |
Region on mesh to be changed, it is updated during the operation. | |
bool | packMesh |
whether to pack mesh at the end | |
bool | projectOnOriginalMesh |
MRProgressCallback | progressCallback |
callback to report algorithm progress and cancel it by user request | |
parameters for mrRemesh
int MRRemeshSettings::finalRelaxIters |
the number of iterations of final relaxation of mesh vertices; few iterations can give almost perfect uniformity of the vertices and edge lengths but deviate from the original surface
bool MRRemeshSettings::finalRelaxNoShrinkage |
if true prevents the surface from shrinkage after many iterations
float MRRemeshSettings::maxAngleChangeAfterFlip |
Improves local mesh triangulation by doing edge flips if it does not change dihedral angle more than on this value.
float MRRemeshSettings::maxBdShift |
Maximal shift of a boundary during one edge collapse.
int MRRemeshSettings::maxEdgeSplits |
Maximum number of edge splits allowed during subdivision.
bool MRRemeshSettings::packMesh |
whether to pack mesh at the end
MRProgressCallback MRRemeshSettings::progressCallback |
callback to report algorithm progress and cancel it by user request
bool MRRemeshSettings::projectOnOriginalMesh |
if true, then every new vertex after subdivision will be projected on the original mesh (before smoothing); this does not affect the vertices moved on other stages of the processing
MRFaceBitSet* MRRemeshSettings::region |
Region on mesh to be changed, it is updated during the operation.
float MRRemeshSettings::targetEdgeLen |
the algorithm will try to keep the length of all edges close to this value, splitting the edges longer than targetEdgeLen, and then eliminating the edges shorter than targetEdgeLen
bool MRRemeshSettings::useCurvature |
This option in subdivision works best for natural surfaces, where all triangles are close to equilateral and have similar area, and no sharp edges in between