2016-12-13 18 views

回答

0

http://www.boost.org/doc/libs/1_62_0/libs/polygon/doc/gtl_polygon_concept.htm

template <typename T> point_iterator_type begin_points(const T& polygon)

预计公司多边形的模型。返回对应于多边形顶点的点范围上的开始迭代器。

template <typename T> point_iterator_type end_points(const T& polygon)

预计公司多边形的模型。返回对应于多边形顶点的点范围内的结束迭代器。

1

这里是设置和检索BOOST多边形顶点的一个简单的例子的坐标:

#include <boost/geometry.hpp> 
namespace bg = boost::geometry; 
typedef bg::model::d2::point_xy<double> boost_point; 
typedef bg::model::polygon<boost_point> boost_polygon; 

[...] 

//setting vertices 
boost_polygon poly; 
bg::append(poly.outer(), boost_point(-1, -1)); 
bg::append(poly.outer(), boost_point(-1, 1)); 
bg::append(poly.outer(), boost_point(1, 1)); 
bg::append(poly.outer(), boost_point(1, -1)); 
bg::append(poly.outer(), boost_point(-1, -1)); 

//getting the vertices back 
for(auto it = boost::begin(boost::geometry::exterior_ring(poly)); it != boost::end(boost::geometry::exterior_ring(poly)); ++it) 
{ 
    double x = bg::get<0>(*it); 
    double y = bg::get<1>(*it); 
    //use the coordinates... 
} 
相关问题