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