Boost Geometry不会复制自定义点类的属性

时间:2015-09-11 15:23:05

标签: c++ boost-geometry

我试图将Boost Geometry与自定义顶点类一起使用,该顶点类具有x,y和许多用于渲染的参数,例如纹理坐标。我使用注册了自定义类 BOOST_GEOMETRY_REGISTER_POINT_2D 并且union_之类的算法有效,但只有x,y有效。 (我是C ++的老手,但从未学过泛型编程。) 当我获取顶点并使用实例时,我可以演示这个问题 boost::geometry::append( boostPolygon, myVertex );

我可以跟踪调试器中的append调用,并且我看到正在创建我的顶点的默认构造实例,然后调用我的顶点类的访问器来复制x,并且y值留下所有其余的默认构造函数中设置的参数。

我真正想要的是boost::geometry::append()的行为与boostPolygon.outer().push_back( myVertex);完全相同 所以我用上面的append替换了push_back调用,并按照我的意愿将点添加到多边形,但是当我在多边形上调用union_()时,他们丢失了除x以外的所有成员再次。

我认为我想要的是一个典型的用例,所以最好问问而不是猜测如何处理这个问题。我已经看过如何改编课程的例子,但我的模板功夫不足以跟随。那么我需要添加更多适应性还是我需要做一些简单的事情?

0 个答案:

没有答案