|
ViewDesignEngine
3.1.0
高性能 CAD 计算几何引擎
|
类 | |
| class | AABB |
| 轴对齐包围盒(AABB) 更多... | |
| struct | ICPResult |
| ICP(迭代最近点)配准结果 更多... | |
| class | Line3D |
| 三维无限直线 更多... | |
| class | Segment3D |
| 三维线段 更多... | |
| class | Ray3D |
| 三维射线 更多... | |
| class | Plane |
| 三维平面 更多... | |
| class | Polygon2D |
| 二维平面多边形 更多... | |
| class | Triangle |
| 三维三角形 更多... | |
| struct | VoronoiCell |
| Voronoi 单元格 更多... | |
类型定义 | |
| using | AABB3D = AABB< double > |
| 双精度三维包围盒 更多... | |
| using | AABB3f = AABB< float > |
| 单精度三维包围盒 更多... | |
| using | Line3Dd = Line3D< double > |
| 双精度三维直线 更多... | |
| using | Segment3Dd = Segment3D< double > |
| 双精度三维线段 更多... | |
| using | Ray3Dd = Ray3D< double > |
| 双精度三维射线 更多... | |
| using | Plane3D = Plane< double > |
| 双精度三维平面 更多... | |
| template<typename T , size_t Dim> | |
| using | Point = foundation::Point< T, Dim > |
| 通用 N 维点类型(重新导出,便于 core 模块使用) 更多... | |
| using | Point2D = foundation::Point2D |
| 双精度二维点(重新导出) 更多... | |
| using | Point3D = foundation::Point3D |
| 双精度三维点(重新导出) 更多... | |
| using | Point2f = foundation::Point2f |
| 单精度二维点(重新导出) 更多... | |
| using | Point3f = foundation::Point3f |
| 单精度三维点(重新导出) 更多... | |
| template<typename T , size_t Dim> | |
| using | Vector = foundation::Vector< T, Dim > |
| 通用 N 维向量类型(重新导出) 更多... | |
| using | Vector2D = foundation::Vector2D |
| 双精度二维向量(重新导出) 更多... | |
| using | Vector3D = foundation::Vector3D |
| 双精度三维向量(重新导出) 更多... | |
| using | Transform3D = Eigen::Transform< double, 3, Eigen::Affine > |
| 三维仿射变换类型 更多... | |
| using | Triangle3D = Triangle< double > |
| 双精度三维三角形 更多... | |
| using | Triangle3f = Triangle< float > |
| 单精度三维三角形 更多... | |
函数 | |
| std::vector< Point2D > | convex_hull_2d (const std::vector< Point2D > &points) |
| 二维凸包计算(Graham Scan 算法) 更多... | |
| std::vector< std::array< Point3D, 3 > > | convex_hull_3d (const std::vector< Point3D > &points) |
| 三维凸包计算(QuickHull 算法) 更多... | |
| double | distance (const Point3D &a, const Point3D &b) |
| 两点之间的欧氏距离 更多... | |
| double | distance (const Point3D &p, const Line3D< double > &line) |
| 点到直线的距离 更多... | |
| double | distance (const Point3D &p, const Segment3D< double > &seg) |
| 点到线段的距离 更多... | |
| double | distance (const Point3D &p, const Plane< double > &plane) |
| 点到平面的距离 更多... | |
| double | distance (const Point3D &p, const Triangle< double > &tri) |
| 点到三角形的距离 更多... | |
| double | distance (const Point3D &p, const AABB< double > &box) |
| 点到包围盒的距离 更多... | |
| double | distance (const Segment3D< double > &a, const Segment3D< double > &b) |
| 两条线段之间的最短距离 更多... | |
| double | distance (const Line3D< double > &a, const Line3D< double > &b) |
| 两条直线之间的最短距离 更多... | |
| double | distance (const AABB< double > &a, const AABB< double > &b) |
| 两个包围盒之间的最短距离 更多... | |
| double | distance (const Triangle< double > &a, const Triangle< double > &b) |
| 两个三角形之间的最短距离 更多... | |
| Point3D | closest_point (const Point3D &p, const Triangle< double > &tri) |
| 三角形上距给定点最近的点 更多... | |
| Point3D | closest_point (const Point3D &p, const Segment3D< double > &seg) |
| 线段上距给定点最近的点 更多... | |
| Point3D | closest_point (const Point3D &p, const AABB< double > &box) |
| 包围盒上距给定点最近的点 更多... | |
| Point3D | closest_point (const Point3D &p, const Plane< double > &plane) |
| 平面上距给定点最近的点(正交投影) 更多... | |
| ICPResult | icp_register (const std::vector< Point3D > &source, const std::vector< Point3D > &target, int max_iter=50, double tolerance=1e-6) |
| 迭代最近点(ICP)刚体点云配准 更多... | |
| Transform3D | translate (const Vector3D &v) |
| 创建平移变换 更多... | |
| Transform3D | translate (double x, double y, double z) |
| 创建平移变换(分量形式) 更多... | |
| Transform3D | rotate (const Vector3D &axis, double angle_rad) |
| 创建旋转变换(轴-角表示) 更多... | |
| Transform3D | rotate_x (double rad) |
| 绕 X 轴旋转 更多... | |
| Transform3D | rotate_y (double rad) |
| 绕 Y 轴旋转 更多... | |
| Transform3D | rotate_z (double rad) |
| 绕 Z 轴旋转 更多... | |
| Transform3D | scale (double sx, double sy, double sz) |
| 创建非均匀缩放变换 更多... | |
| Transform3D | scale (double s) |
| 创建均匀缩放变换 更多... | |
| std::vector< VoronoiCell > | voronoi_2d (const std::vector< Point2D > &points) |
| 二维 Voronoi 图生成(通过 Delaunay 对偶图) 更多... | |
| using vde::core::AABB3D = typedef AABB<double> |
| using vde::core::AABB3f = typedef AABB<float> |
| using vde::core::Line3Dd = typedef Line3D<double> |
| using vde::core::Plane3D = typedef Plane<double> |
| using vde::core::Point = typedef foundation::Point<T, Dim> |
| using vde::core::Point2D = typedef foundation::Point2D |
| using vde::core::Point2f = typedef foundation::Point2f |
| using vde::core::Point3D = typedef foundation::Point3D |
| using vde::core::Point3f = typedef foundation::Point3f |
| using vde::core::Ray3Dd = typedef Ray3D<double> |
| using vde::core::Segment3Dd = typedef Segment3D<double> |
| using vde::core::Triangle3D = typedef Triangle<double> |
双精度三维三角形
在文件 triangle.h 第 105 行定义.
| using vde::core::Triangle3f = typedef Triangle<float> |
单精度三维三角形
在文件 triangle.h 第 107 行定义.
| using vde::core::Vector = typedef foundation::Vector<T, Dim> |
| using vde::core::Vector2D = typedef foundation::Vector2D |
| using vde::core::Vector3D = typedef foundation::Vector3D |