我有一个包含点、单元格和面的 3D 网格。我不想扩展我的代码的功能,而是想使用一个完善的库 CGAL。我仍将拥有自己的代码,CGAL 将仅管理几何部分。
与我的案例最接近的软件包似乎是 Linear Cell Complex。在以下代码中(完整示例为 here),我不喜欢的是必须定义 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
关于c++ - 使用独立于包的几何对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43356924/