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
16{
20 float distSq = 0;
21};
22
30
36MRMESH_API MeshMeshDistanceResult findDistance( const MeshPart & a, const MeshPart & b,
37 const AffineXf3f * rigidB2A = nullptr, float upDistLimitSq = FLT_MAX );
38
44MRMESH_API MeshMeshSignedDistanceResult findSignedDistance( const MeshPart & a, const MeshPart & b,
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 MRMesh/MRMeshFwd.h:80
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
Definition MRMesh/MRMeshMeshDistance.h:16
float distSq
squared distance between a and b
Definition MRMesh/MRMeshMeshDistance.h:20
PointOnFace a
two closest points: from meshes A and B respectively
Definition MRMesh/MRMeshMeshDistance.h:18
PointOnFace b
Definition MRMesh/MRMeshMeshDistance.h:18
Definition MRMesh/MRMeshMeshDistance.h:24
PointOnFace b
Definition MRMesh/MRMeshMeshDistance.h:26
PointOnFace a
two closest points: from meshes A and B respectively
Definition MRMesh/MRMeshMeshDistance.h:26
float signedDist
signed distance between a and b, positive if meshes do not collide
Definition MRMesh/MRMeshMeshDistance.h:28
a point located on some mesh's face
Definition MRMesh/MRPointOnFace.h:11