MeshLib C++ Docs
Loading...
Searching...
No Matches
MRPolylineDecimate.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include <cfloat>
5#include <climits>
6#include <functional>
7
8namespace MR
9{
12
13
21template<typename V>
23{
25 float maxError = 0.001f;
26
28 float maxEdgeLen = FLT_MAX;
29
33 float stabilizer = 0.001f;
34
37 bool optimizeVertexPos = true;
38
40 int maxDeletedVertices = INT_MAX;
41
44 VertBitSet* region = nullptr;
45
49 bool touchBdVertices = true;
50
57 std::function<bool( EdgeId edgeToCollapse, const V & newEdgeOrgPos )> preCollapse;
58
67 std::function<void( UndirectedEdgeId ue, float & collapseErrorSq, V & collapsePos )> adjustCollapse;
68
75};
76
79
85{
86 int vertsDeleted = 0;
87 float errorIntroduced = 0;
88};
89
96
103
104}
#define MRMESH_API
Definition MRMeshFwd.h:80
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
DecimatePolylineResult decimateContour(Contour2f &contour, const DecimatePolylineSettings2 &settings={})
Collapse edges in the contour according to the settings.
DecimatePolylineResult decimatePolyline(Polyline2 &polyline, const DecimatePolylineSettings2 &settings={})
Collapse edges in the polyline according to the settings.
bool optimizeVertexPos
Definition MRPolylineDecimate.h:37
DecimatePolylineSettings< Vector3f > DecimatePolylineSettings3
Definition MRPolylineDecimate.h:78
Contour3< float > Contour3f
Definition MRMeshFwd.h:382
Vector< QuadraticForm< Vector2f >, VertId > * vertForms
Definition MRPolylineDecimate.h:74
Contour2< float > Contour2f
Definition MRMeshFwd.h:380
float maxError
Definition MRPolylineDecimate.h:25
int maxDeletedVertices
Definition MRPolylineDecimate.h:40
float errorIntroduced
Max different (as distance) between original contour and result contour.
Definition MRPolylineDecimate.h:87
float stabilizer
Definition MRPolylineDecimate.h:33
DecimatePolylineSettings< Vector2f > DecimatePolylineSettings2
Definition MRPolylineDecimate.h:77
Polyline2
Definition MRMeshFwd.h:658
float maxEdgeLen
Definition MRPolylineDecimate.h:28
std::function< void(UndirectedEdgeId ue, float &collapseErrorSq, Vector2f &collapsePos)> adjustCollapse
Definition MRPolylineDecimate.h:67
VertBitSet * region
Definition MRPolylineDecimate.h:44
std::function< bool(EdgeId edgeToCollapse, const Vector2f &newEdgeOrgPos)> preCollapse
Definition MRPolylineDecimate.h:57
int vertsDeleted
Number deleted verts. Same as the number of performed collapses.
Definition MRPolylineDecimate.h:86
bool touchBdVertices
Definition MRPolylineDecimate.h:49
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Results of MR::decimateContour.
Definition MRPolylineDecimate.h:85
Parameters structure for MR::decimatePolyline.
Definition MRPolylineDecimate.h:23