MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMesh/MRFixSelfIntersections.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMesh/MRMeshFwd.h"
4#include "MRMesh/MRExpected.h"
5
6namespace MR
7{
8
10{
11
13struct Settings
14{
16 bool touchIsIntersection = true;
18 enum class Method
19 {
21 Relax,
23 CutAndFill
24 };
25 Method method = Method::Relax;
27 int relaxIterations = 5;
29 int maxExpand = 3;
32 float subdivideEdgeLen = 0.0f;
34 ProgressCallback callback = {};
35};
36
38MRMESH_API Expected<FaceBitSet> getFaces( const Mesh& mesh, bool touchIsIntersection = true, ProgressCallback cb = {} );
39
41MRMESH_API Expected<void> fix( Mesh& mesh, const Settings& settings );
42}
43
44}
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRMesh/MRMesh.h:23
Definition MRMesh/MRFixSelfIntersections.h:14
new unsafe ref int maxExpand
new unsafe ref bool touchIsIntersection
new unsafe MR.Std.Function_BoolFuncFromFloat callback
new unsafe ref int relaxIterations
new unsafe ref float subdivideEdgeLen
MRMESH_API Expected< FaceBitSet > getFaces(const Mesh &mesh, bool touchIsIntersection=true, ProgressCallback cb={})
Find all self-intersections faces component-wise.
MRMESH_API Expected< void > fix(Mesh &mesh, const Settings &settings)
Finds and fixes self-intersections per component:
Definition MRCameraOrientationPlugin.h:8