MeshLib C++ Docs
Loading...
Searching...
No Matches
MRFillHoleNicely.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRMeshFillHole.h"
5#include "MREnums.h"
6
7namespace MR
8{
9
10struct FillHoleNicelySettings
11{
13 FillHoleParams triangulateParams;
14
16 bool triangulateOnly = false;
17
19 UndirectedEdgeBitSet* notFlippable = nullptr;
20
22 float maxEdgeLen = 0;
23
25 int maxEdgeSplits = 1000;
26
28 float maxAngleChangeAfterFlip = 30 * PI_F / 180.0f;
29
31 bool smoothCurvature = true;
32
34 bool naturalSmooth = false;
35
37 std::function<bool( EdgeId e )> beforeEdgeSplit;
38
40 std::function<void( EdgeId e1, EdgeId e )> onEdgeSplit;
41
43 EdgeWeights edgeWeights = EdgeWeights::Cotan;
44
46 VertexMass vmass = VertexMass::Unit;
47
50
52 VertColors * colorMap = {};
53
55 FaceColors * faceColors = {};
56};
57
63 EdgeId holeEdge,
64 const FillHoleNicelySettings & settings );
65
66} //namespace MR
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRFillHoleNicely.h:11
new unsafe ref MR.EdgeWeights edgeWeights
new unsafe MR.? UndirectedEdgeBitSet notFlippable
new unsafe ref bool triangulateOnly
new unsafe MR.FillHoleParams triangulateParams
new unsafe ref int maxEdgeSplits
new unsafe MR.? VertCoords2 uvCoords
new unsafe MR.? VertColors colorMap
new unsafe ref bool smoothCurvature
new unsafe MR.Std.Function_BoolFuncFromMREdgeId beforeEdgeSplit
new unsafe MR.Std.Function_VoidFuncFromMREdgeIdMREdgeId onEdgeSplit
new unsafe ref bool naturalSmooth
new unsafe MR.? FaceColors faceColors
new unsafe ref MR.VertexMass vmass
new unsafe ref float maxEdgeLen
new unsafe ref float maxAngleChangeAfterFlip
Definition MRMesh/MRMesh.h:23
Definition MRCameraOrientationPlugin.h:8
MRMESH_API FaceBitSet fillHoleNicely(Mesh &mesh, EdgeId holeEdge, const FillHoleNicelySettings &settings)