c++ - 使用独立于包的几何对象

标签 c++ cgal

我有一个包含点、单元格和面的 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/

相关文章:

c++ - 如何在感兴趣的区域细化cgal中的网格

c++ - CGAL 三角剖分边迭代器包括原点

c++ - 此处不允许在 ‘{’ token 之前定义函数”

c++ - 如何使用 CGAL Point_3 以外的类进行点集处理?

c++ - 可变大小数组类型 ‘int [size]’ 不是有效的模板参数

c++ - 具有一般和特殊属性的类

c++ - 将非原子加载到与原子变量相同的缓存行会导致原子变量失败吗?

c++ - 如何在 CGAL 中计算一条直线上的一个点

c++ - C++中的模板方法模式和长参数列表

c++ - 为什么我的成员函数内的 "this"指针为空?