2016-12-13 5 views

Antwort

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)

erwartet ein Modell des Polygons. Gibt den Begin-Iterator über den Bereich von Punkten zurück, die Scheitelpunkten des Polygons entsprechen.

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

erwartet ein Modell des Polygons. Gibt den Enditerator über den Bereich der Punkte zurück, die den Scheitelpunkten des Polygons entsprechen.

1

Hier ist ein einfaches Beispiel für die Einstellung und die BOOST Polygonscheiteladreßdaten Abrufen Koordinaten:

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