MeshLib
 
Loading...
Searching...
No Matches
MRMeshRelax.h File Reference
#include "MRMeshFwd.h"
#include "MRProgressCallback.h"
#include "MRRelaxParams.h"

Go to the source code of this file.

Classes

struct  MR::MeshRelaxParams
 
struct  MR::MeshEqualizeTriAreasParams
 
struct  MR::MeshApproxRelaxParams
 

Namespaces

namespace  MR
 

Functions

MRMESH_API bool MR::relax (Mesh &mesh, const MeshRelaxParams &params={}, ProgressCallback cb={})
 
MRMESH_API Vector3f MR::vertexPosEqualNeiAreas (const Mesh &mesh, VertId v, bool noShrinkage)
 
MRMESH_API bool MR::equalizeTriAreas (Mesh &mesh, const MeshEqualizeTriAreasParams &params={}, ProgressCallback cb={})
 
MRMESH_API bool MR::relaxKeepVolume (Mesh &mesh, const MeshRelaxParams &params={}, ProgressCallback cb={})
 
MRMESH_API bool MR::relaxApprox (Mesh &mesh, const MeshApproxRelaxParams &params={}, ProgressCallback cb={})
 
MRMESH_API void MR::removeSpikes (Mesh &mesh, int maxIterations, float minSumAngle, const VertBitSet *region=nullptr)
 applies at most given number of relaxation iterations the spikes detected by given threshold
 
MRMESH_API void MR::smoothRegionBoundary (Mesh &mesh, const FaceBitSet &regionFaces, int numIters=4)
 
MRMESH_API void MR::hardSmoothTetrahedrons (Mesh &mesh, const VertBitSet *region=nullptr)
 move all region vertices with exactly three neighbor vertices in the center of the neighbors