MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMeshDecimate.h File Reference
#include "MRPch/MRBindingMacros.h"
#include "MRMeshFwd.h"
#include "MRProgressCallback.h"
#include "MRConstants.h"
#include <cfloat>
#include <climits>
#include <functional>
#include <optional>

Go to the source code of this file.

Classes

struct  MR::DecimateSettings
 Parameters structure for MR::decimateMesh. More...
struct  MR::DecimateResult
 Results of MR::decimateMesh. More...
struct  MR::ResolveMeshDegenSettings
struct  MR::RemeshSettings

Namespaces

namespace  MR
 only for bindings generation

Enumerations

enum  MR::DecimateStrategy { MR::MinimizeError , MR::ShortestEdgeFirst }
 Defines the order of edge collapses inside Decimate algorithm. More...

Functions

DecimateResult MR::decimateMesh (Mesh &mesh, const DecimateSettings &settings={})
 Performs mesh simplification in mesh region according to the settings.
DecimateResult MR::decimateObjectMeshData (ObjectMeshData &data, const DecimateSettings &settings)
std::optional< ObjectMeshDataMR::makeDecimatedObjectMeshData (const ObjectMesh &obj, const DecimateSettings &settings, DecimateResult *outRes=nullptr)
 returns the data of decimated mesh given ObjectMesh (which remains unchanged) and decimation parameters
QuadraticForm3f MR::computeFormAtVertex (const MeshPart &mp, VertId v, float stabilizer, bool angleWeigted, const UndirectedEdgeBitSet *creases=nullptr)
 Computes quadratic form at given vertex of the initial surface before decimation.
Vector< QuadraticForm3f, VertId > MR::computeFormsAtVertices (const MeshPart &mp, float stabilizer, bool angleWeigted, const UndirectedEdgeBitSet *creases=nullptr)
 Computes quadratic forms at every vertex of mesh part before decimation.
FaceBitSet MR::getSubdividePart (const FaceBitSet &valids, size_t subdivideParts, size_t myPart)
 returns given subdivision part of all valid faces; parallel threads shall be able to safely modify these bits because they do not share any block with other parts
bool MR::resolveMeshDegenerations (Mesh &mesh, const ResolveMeshDegenSettings &settings={})
 Removes degenerate triangles in a mesh by calling decimateMesh function with appropriate settings.
bool MR::remesh (Mesh &mesh, const RemeshSettings &settings)
 Splits too long and eliminates too short edges from the mesh.