MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMeshDistance.h
Go to the documentation of this file.
1#pragma once
2
3// distance queries to one mesh only, please see MRMeshMeshDistance.h for queries involving two meshes
4
5#include "MRMeshPart.h"
7#include <functional>
8#include <optional>
9
10namespace MR
11{
12
15
16enum class ProcessOneResult : bool
17{
18 StopProcessing = false,
20};
21
28using TriangleCallback = std::function<ProcessOneResult( const Vector3f & p, FaceId f, const Vector3f & q, float distSq )>;
29
32MRMESH_API void processCloseTriangles( const MeshPart& mp, const Triangle3f & t, float rangeSq, const TriangleCallback & call );
33
36[[nodiscard]] MRMESH_API std::optional<float> signedDistanceToMesh( const MeshPart& mp, const Vector3f& p, const SignedDistanceToMeshOptions& op );
37
39
40} // namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:79
std::function< ProcessOneResult(const Vector3f &p, FaceId f, const Vector3f &q, float distSq)> TriangleCallback
Definition MRMeshDistance.h:28
ProcessOneResult
Definition MRMeshDistance.h:17
MRMESH_API std::optional< float > signedDistanceToMesh(const MeshPart &mp, const Vector3f &p, const SignedDistanceToMeshOptions &op)
MRMESH_API void processCloseTriangles(const MeshPart &mp, const Triangle3f &t, float rangeSq, const TriangleCallback &call)
Triangle3< float > Triangle3f
Definition MRMesh/MRMeshFwd.h:382
options determining computation of signed distance from a point to a mesh
Definition MRDistanceToMeshOptions.h:37