MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMesh/MRMeshMeshDistance.h
Go to the documentation of this file.
1#pragma once
2
3// distance queries involving two meshes, please see MRMeshDistance.h for queries to one mesh only
4
5#include "MRPointOnFace.h"
6#include "MRMeshPart.h"
7#include <cfloat>
8
9namespace MR
10{
11
14
15struct MeshMeshDistanceResult
16{
18 PointOnFace a, b;
20 float distSq = 0;
21};
22
23struct MeshMeshSignedDistanceResult
24{
26 PointOnFace a, b;
28 float signedDist = 0;
29};
30
37 const AffineXf3f * rigidB2A = nullptr, float upDistLimitSq = FLT_MAX );
38
45 const AffineXf3f* rigidB2A = nullptr, float upDistLimitSq = FLT_MAX );
46
52MRMESH_API float findMaxDistanceSqOneWay( const MeshPart& a, const MeshPart& b, const AffineXf3f* rigidB2A = nullptr, float maxDistanceSq = FLT_MAX );
53
60MRMESH_API float findMaxDistanceSq( const MeshPart& a, const MeshPart& b, const AffineXf3f* rigidB2A = nullptr, float maxDistanceSq = FLT_MAX );
61
63
64} // namespace MR
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRMesh/MRMeshMeshDistance.h:16
new unsafe MR.PointOnFace a
new unsafe MR.PointOnFace b
new unsafe ref float distSq
Definition MRMesh/MRMeshMeshDistance.h:24
new unsafe ref float signedDist
new unsafe MR.PointOnFace a
new unsafe MR.PointOnFace b
MRMESH_API MeshMeshSignedDistanceResult findSignedDistance(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr, float upDistLimitSq=FLT_MAX)
computes minimal distance between two meshes
MRMESH_API MeshMeshDistanceResult findDistance(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr, float upDistLimitSq=FLT_MAX)
computes minimal distance between two meshes or two mesh regions
MRMESH_API float findMaxDistanceSq(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr, float maxDistanceSq=FLT_MAX)
returns the squared Hausdorff distance between two meshes, that is the maximum of squared distances f...
MRMESH_API float findMaxDistanceSqOneWay(const MeshPart &a, const MeshPart &b, const AffineXf3f *rigidB2A=nullptr, float maxDistanceSq=FLT_MAX)
returns the maximum of the squared distances from each B-mesh vertex to A-mesh
Definition MRCameraOrientationPlugin.h:8