CGAL::用3D点简化单线

问题描述

我正在尝试使用 CGAL::Simplify 来简化 3d 折线,它是一个地形,所以高程对于简化来说并不重要,但我需要携带它们,因为我需要它们在简化的折线上。折线可以是开放的或封闭的(多边形)。

当我尝试使用 3d 点调用 PS::simplify 时出现问题。我检查过,它可以在 2d 点上正常工作。有趣的是,它接受 3d 点作为多段线的开始和结束参数,但不接受 back_inserter 参数。

将 ct 作为 PS::Simplification 的第一个参数不适用于我的应用程序,因为错误 #5439 已经发布在 git 上(Irineu 先生正在处理它)。我正在尝试解决此错误,因此我正在尝试使用此不同版本的 PS::Simplification 一一简化地形轮廓线,但我正面临此问题。请注意,我正在调用不同版本的 PS::Simplify,其中参数 1 和 2 是折线的开始和结束(不是 ct)。结果是: std::deque 结果。

观察结果是 Point_2 应该被称为 Point_3 因为它是一个 typedef K::Point_2K > 是 typedef CGAL::Projection_traits_xy_3,我的错误。

关于代码:

simplify(P1.begin(),P1.end(),CostSquare(),Stop(0.5),std::back_inserter(Result),Closed);  <<--- Version of simplify for single polylines

     typedef K::Point_2 Point_2;
     std::deque<Point_2> Result;
     namespace PS = CGAL::Polyline_simplification_2;
     typedef CGAL::Exact_predicates_exact_constructions_kernel Epic;
     typedef CGAL::Projection_traits_xy_3<Epic>  K;
     typedef CGAL::Polygon_2<K> Polygon_2;
     Polygon_2_2 P1;
     

我遗漏了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...