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{
10
11
13{
15 float maxDistSq = 1e-10f;
16
18 float maxNormalDot = -0.99f;
19
21 float minAreaFraction = 1e-5f;
22
24 std::function<bool( FaceId l, FaceId r )> pred;
25
27 ProgressCallback cb;
28
30 MR_BIND_PREFER_UNLOCK_GIL_WHEN_USED_AS_PARAM
31};
32
34[[nodiscard]] MRMESH_API Expected<FaceBitSet> findOverlappingTris( const MeshPart & mp, const FindOverlappingSettings & settings );
35
36}
float minAreaFraction
consider triangle as overlapping only if the area of the oppositely oriented triangle is at least giv...
Definition MROverlappingTris.h:21
tl::expected< T, E > Expected
Definition MRExpected.h:31
MRMESH_API Expected< FaceBitSet > findOverlappingTris(const MeshPart &mp, const FindOverlappingSettings &settings)
finds all triangles that have oppositely oriented close triangle in the mesh
float maxNormalDot
suggestion: multiply it on mesh.getBoundingBox().size().lengthSq();
Definition MROverlappingTris.h:18
ProgressCallback cb
for reporting current progress and allowing the user to cancel the algorithm
Definition MROverlappingTris.h:27
std::function< bool(FaceId l, FaceId r)> pred
if predicate is present it should return true for pair of faces that should be considered as overlap
Definition MROverlappingTris.h:24
float maxDistSq
maximal distance between closest points of one triangle and another overlapping triangle
Definition MROverlappingTris.h:15
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MROverlappingTris.h:13