2026-07-23 05:27:51 +00:00
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "vde/foundation/math_types.h"
|
|
|
|
|
|
#include "vde/foundation/tolerance.h"
|
|
|
|
|
|
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* @defgroup core 核心几何模块
|
|
|
|
|
|
*
|
|
|
|
|
|
* 核心模块提供 VDE 引擎的几何操作 API:
|
|
|
|
|
|
* - 基础几何体(AABB、直线、射线、线段、平面、三角形、多边形)
|
|
|
|
|
|
* - 几何计算(距离、最近点、凸包、变换)
|
|
|
|
|
|
* - 点云配准(ICP)
|
|
|
|
|
|
* - Voronoi 图
|
|
|
|
|
|
*
|
|
|
|
|
|
* @{
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2026-07-23 05:27:51 +00:00
|
|
|
|
namespace vde::core {
|
|
|
|
|
|
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* @brief 通用 N 维点类型(重新导出,便于 core 模块使用)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @tparam T 标量类型
|
|
|
|
|
|
* @tparam Dim 维度
|
|
|
|
|
|
*/
|
2026-07-23 05:27:51 +00:00
|
|
|
|
template <typename T, size_t Dim>
|
|
|
|
|
|
using Point = foundation::Point<T, Dim>;
|
|
|
|
|
|
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/// 双精度二维点(重新导出)
|
2026-07-23 05:27:51 +00:00
|
|
|
|
using Point2D = foundation::Point2D;
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/// 双精度三维点(重新导出)
|
2026-07-23 05:27:51 +00:00
|
|
|
|
using Point3D = foundation::Point3D;
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/// 单精度二维点(重新导出)
|
2026-07-23 05:27:51 +00:00
|
|
|
|
using Point2f = foundation::Point2f;
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/// 单精度三维点(重新导出)
|
2026-07-23 05:27:51 +00:00
|
|
|
|
using Point3f = foundation::Point3f;
|
|
|
|
|
|
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* @brief 通用 N 维向量类型(重新导出)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @tparam T 标量类型
|
|
|
|
|
|
* @tparam Dim 维度
|
|
|
|
|
|
*/
|
2026-07-23 05:27:51 +00:00
|
|
|
|
template <typename T, size_t Dim>
|
|
|
|
|
|
using Vector = foundation::Vector<T, Dim>;
|
|
|
|
|
|
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/// 双精度二维向量(重新导出)
|
2026-07-23 05:27:51 +00:00
|
|
|
|
using Vector2D = foundation::Vector2D;
|
2026-07-24 11:04:04 +00:00
|
|
|
|
/// 双精度三维向量(重新导出)
|
2026-07-23 05:27:51 +00:00
|
|
|
|
using Vector3D = foundation::Vector3D;
|
|
|
|
|
|
|
|
|
|
|
|
} // namespace vde::core
|
2026-07-24 11:04:04 +00:00
|
|
|
|
|
|
|
|
|
|
/** @} */ // end of core group
|