Boost.Geometry でポリゴンの概念を実装しようとしています (そして失敗しています)。ポイント アンド リングのコンセプトをうまく機能させました。
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;
};
このクラスにポリゴン タグを追加する必要があることはわかっていますが、それを行う明確な例が見つかりません。さらに問題が発生しているというエラーが表示されます。誰かがコンセプトを実装する実際の例へのリンクを提供できれば、そこから自分の問題を理解できると思います.