problems using boost::polygon::get_rectangles

Hello I'm trying to use the function get_rectangles to return a list of rectangles however I can' get the code to compile. code #include <boost/polygon/polygon.hpp> std::vector< boost::polygon::rectangle_data<int> > rects; typedef boost::polygon::polygon_90_with_holes_data<int> Polygon90; Polygon90 poly; typedef boost::polygon::polygon_traits<Polygon90>::point_type MyPoint; MyPoint pts[] = { boost::polygon::construct<MyPoint>(0, 0), boost::polygon::construct<MyPoint>(0, 10), boost::polygon::construct<MyPoint>(30, 10), boost::polygon::construct<MyPoint>(30, 20), boost::polygon::construct<MyPoint>(10, 20), boost::polygon::construct<MyPoint>(10, 0) }; boost::polygon::set_points(poly, pts, pts + 6); boost::polygon::get_rectangles(rects, poly ); which gives the error 1>c:\lib\boost\1.57.0\boost\polygon\detail/rectangle_formation.hpp(261): error C2784: 'boost::rational<IntType> boost::abs(const boost::rational<IntType> &)' : could not deduce template argument for 'const boost::rational<IntType> &' from 'int' 1> C:\lib\boost\1.57.0\boost/rational.hpp(104) : see declaration of 'boost::abs' 1> c:\lib\boost\1.57.0\boost\polygon\polygon_90_set_data.hpp(180) : see reference to function template instantiation 'void boost::polygon::form_rectangles<output_container,std::_Vector_iterator<std::_Vector_val<std::_Simple_types<std::pair<int,std::pair<int,int>>>>>,boost::polygon::rectangle_concept>(output_container &,iterator_type,iterator_type,boost::polygon::orientation_2d,rectangle_concept)' being compiled 1> with 1> [ 1> output_container=std::vector<boost::polygon::rectangle_data<int>,std::allocator<boost::polygon::rectangle_data<int>>> 1> , iterator_type=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<std::pair<int,std::pair<int,int>>>>> 1> , rectangle_concept=boost::polygon::rectangle_concept 1> ] 1> c:\lib\boost\1.57.0\boost\polygon\polygon_90_set_concept.hpp(86) : see reference to function template instantiation 'void boost::polygon::polygon_90_set_data<int>::get_rectangles<output_container_type>(output_container &) const' being compiled 1> with 1> [ 1> output_container_type=std::vector<boost::polygon::rectangle_data<int>,std::allocator<boost::polygon::rectangle_data<int>>> 1> , output_container=std::vector<boost::polygon::rectangle_data<int>,std::allocator<boost::polygon::rectangle_data<int>>> 1> ] 1> c:\lib\boost\1.57.0\boost\polygon\polygon_90_set_concept.hpp(86) : see reference to function template instantiation 'void boost::polygon::polygon_90_set_data<int>::get_rectangles<output_container_type>(output_container &) const' being compiled 1> with 1> [ 1> output_container_type=std::vector<boost::polygon::rectangle_data<int>,std::allocator<boost::polygon::rectangle_data<int>>> 1> , output_container=std::vector<boost::polygon::rectangle_data<int>,std::allocator<boost::polygon::rectangle_data<int>>> 1> ] 1> TerrainDispatcher.cpp(185) : see reference to function template instantiation 'void boost::polygon::get_rectangles<std::vector<boost::polygon::rectangle_data<int>,std::allocator<_Ty>>,Polygon90>(output_container_type &,const polygon_set_type &)' being compiled 1> with 1> [ 1> _Ty=boost::polygon::rectangle_data<int> 1> , output_container_type=std::vector<boost::polygon::rectangle_data<int>,std::allocator<boost::polygon::rectangle_data<int>>> 1> , polygon_set_type=Polygon90 1> ] I'm quite new to both boost and templates so any help would be appreciated. -- View this message in context: http://boost.2283326.n4.nabble.com/problems-using-boost-polygon-get-rectangl... Sent from the Boost - Users mailing list archive at Nabble.com.
participants (1)
-
TomDrummond