使用独立于包的几何对象

Using geometrical objects independent from package

本文关键字:对象 何对象 独立 于包      更新时间:2023-10-16

我有一个包含点、单元格和面的 3D 网格。与其扩展我的代码的功能,我想使用一个完善的库 CGAL。我仍然有自己的代码,CGAL 将只管理几何部分。

最接近我的情况的软件包似乎是线性细胞复合物。在下面的代码中(完整示例在这里),我不喜欢的是定义LCC_3以创建两个四面体的必要性。就我而言,我想将四面体与我的每个网格单元相关联。所以每次我都不想创建一个LCC_3.有没有比LCC更简单的软件包来处理这种情况?我可以使四面体独立于包装吗?

LCC_3 lcc;
// Create two tetrahedra.
Dart_handle d1 = lcc.make_tetrahedron(Point(-1, 0, 0), Point(0, 2, 0), 
Point(1, 0, 0), Point(1, 1, 2));
Dart_handle d2 = lcc.make_tetrahedron(Point(0, 2, -1), Point(-1, 0, 1),
Point(1, 0, -1), Point(1, 1, -3));

我不确定我是否完全理解你的问题。如果您只需要一个几何对象(没有连接),您可以简单地使用 CGAL::Tetrahedron_3,请参阅 http://doc.cgal.org/latest/Kernel_23/classCGAL_1_1Tetrahedron__3.html