Boost.geometry реализует концепцию Polygon

Я пытаюсь (и не удается) реализовать концепцию многоугольника в Boost.Geometry. Я успешно получил концепцию Point and Ring:

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)

Теперь я пытаюсь определить класс Polygon как:

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;
};

Я знаю, что мне нужно добавить тег polygon к этому классу, но я не могу найти четких примеров того, как это сделать, и ошибки, которые я получаю, наводят на мысль о новых проблемах. Если кто-то может дать ссылку на рабочий пример реализации концепции, я думаю, что я мог бы выяснить мои проблемы оттуда.

2

Решение

Лучшая ссылка для этого в документации:

http://www.boost.org/doc/libs/1_54_0/libs/geometry/doc/html/geometry/examples.html

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector