ViewDesignEngine  3.1.0
高性能 CAD 计算几何引擎
distance.h
浏览该文件的文档.
1 #pragma once
2 #include "vde/core/point.h"
3 #include "vde/core/line.h"
4 #include "vde/core/plane.h"
5 #include "vde/core/triangle.h"
6 #include "vde/core/aabb.h"
7 
8 namespace vde::core {
9 
10 // ── Point distances ──────────────────────────
11 
25 double distance(const Point3D& a, const Point3D& b);
26 
38 double distance(const Point3D& p, const Line3D<double>& line);
39 
51 double distance(const Point3D& p, const Segment3D<double>& seg);
52 
65 double distance(const Point3D& p, const Plane<double>& plane);
66 
78 double distance(const Point3D& p, const Triangle<double>& tri);
79 
91 double distance(const Point3D& p, const AABB<double>& box);
92 
93 // ── Feature-pair distances ───────────────────
94 
106 double distance(const Segment3D<double>& a, const Segment3D<double>& b);
107 
119 double distance(const Line3D<double>& a, const Line3D<double>& b);
120 
132 double distance(const AABB<double>& a, const AABB<double>& b);
133 
145 double distance(const Triangle<double>& a, const Triangle<double>& b);
146 
147 // ── Closest-point queries ────────────────────
148 
162 
175 
188 
200 
201 } // namespace vde::core
轴对齐包围盒(AABB)
Definition: aabb.h:21
三维无限直线
Definition: line.h:17
三维平面
Definition: plane.h:17
三维线段
Definition: line.h:59
三维三角形
Definition: triangle.h:18
double distance(const Point3D &a, const Point3D &b)
两点之间的欧氏距离
Point3D closest_point(const Point3D &p, const Triangle< double > &tri)
三角形上距给定点最近的点
Definition: aabb.h:6
foundation::Point3D Point3D
双精度三维点(重新导出)
Definition: point.h:31
double box(const Point3D &p, const Point3D &half_extents)
轴对齐立方体的 SDF
double plane(const Point3D &p, const Vector3D &normal, double offset)
平面的 SDF