【Review Results】 Boost.Polygon library accepted into boost
Boost.Polygonが採択されたようです。
Boost.Polygonは多角形幾何データの操作に焦点をおいたアルゴリズムを提供する
ライブラリだそうで、こんな感じで使うようです。
(レビュー結果による手直しで多少変わると思います。)
#include <boost/polygon/polygon.hpp> #include <cassert> namespace gtl = boost::polygon; using namespace boost::polygon::operators; int main() { typedef gtl::point_data<int> Point; Point pt(10, 20); assert(gtl::x(pt) == 10); assert(gtl::y(pt) == 20); typedef gtl::orientation_2d O; O o = gtl::HORIZONTAL; gtl::set(pt, o, 30); assert(gtl::x(pt) == 30); o = gtl::VERTICAL; gtl::move(pt, o, 10); // y方向に10移動する assert(gtl::equivalence(Point(30, 30), pt)); }