CGAL 中的非轴对齐几何体

Non-axis-aligned geometries in CGAL

我的工作与网格生成及其处理有关。我使用 GMSH 创建网格并使用我自己的代码读取 GMSH 的输出。在我的代码中,我定义了几何形状,如四边形、四面体等。我想使用一个计算几何库,它可以定义形状并执行所有几何操作,如交点检测和二叉树、面积计算。然而,我查看了著名的 CGAL,它只为 2D and 3D Linear Geometry Kernel 中的四边形提供了轴对齐的几何形状(二维中的 Bbox_2Iso_rectangular_2)。旋转网格不是解决方案,因为网格不需要是笛卡尔网格,但可以是多种形状(三角形、四边形)的混合体。 CGAL 确实提供非轴对齐的四边形吗? CGAL 是我的最佳选择吗?

在 CGAL 中,有线性单元复杂数据结构 [1](基于组合映射 [2]),可用于在混合不同的体积元素时表示网格。

但是这个数据结构(目前)没有太多操作,因此还不能进行交叉或面积计算。但是存在允许自己开发这些操作的基本操作(但这可能是一项很长的工作)。

[1] http://doc.cgal.org/latest/Linear_cell_complex/index.html

[2] http://doc.cgal.org/latest/Combinatorial_map/index.html