Files
ViewDesignEngine/docs/02-概要设计/02-模块划分.md
T

4.3 KiB
Raw Blame History

模块划分

目录

  1. M01:基础设施层(foundation
  2. M02:几何核心层(core
  3. M03:曲线曲面层(curves
  4. M04:网格处理层(mesh
  5. M05:空间索引层(spatial
  6. M06:布尔运算层(boolean
  7. M07:碰撞检测层(collision
  8. 构建目标总览

M01:基础设施层(foundation

路径src/foundation/ 命名空间vde::foundation

组件 文件 说明
数学封装 math_types.h/cpp Eigen 二次封装,统一向量/矩阵接口
精确谓词 exact_predicates.h/cpp Shewchuk 自适应精度谓词
公差系统 tolerance.h/cpp 全局/局部公差管理
内存池 memory_pool.h/cpp 高性能内存分配器
I/O io_obj.h/cpp, io_stl.h/cpp OBJ/STL 文件读写
错误码 error_codes.h 统一错误码枚举

公开头文件include/vde/foundation/*.h


M02:几何核心层(core

路径src/core/ 命名空间vde::core

组件 文件 说明
基本类型 point.h, line.h, plane.h 点/线/面的类型别名与便捷函数
基本图形 triangle.h, polygon.h 三角形与多边形
包围盒 aabb.h 轴对齐包围盒
变换 transform.h 平移/旋转/缩放的便捷函数
距离计算 distance.h 各类几何距离计算
凸包 convex_hull.h 2D 与 3D 凸包算法

M03:曲线曲面层(curves

路径src/curves/ 命名空间vde::curves

组件 文件 说明
Bezier 曲线 bezier_curve.h/cpp 任意阶 Bezier 曲线
B-Spline 曲线 bspline_curve.h/cpp B-Spline 曲线
NURBS 曲线 nurbs_curve.h/cpp NURBS 曲线
Bezier 曲面 bezier_surface.h/cpp 张量积 Bezier 曲面
B-Spline 曲面 bspline_surface.h/cpp B-Spline 曲面
离散化 tessellation.h/cpp 曲线/曲面三角网格化

M04:网格处理层(mesh

路径src/mesh/ 命名空间vde::mesh

组件 文件 说明
半边网格 halfedge_mesh.h/cpp 半边数据结构与拓扑查询
Delaunay 剖分 delaunay_2d.h/cpp 2D Bowyer-Watson 算法
网格简化 mesh_simplify.h/cpp QEM 算法
网格平滑 mesh_smooth.h/cpp Laplacian / Taubin 平滑
网格布尔 mesh_boolean.h/cpp 3D 网格布尔运算
质量评估 mesh_quality.h/cpp 网格质量指标
网格修复 mesh_repair.h/cpp 孔洞填充、非流形修复

M05:空间索引层(spatial

路径src/spatial/ 命名空间vde::spatial

组件 文件 说明
索引接口 spatial_index.h 空间索引抽象接口(虚基类)
BVH bvh.h/cpp 包围体层次结构
八叉树 octree.h/cpp 八叉树空间划分
KD-Tree kd_tree.h/cpp K 维树
R-Tree r_tree.h/cpp R 树

M06:布尔运算层(boolean

路径src/boolean/ 命名空间vde::boolean

组件 文件 说明
2D 布尔 boolean_2d.h/cpp 多边形布尔运算
网格布尔 boolean_mesh.h/cpp 三角网格布尔运算

M07:碰撞检测层(collision

路径src/collision/ 命名空间vde::collision

组件 文件 说明
GJK gjk.h/cpp GJK 算法(凸体碰撞检测)
SAT sat.h/cpp 分离轴定理(多面体)
射线相交 ray_intersect.h/cpp 射线-三角形等相交测试
三角形相交 tri_intersect.h/cpp 三角形-三角形 Möller 算法

8. 构建目标总览

目标 类型 依赖
vde_foundation 静态库 Eigen3
vde_core 静态库 vde_foundation
vde_curves 静态库 vde_core
vde_mesh 静态库 vde_core
vde_spatial 静态库 vde_core
vde_boolean 静态库 vde_mesh, vde_spatial
vde_collision 静态库 vde_core, vde_spatial
vde 聚合库 以上全部