簡體   English   中英

在索引處提升幾何多邊形插入點

[英]boost geometry polygon insert point at index

如何在多邊形索引處添加點? 以正確的索引插入點(2.5,7.5)。

輸出:

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

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

(((0,0),(0,5),(2.5,7.5),(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;
}

根據我的理解,poly.outer只是一個std :: vector,所以你應該能夠使用insert方法將值放在所需的索引處:

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

現場演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM