首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用boost::geometry::model::polygon

无法使用boost::geometry::model::polygon
EN

Stack Overflow用户
提问于 2013-12-04 21:43:22
回答 1查看 266关注 0票数 0

我正在尝试使用boost::geometry::model:polygon,我就是不能让它工作,我还发现了里面的其他东西:

代码语言:javascript
复制
#include <boost/geometry/geometry.hpp>

称为polygon_2d

我不知道我需要哪一个以及如何使用它。

我试着写了以下代码:

代码语言:javascript
复制
double points[][2] = {{2.0, 1.3}, {4.1, 3.0}, {5.3, 2.6}, {2.9, 0.7}, {2.0, 1.3}};
model::polygon<model::d2::point_xy<double> > poly;
append(poly, points);

但不幸的是,它不能工作,我得到了以下编译错误:

代码语言:javascript
复制
boost::mpl::assertion:_failed : cannot convert parameter 1 from 'boost::mpl::failed**** (_cdecl boost::geometry::traits::point_type<Geometry>::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE

我的最终目标是创建一个多边形,并检查点是否在他的内部。

提前感谢

编辑: append函数应为(Geometry& geometry, RangeOrPoint const& range_or_point);

EN

回答 1

Stack Overflow用户

发布于 2014-04-16 04:04:56

双倍点不是点的范围。您可以改用std::vector<model::d2::point_xy<double> >

请参见示例:此处的http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/algorithms/append.html boost::tuple<>被用作点。请注意,使用BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS宏使tuple<>适应点概念。

使用这些函数,您可以访问多边形的环:

http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/access/exterior_ring/exterior_ring_1.html

http://www.boost.org/doc/libs/1_55_0/libs/geometry/doc/html/geometry/reference/access/interior_rings/interior_rings_1.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20376972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档