2016-12-13 3 views

Répondre

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)

attend un modèle de polygone. Renvoie l'itérateur de début sur la plage de points correspondant aux sommets du polygone.

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

attend un modèle de polygone. Renvoie l'itérateur de fin sur la plage de points correspondant aux sommets du polygone.

1

Voici un exemple simple de définir et récupérer le sommet du polygone BOOST Coordonnées:

#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... 
}