MeshLib Documentation
Loading...
Searching...
No Matches
MRMeshMetrics.h File Reference
#include "MRMeshFwd.h"
#include "MRVector3.h"
#include <functional>

Go to the source code of this file.

Classes

struct  MR::FillHoleMetric
 Holds metrics for fillHole and buildCylinderBetweenTwoHoles triangulation
. More...
 

Namespaces

namespace  MR
 

Typedefs

using MR::FillTriangleMetric = std::function<double( VertId a, VertId b, VertId c )>
 
using MR::FillEdgeMetric = std::function<double( VertId a, VertId b, VertId l, VertId r )>
 
using MR::FillCombineMetric = std::function<double( double, double )>
 

Functions

MRMESH_API double MR::calcCombinedFillMetric (const Mesh &mesh, const FaceBitSet &filledRegion, const FillHoleMetric &metric)
 Computes combined metric after filling a hole.
 
MRMESH_API FillHoleMetric MR::getCircumscribedMetric (const Mesh &mesh)
 
MRMESH_API FillHoleMetric MR::getPlaneFillMetric (const Mesh &mesh, EdgeId e)
 
MRMESH_API FillHoleMetric MR::getPlaneNormalizedFillMetric (const Mesh &mesh, EdgeId e)
 
MRMESH_API FillHoleMetric MR::getComplexStitchMetric (const Mesh &mesh)
 
MRMESH_API FillHoleMetric MR::getEdgeLengthFillMetric (const Mesh &mesh)
 Simple metric minimizing the sum of all edge lengths.
 
MRMESH_API FillHoleMetric MR::getEdgeLengthStitchMetric (const Mesh &mesh)
 
MRMESH_API FillHoleMetric MR::getVerticalStitchMetric (const Mesh &mesh, const Vector3f &upDir)
 
MRMESH_API FillHoleMetric MR::getComplexFillMetric (const Mesh &mesh, EdgeId e)
 
MRMESH_API FillHoleMetric MR::getParallelPlaneFillMetric (const Mesh &mesh, EdgeId e, const Plane3f *plane=nullptr)
 This metric minimizes summary projection of new edges to plane normal, (try do produce edges parallel to plane)
 
MRMESH_API FillHoleMetric MR::getMaxDihedralAngleMetric (const Mesh &mesh)
 
MRMESH_API FillHoleMetric MR::getUniversalMetric (const Mesh &mesh)
 
MRMESH_API FillHoleMetric MR::getMinTriAngleMetric (const Mesh &mesh)
 This metric maximizes the minimal angle among all faces in the triangulation.
 
MRMESH_API FillHoleMetric MR::getMinAreaMetric (const Mesh &mesh)
 

Variables

MRMESH_API const double MR::BadTriangulationMetric