gpt4 book ai didi

c++ - Intersection_inserter 未在此范围内声明

转载 作者:行者123 更新时间:2023-11-28 07:39:54 25 4
gpt4 key购买 nike

我正在尝试计算两个椭圆之间的重叠区域。我现在用多边形来近似椭圆,并且我找到了一个示例,该示例显然使用了旧版本的 Boost.Geometry,根据此 answer .来自这个 question 的第二个答案, 我可以看出这也是一个旧示例,因为 v1.53 中不存在某些头文件。我已经将它们替换为:

#include <boost/geometry/geometries/adapted/c_array.hpp>
#include <boost/geometry/multi/multi.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/io/wkt/wkt.hpp>
#include <boost/geometry/multi/geometries/multi_polygon.hpp>

并且还添加了这段代码:

typedef boost::geometry::model::d2::point_xy<double,
boost::geometry::cs::cartesian> point_2d;
typedef boost::geometry::model::polygon<point_2d> polygon_2d;

几乎一切正常。唯一的问题是:

polygon_2d poly, poly2;   
typedef std::vector<polygon_2d > polygon_list;
polygon_list v;
intersection_inserter<polygon_2d >(poly2, poly, std::back_inserter(v));

我收到一个错误:

intersection_inserter was not declared in this scope
expected primary expression before '>' token

关于此事的boost文档here是从 2009 年开始的,所以我想它不再适用了……据我所知,他们的例子写得和我的一样。我在头文件 intersection.hpp 中找到了定义 intersection_inserter 的地方,但我无法弄清它的正面或反面......

我在 win7 的 VS2012 和 Linux Mint 14 的 Qt 4.7.4 中都遇到了同样的错误。非常感谢任何帮助!

最佳答案

我在当前的 boost 文档中找不到任何对 intersection_inserter 的引用。也许此功能已被删除?

boost::geometry 中计算交点的“官方”方法似乎是通过 intersection 函数,如记录(带示例)here

关于c++ - Intersection_inserter 未在此范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16057844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com