|
ViewDesignEngine
3.1.0
高性能 CAD 计算几何引擎
|
自适应双精度谓词后端(默认) 更多...
命名空间 | |
| exact | |
类 | |
| struct | AdaptiveDouble |
| class | Interval |
| 双精度区间算术类 更多... | |
| struct | GltfOptions |
| glTF 2.0 导出选项 更多... | |
| struct | ObjMeshData |
| OBJ 文件解析结果数据结构 更多... | |
| struct | StlTriangle |
| STL 三角形面片 更多... | |
| class | MemoryPool |
| 固定块大小的内存池 更多... | |
| struct | Predicates |
| 统一谓词接口 — 编译时选择 GMP 或自适应双精度后端 更多... | |
| struct | SerializedMesh |
| 二进制序列化格式的网格数据结构 更多... | |
| class | BinarySerializer |
| 二进制序列化器 更多... | |
| class | Tolerance |
| 分层容差管理类 更多... | |
| class | ToleranceScope |
| 局部容差作用域(RAII) 更多... | |
类型定义 | |
| template<typename T , size_t Dim> | |
| using | Point = Eigen::Matrix< T, Dim, 1 > |
| 通用 N 维点类型(使用 Eigen 列向量) 更多... | |
| template<typename T , size_t Dim> | |
| using | Vector = Eigen::Matrix< T, Dim, 1 > |
| 通用 N 维向量类型(与 Point 相同的列向量表示) 更多... | |
| template<typename T > | |
| using | Matrix3 = Eigen::Matrix< T, 3, 3 > |
| 3×3 矩阵模板 更多... | |
| template<typename T > | |
| using | Matrix4 = Eigen::Matrix< T, 4, 4 > |
| 4×4 矩阵模板 更多... | |
| using | Point2D = Point< double, 2 > |
| 双精度二维点 更多... | |
| using | Point3D = Point< double, 3 > |
| 双精度三维点 更多... | |
| using | Point2f = Point< float, 2 > |
| 单精度二维点 更多... | |
| using | Point3f = Point< float, 3 > |
| 单精度三维点 更多... | |
| using | Point4D = Eigen::Matrix< double, 4, 1 > |
| 双精度齐次四维点(用于仿射变换) 更多... | |
| using | Vector2D = Vector< double, 2 > |
| 双精度二维向量 更多... | |
| using | Vector3D = Vector< double, 3 > |
| 双精度三维向量 更多... | |
| using | Vector2f = Vector< float, 2 > |
| 单精度二维向量 更多... | |
| using | Vector3f = Vector< float, 3 > |
| 单精度三维向量 更多... | |
| using | Matrix3D = Matrix3< double > |
| 双精度 3×3 矩阵 更多... | |
| using | Matrix4D = Matrix4< double > |
| 双精度 4×4 矩阵 更多... | |
枚举 | |
| enum class | ErrorCode : int32_t { kSuccess = 0 , kInvalidArgument , kInvalidGeometry , kDegenerateCase , kNotImplemented , kNumericalError , kOutOfMemory , kInternalError } |
| 全局错误码枚举 更多... | |
函数 | |
| std::string | fmt_double (double v, int precision=12) |
| 以 CAD 级别精度格式化双精度浮点数 更多... | |
| std::string | fmt_iges_real (double v, int=12) |
| IGES 格式实数输出 更多... | |
| std::string | fmt_point (const core::Point3D &p, bool use_d=false) |
| 格式化三维点为逗号分隔字符串 更多... | |
| std::string | pad72 (const std::string &s) |
| 将字符串填充到恰好 72 个字符 更多... | |
| std::string | format_iges_line (const std::string &data, char section_char, int seq) |
| 格式化 IGES 段落行 更多... | |
| Interval | orient_2d_interval (double ax, double ay, double bx, double by, double cx, double cy) |
| 二维定向行列式的区间验证 更多... | |
| int | orient_2d_verified (double ax, double ay, double bx, double by, double cx, double cy) |
| 使用区间算术验证 orient_2d 结果 更多... | |
| bool | write_gltf (const std::string &filepath, const mesh::HalfedgeMesh &mesh, const GltfOptions &options=GltfOptions{}) |
| 导出网格为 glTF 2.0 / GLB 格式 更多... | |
| bool | write_brep_gltf (const std::string &filepath, const brep::BrepModel &model, int tessellation_res=32) |
| 导出 B-Rep 模型为 GLB 格式(通过面片化) 更多... | |
| ObjMeshData | read_obj (const std::string &filepath) |
| 读取 Wavefront OBJ 文件 更多... | |
| void | write_obj (const std::string &filepath, const ObjMeshData &data) |
| 写入 Wavefront OBJ 文件 更多... | |
| mesh::HalfedgeMesh | read_ply (const std::string &filepath) |
| 读取 PLY 文件(Stanford Polygon Format) 更多... | |
| void | write_ply (const std::string &filepath, const mesh::HalfedgeMesh &mesh) |
| 写入 PLY 文件(ASCII 格式) 更多... | |
| std::vector< StlTriangle > | read_stl (const std::string &filepath) |
| 读取 STL 文件(自动检测格式) 更多... | |
| void | write_stl (const std::string &filepath, const std::vector< StlTriangle > &tris) |
| 写入二进制 STL 文件 更多... | |
| void | write_stl_ascii (const std::string &filepath, const std::vector< StlTriangle > &tris) |
| 写入 ASCII STL 文件 更多... | |
| exact::Orientation | orient (const Point2D &a, const Point2D &b, const Point2D &c) |
| 二维定向测试便捷封装 更多... | |
| exact::Orientation | orient (const Point3D &a, const Point3D &b, const Point3D &c, const Point3D &d) |
| 三维定向测试便捷封装 更多... | |
| exact::CircleTest | in_circle (const Point2D &a, const Point2D &b, const Point2D &c, const Point2D &d) |
| 圆内测试便捷封装 更多... | |
变量 | |
| constexpr uint64_t | VDE_MAGIC = 0x56444547454F4D00ULL |
| VDE 二进制文件魔数:"VDEGEOM\0" 更多... | |
| constexpr uint32_t | VDE_FORMAT_VERSION = 1 |
| VDE 二进制格式当前版本号 更多... | |
自适应双精度谓词后端(默认)
封装 exact 命名空间下的自适应精度谓词函数, 作为 Predicates 的默认后端实现。
| using vde::foundation::Matrix3 = typedef Eigen::Matrix<T, 3, 3> |
3×3 矩阵模板
在文件 math_types.h 第 34 行定义.
| using vde::foundation::Matrix3D = typedef Matrix3<double> |
双精度 3×3 矩阵
在文件 math_types.h 第 62 行定义.
| using vde::foundation::Matrix4 = typedef Eigen::Matrix<T, 4, 4> |
4×4 矩阵模板
在文件 math_types.h 第 38 行定义.
| using vde::foundation::Matrix4D = typedef Matrix4<double> |
双精度 4×4 矩阵
在文件 math_types.h 第 64 行定义.
| using vde::foundation::Point2D = typedef Point<double, 2> |
双精度二维点
在文件 math_types.h 第 41 行定义.
| using vde::foundation::Point2f = typedef Point<float, 2> |
单精度二维点
在文件 math_types.h 第 45 行定义.
| using vde::foundation::Point3D = typedef Point<double, 3> |
双精度三维点
在文件 math_types.h 第 43 行定义.
| using vde::foundation::Point3f = typedef Point<float, 3> |
单精度三维点
在文件 math_types.h 第 47 行定义.
| using vde::foundation::Point4D = typedef Eigen::Matrix<double, 4, 1> |
双精度齐次四维点(用于仿射变换)
在文件 math_types.h 第 50 行定义.
| using vde::foundation::Vector2D = typedef Vector<double, 2> |
双精度二维向量
在文件 math_types.h 第 53 行定义.
| using vde::foundation::Vector2f = typedef Vector<float, 2> |
单精度二维向量
在文件 math_types.h 第 57 行定义.
| using vde::foundation::Vector3D = typedef Vector<double, 3> |
双精度三维向量
在文件 math_types.h 第 55 行定义.
| using vde::foundation::Vector3f = typedef Vector<float, 3> |
单精度三维向量
在文件 math_types.h 第 59 行定义.
|
constexpr |
|
constexpr |