【发布时间】:2017-01-22 03:20:06
【问题描述】:
所以我目前有一个使用此设置的 2.5D Delaunay 三角测量。
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Triangulation_euclidean_traits_xy_3<K> Gt;
typedef CGAL::Delaunay_triangulation_2<Gt> Delaunay;
typedef K::Point_3 Point_3;
但我想为每个顶点附加附加信息。我正在使用此设置,因为 3D 数据是 LiDAR,因此受到限制。这种方法效果很好,但我只需要将附加信息附加到每个顶点。
这是我尝试使用的,但 Delaunay_triangulation_2 的模板不允许这么多参数。有什么想法吗?
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Triangulation_vertex_base_with_info_2<unsigned int, K> Vb;
typedef CGAL::Triangulation_data_structure_2<Vb> Tds;
typedef CGAL::Exact_triangulation_euclidean_traits_xy_3<K> Gt;
typedef CGAL::Delaunay_triangulation_2<K,Gt,Tds> Delaunay;
【问题讨论】:
-
K 和 Gt 是多余的,为什么要在其中添加 K?你检查过文档吗?
-
据我了解,K 是必要的。即使我删除了 K 并使用
我会得到很多内部错误,CGAL 详细说明该点需要是 2 维而不是 3。Gt 是必要的,因为我在受约束的 2D 三角剖分中使用 3D 点。 -
好吧,请提供一个实际的测试用例... Delaunay_triangulation_2 只需要 2 个参数,所以无论如何 K 都必须走。 Projection_traits_xy_3 替换了 euclidean_traits_xy 的东西。
-
也许 vertex_base 会更高兴得到 Gt 而不是 K。