2017-01-28 7 views
0

ポリゴンのインデックスにポイントを追加するにはどうすればよいですか? ポイント(2.5、7.5)を正しいインデックスに挿入します。ジオメトリポリゴンの挿入ポイントをインデックスに追加

出力:

(((0,0)、(0,5)、(5,5)、(5,0)、(0,0)、(2.5、7.5)))

-------------------▼

(((0,0)、(2.5,5.5)、(2.5,7.5) 5)、(5、0)、(0、0)))

#include <iostream> 
#include <boost/geometry.hpp> 
#include <boost/geometry/geometries/point_xy.hpp> 
#include <boost/geometry/geometries/polygon.hpp> 

int main() 
{ 
    typedef boost::geometry::model::d2::point_xy<double> point; 
    typedef boost::geometry::model::polygon<point> polygon; 


    polygon poly; 

    boost::geometry::append (poly, point(0, 0)); 
    boost::geometry::append (poly, point(0, 5)); 
    boost::geometry::append (poly, point(5, 5)); 
    boost::geometry::append (poly, point(5, 0)); 
    boost::geometry::append (poly, point(0, 0)); 

    poly.outer().push_back(point(2.5, 7.5)); 

    std::cout << boost::geometry::dsv(poly) << std::endl; 


    return 0; 
} 

答えて

0

私はpoly.outerだけではstd ::ベクトルであるので、あなたは場所にinsertメソッドを使用することができるはずです理解して何から、デスの値IREDインデックス:

poly.outer().insert(poly.outer().begin()+2, point(2.5, 7.5)); 

live demo

関連する問題