MeshLib C++ Docs
Loading...
Searching...
No Matches
MROverlappingTris.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRExpected.h"
5
6namespace MR
7{
8
9struct FindOverlappingSettings
10{
12 float maxDistSq = 1e-10f; // suggestion: multiply it on mesh.getBoundingBox().size().lengthSq();
13
15 float maxNormalDot = -0.99f;
16
18 float minAreaFraction = 1e-5f;
19
21 std::function<bool( FaceId l, FaceId r )> pred;
22
24 ProgressCallback cb;
25
26 // To allow passing Python lambdas into `pred`.
27 MR_BIND_PREFER_UNLOCK_GIL_WHEN_USED_AS_PARAM
28};
29
31[[nodiscard]] MRMESH_API Expected<FaceBitSet> findOverlappingTris( const MeshPart & mp, const FindOverlappingSettings & settings );
32
33} //namespace MR
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MROverlappingTris.h:10
new unsafe ref float minAreaFraction
new unsafe MR.Std.Function_BoolFuncFromMRFaceIdMRFaceId pred
new unsafe ref float maxNormalDot
new unsafe MR.Std.Function_BoolFuncFromFloat cb
Definition MRCameraOrientationPlugin.h:8
MRMESH_API Expected< FaceBitSet > findOverlappingTris(const MeshPart &mp, const FindOverlappingSettings &settings)
finds all triangles that have oppositely oriented close triangle in the mesh