// Boost.Polygon library polygon_rectangle_formation_test.cpp file // Copyright Andrii Sydorchuk 2015. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for updates, documentation, and revision history. #include #include using namespace boost::polygon; void rectangle_formation_test1() { typedef polygon_90_with_holes_data polygon_type; typedef polygon_traits::point_type point_type; polygon_type poly; point_type points[] = { boost::polygon::construct(0, 0), boost::polygon::construct(0, 10), boost::polygon::construct(10, 10), boost::polygon::construct(10, 0), }; boost::polygon::set_points(poly, points, points + 4); std::vector< rectangle_data > rects; boost::polygon::get_rectangles(rects, poly); BOOST_TEST_EQ(1, rects.size()); const rectangle_data& rect = rects[0]; BOOST_TEST_EQ(0, rect.get(WEST)); BOOST_TEST_EQ(10, rect.get(EAST)); BOOST_TEST_EQ(10, rect.get(NORTH)); BOOST_TEST_EQ(0, rect.get(SOUTH)); } int main() { rectangle_formation_test1(); return boost::report_errors(); }