#ifndef TESTS_RTREE_NATIVE_HPP #define TESTS_RTREE_NATIVE_HPP #include #include #include #include #include #include #include void tests_rtree_native_hpp() { std::cout << "tests/rtree_native.hpp\n"; std::cout << "Boxes3d\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; boost::geometry::index::rtree t(4, 2); boost::geometry::index::insert(t, B(P(0, 0, 0), P(1, 1, 1))); boost::geometry::index::insert(t, B(P(2, 2, 2), P(3, 3, 3))); boost::geometry::index::insert(t, B(P(4, 4, 4), P(5, 5, 5))); boost::geometry::index::insert(t, B(P(6, 6, 6), P(7, 7, 7))); boost::geometry::index::insert(t, B(P(8, 8, 8), P(9, 9, 9))); std::cerr << t; } std::cout << "-------------------------------------------------\n"; std::cout << "-------------------------------------------------\n"; std::cout << "Boxes2d\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; boost::geometry::index::rtree t(4, 2); boost::geometry::index::insert(t, B(P(0, 0), P(1, 1))); boost::geometry::index::insert(t, B(P(2, 2), P(3, 3))); boost::geometry::index::insert(t, B(P(4, 4), P(5, 5))); boost::geometry::index::insert(t, B(P(6, 6), P(7, 7))); boost::geometry::index::insert(t, B(P(8, 8), P(9, 9))); std::cerr << t; } std::cout << "-------------------------------------------------\n"; std::cout << "-------------------------------------------------\n"; std::cout << "Points\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; boost::geometry::index::rtree

t(4, 2); boost::geometry::index::insert(t, P(0, 0)); boost::geometry::index::insert(t, P(2, 2)); boost::geometry::index::insert(t, P(4, 4)); boost::geometry::index::insert(t, P(6, 6)); boost::geometry::index::insert(t, P(8, 8)); std::cerr << t; } std::cout << "-------------------------------------------------\n"; std::cout << "-------------------------------------------------\n"; std::cout << "std::pair\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; typedef std::pair V; boost::geometry::index::rtree t(4, 2); boost::geometry::index::insert(t, V(B(P(0, 0), P(1, 1)), 0)); boost::geometry::index::insert(t, V(B(P(2, 2), P(3, 3)), 1)); boost::geometry::index::insert(t, V(B(P(4, 4), P(5, 5)), 2)); boost::geometry::index::insert(t, V(B(P(6, 6), P(7, 7)), 3)); boost::geometry::index::insert(t, V(B(P(8, 8), P(9, 9)), 4)); std::cerr << t; } std::cout << "-------------------------------------------------\n"; std::cout << "-------------------------------------------------\n"; std::cout << "boost::shared_ptr< std::pair >\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; typedef boost::shared_ptr< std::pair > V; V v1( new std::pair(B(P(0, 0), P(1, 1)), 0) ); V v2( new std::pair(B(P(2, 2), P(3, 3)), 1) ); V v3( new std::pair(B(P(4, 4), P(5, 5)), 2) ); V v4( new std::pair(B(P(6, 6), P(7, 7)), 3) ); V v5( new std::pair(B(P(8, 8), P(9, 9)), 4) ); boost::geometry::index::rtree t(4, 2); boost::geometry::index::insert(t, v1); boost::geometry::index::insert(t, v2); boost::geometry::index::insert(t, v3); boost::geometry::index::insert(t, v4); boost::geometry::index::insert(t, v5); std::cerr << t; } std::cout << "-------------------------------------------------\n"; std::cout << "-------------------------------------------------\n"; std::cout << "std::map::iterator\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; typedef std::map::iterator V; std::map m; m.insert(std::pair(0, B(P(0, 0), P(1, 1)))); m.insert(std::pair(1, B(P(2, 2), P(3, 3)))); m.insert(std::pair(2, B(P(4, 4), P(5, 5)))); m.insert(std::pair(3, B(P(6, 6), P(7, 7)))); m.insert(std::pair(4, B(P(8, 8), P(9, 9)))); boost::geometry::index::rtree t(4, 2); V vit = m.begin(); boost::geometry::index::insert(t, vit++); boost::geometry::index::insert(t, vit++); boost::geometry::index::insert(t, vit++); boost::geometry::index::insert(t, vit++); boost::geometry::index::insert(t, vit); std::cerr << t; } std::cout << "-------------------------------------------------\n"; std::cout << "-------------------------------------------------\n"; std::cout << "size_t\n"; { typedef boost::geometry::model::point P; typedef boost::geometry::model::box

B; typedef size_t V; typedef boost::geometry::index::translator::index > T; std::vector v; v.push_back(B(P(0, 0), P(1, 1))); v.push_back(B(P(2, 2), P(3, 3))); v.push_back(B(P(4, 4), P(5, 5))); v.push_back(B(P(6, 6), P(7, 7))); v.push_back(B(P(8, 8), P(9, 9))); boost::geometry::index::rtree t(4, 2, T(v)); boost::geometry::index::insert(t, 0u); boost::geometry::index::insert(t, 1u); boost::geometry::index::insert(t, 2u); boost::geometry::index::insert(t, 3u); boost::geometry::index::insert(t, 4u); std::cerr << t; } } #endif // TESTS_RTREE_NATIVE_HPP