2
我想(和失败)在Boost.Geometry中实现多边形概念。我已经成功地得到了一个点和环的概念工作:Boost.geometry实现Polygon概念
typedef QVector<QVector2D> Contour;
BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET(QVector2D, float,
boost::geometry::cs::cartesian, x, y, setX, setY)
BOOST_GEOMETRY_REGISTER_RING(Contour)
现在我试图定义一个多边形类为:
class Polygon
{
public:
typedef QVector2D point_type;
typedef Contour ring_type;
typedef QVector<Contour> inner_container_type;
Contour const& outer() const { return _outer; }
QVector<Contour> const& inners() const { return _inners; }
Contour& outer() { return _outer; }
QVector<Contour>& inners() { return _inners; }
private:
Contour _outer;
QVector<Contour> _inners;
};
我知道我需要多边形标记添加到这个类,但我找不到任何明确的例子,我得到的错误提示了更多的问题。如果任何人都可以提供一个实现这个概念的实例的链接,我想我可以从那里弄清楚我的问题。
链接是不是一个答案;请在答案中提供足够的信息。 – Yakk