MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::FixMeshDegeneraciesParams Struct Reference

#include <MRMeshFixer.h>

Public Types

enum class  Mode { Decimate , Remesh , RemeshPatch }
 

Public Attributes

float maxDeviation { 0.0f }
 maximum permitted deviation from the original surface
 
float tinyEdgeLength { 0.0f }
 edges not longer than this value will be collapsed ignoring normals and aspect ratio checks
 
float criticalTriAspectRatio { 1e4f }
 
float maxAngleChange { PI_F / 3 }
 Permit edge flips if it does not change dihedral angle more than on this value.
 
float stabilizer = 1e-6f
 
FaceBitSet * region = nullptr
 degenerations will be fixed only in given region, it is updated during the operation
 
enum MR::FixMeshDegeneraciesParams::Mode Remesh
 
ProgressCallback cb
 

Member Enumeration Documentation

◆ Mode

Enumerator
Decimate 

use decimation only to fix degeneracies

Remesh 

if decimation does not succeed, perform subdivision too

RemeshPatch 

if both decimation and subdivision does not succeed, removes degenerate areas and fills occurred holes

Member Data Documentation

◆ cb

ProgressCallback MR::FixMeshDegeneraciesParams::cb

◆ criticalTriAspectRatio

float MR::FixMeshDegeneraciesParams::criticalTriAspectRatio { 1e4f }

the algorithm will ignore dihedral angle check if one of triangles had aspect ratio equal or more than this value; and the algorithm will permit temporary increase in aspect ratio after collapse, if before collapse one of the triangles had larger aspect ratio

◆ maxAngleChange

float MR::FixMeshDegeneraciesParams::maxAngleChange { PI_F / 3 }

Permit edge flips if it does not change dihedral angle more than on this value.

◆ maxDeviation

float MR::FixMeshDegeneraciesParams::maxDeviation { 0.0f }

maximum permitted deviation from the original surface

◆ region

FaceBitSet* MR::FixMeshDegeneraciesParams::region = nullptr

degenerations will be fixed only in given region, it is updated during the operation

◆ Remesh

enum MR::FixMeshDegeneraciesParams::Mode MR::FixMeshDegeneraciesParams::Remesh

◆ stabilizer

float MR::FixMeshDegeneraciesParams::stabilizer = 1e-6f

Small stabilizer is important to achieve good results on completely planar mesh parts, if your mesh is not-planer everywhere, then you can set it to zero

◆ tinyEdgeLength

float MR::FixMeshDegeneraciesParams::tinyEdgeLength { 0.0f }

edges not longer than this value will be collapsed ignoring normals and aspect ratio checks


The documentation for this struct was generated from the following file: