diff --git a/include/boost/geometry/algorithms/detail/distance/implementation.hpp b/include/boost/geometry/algorithms/detail/distance/implementation.hpp new file mode 100644 index 000000000..45f40bbb3 --- /dev/null +++ b/include/boost/geometry/algorithms/detail/distance/implementation.hpp @@ -0,0 +1,38 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. +// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. + +// This file was modified by Oracle on 2014. +// Modifications copyright (c) 2014, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library +// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to 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) + +#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_IMPLEMENTATION_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_IMPLEMENTATION_HPP + +// the implementation details +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_IMPLEMENTATION_HPP diff --git a/include/boost/geometry/algorithms/detail/distance/interface.hpp b/include/boost/geometry/algorithms/detail/distance/interface.hpp new file mode 100644 index 000000000..6b7b68fcb --- /dev/null +++ b/include/boost/geometry/algorithms/detail/distance/interface.hpp @@ -0,0 +1,183 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2007-2014 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. +// Copyright (c) 2013-2014 Adam Wulkiewicz, Lodz, Poland. + +// This file was modified by Oracle on 2014. +// Modifications copyright (c) 2014, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library +// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. + +// Use, modification and distribution is subject to 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) + +#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_INTERFACE_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_INTERFACE_HPP + +#include + +#include +#include + +#include +#include + +#include + +#include +#include + +#include +#include + +#include + +#include + + +namespace boost { namespace geometry +{ + + +#ifndef DOXYGEN_NO_DISPATCH +namespace dispatch +{ + + +// If reversal is needed, perform it +template +< + typename Geometry1, typename Geometry2, typename Strategy, + typename Tag1, typename Tag2, typename StrategyTag +> +struct distance +< + Geometry1, Geometry2, Strategy, + Tag1, Tag2, StrategyTag, + true +> + : distance +{ + typedef typename strategy::distance::services::return_type + < + Strategy, + typename point_type::type, + typename point_type::type + >::type return_type; + + static inline return_type apply( + Geometry1 const& g1, + Geometry2 const& g2, + Strategy const& strategy) + { + return distance + < + Geometry2, Geometry1, Strategy, + Tag2, Tag1, StrategyTag, + false + >::apply(g2, g1, strategy); + } +}; + + +} // namespace dispatch +#endif // DOXYGEN_NO_DISPATCH + +/*! +\brief \brief_calc2{distance} \brief_strategy +\ingroup distance +\details +\details \details_calc{area}. \brief_strategy. \details_strategy_reasons + +\tparam Geometry1 \tparam_geometry +\tparam Geometry2 \tparam_geometry +\tparam Strategy \tparam_strategy{Distance} +\param geometry1 \param_geometry +\param geometry2 \param_geometry +\param strategy \param_strategy{distance} +\return \return_calc{distance} +\note The strategy can be a point-point strategy. In case of distance point-line/point-polygon + it may also be a point-segment strategy. + +\qbk{distinguish,with strategy} + +\qbk{ +[heading Available Strategies] +\* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)] +\* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)] +\* [link geometry.reference.strategies.strategy_distance_cross_track Cross track (spherical\, point-to-segment)] +\* [link geometry.reference.strategies.strategy_distance_projected_point Projected point (cartesian\, point-to-segment)] +\* more (currently extensions): Vincenty\, Andoyer (geographic) +} + */ + +/* +Note, in case of a Compilation Error: +if you get: + - "Failed to specialize function template ..." + - "error: no matching function for call to ..." +for distance, it is probably so that there is no specialization +for return_type<...> for your strategy. +*/ +template +inline typename strategy::distance::services::return_type + < + Strategy, + typename point_type::type, + typename point_type::type + >::type +distance(Geometry1 const& geometry1, + Geometry2 const& geometry2, + Strategy const& strategy) +{ + concept::check(); + concept::check(); + + detail::throw_on_empty_input(geometry1); + detail::throw_on_empty_input(geometry2); + + return dispatch::distance + < + Geometry1, + Geometry2, + Strategy + >::apply(geometry1, geometry2, strategy); +} + + +/*! +\brief \brief_calc2{distance} +\ingroup distance +\details The default strategy is used, corresponding to the coordinate system of the geometries +\tparam Geometry1 \tparam_geometry +\tparam Geometry2 \tparam_geometry +\param geometry1 \param_geometry +\param geometry2 \param_geometry +\return \return_calc{distance} + +\qbk{[include reference/algorithms/distance.qbk]} + */ +template +inline typename default_distance_result::type distance( + Geometry1 const& geometry1, Geometry2 const& geometry2) +{ + concept::check(); + concept::check(); + + typedef typename detail::distance::default_strategy + < + Geometry1, Geometry2 + >::type default_strategy_type; + + return distance(geometry1, geometry2, default_strategy_type()); +} + +}} // namespace boost::geometry + +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_DISTANCE_INTERFACE_HPP diff --git a/include/boost/geometry/algorithms/detail/relate/linear_areal.hpp b/include/boost/geometry/algorithms/detail/relate/linear_areal.hpp index 39c28f62e..0bf667eb2 100644 --- a/include/boost/geometry/algorithms/detail/relate/linear_areal.hpp +++ b/include/boost/geometry/algorithms/detail/relate/linear_areal.hpp @@ -27,7 +27,7 @@ #include #include -#include +#include namespace boost { namespace geometry { diff --git a/include/boost/geometry/algorithms/distance.hpp b/include/boost/geometry/algorithms/distance.hpp index 36ff3a695..dcfe597cd 100644 --- a/include/boost/geometry/algorithms/distance.hpp +++ b/include/boost/geometry/algorithms/distance.hpp @@ -20,189 +20,7 @@ #ifndef BOOST_GEOMETRY_ALGORITHMS_DISTANCE_HPP #define BOOST_GEOMETRY_ALGORITHMS_DISTANCE_HPP -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -// If reversal is needed, perform it -template -< - typename Geometry1, typename Geometry2, typename Strategy, - typename Tag1, typename Tag2, typename StrategyTag -> -struct distance -< - Geometry1, Geometry2, Strategy, - Tag1, Tag2, StrategyTag, - true -> - : distance -{ - typedef typename strategy::distance::services::return_type - < - Strategy, - typename point_type::type, - typename point_type::type - >::type return_type; - - static inline return_type apply( - Geometry1 const& g1, - Geometry2 const& g2, - Strategy const& strategy) - { - return distance - < - Geometry2, Geometry1, Strategy, - Tag2, Tag1, StrategyTag, - false - >::apply(g2, g1, strategy); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -/*! -\brief \brief_calc2{distance} \brief_strategy -\ingroup distance -\details -\details \details_calc{area}. \brief_strategy. \details_strategy_reasons - -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\tparam Strategy \tparam_strategy{Distance} -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\param strategy \param_strategy{distance} -\return \return_calc{distance} -\note The strategy can be a point-point strategy. In case of distance point-line/point-polygon - it may also be a point-segment strategy. - -\qbk{distinguish,with strategy} - -\qbk{ -[heading Available Strategies] -\* [link geometry.reference.strategies.strategy_distance_pythagoras Pythagoras (cartesian)] -\* [link geometry.reference.strategies.strategy_distance_haversine Haversine (spherical)] -\* [link geometry.reference.strategies.strategy_distance_cross_track Cross track (spherical\, point-to-segment)] -\* [link geometry.reference.strategies.strategy_distance_projected_point Projected point (cartesian\, point-to-segment)] -\* more (currently extensions): Vincenty\, Andoyer (geographic) -} - */ - -/* -Note, in case of a Compilation Error: -if you get: - - "Failed to specialize function template ..." - - "error: no matching function for call to ..." -for distance, it is probably so that there is no specialization -for return_type<...> for your strategy. -*/ -template -inline typename strategy::distance::services::return_type - < - Strategy, - typename point_type::type, - typename point_type::type - >::type -distance(Geometry1 const& geometry1, - Geometry2 const& geometry2, - Strategy const& strategy) -{ - concept::check(); - concept::check(); - - detail::throw_on_empty_input(geometry1); - detail::throw_on_empty_input(geometry2); - - return dispatch::distance - < - Geometry1, - Geometry2, - Strategy - >::apply(geometry1, geometry2, strategy); -} - - -/*! -\brief \brief_calc2{distance} -\ingroup distance -\details The default strategy is used, corresponding to the coordinate system of the geometries -\tparam Geometry1 \tparam_geometry -\tparam Geometry2 \tparam_geometry -\param geometry1 \param_geometry -\param geometry2 \param_geometry -\return \return_calc{distance} - -\qbk{[include reference/algorithms/distance.qbk]} - */ -template -inline typename default_distance_result::type distance( - Geometry1 const& geometry1, Geometry2 const& geometry2) -{ - concept::check(); - concept::check(); - - typedef typename detail::distance::default_strategy - < - Geometry1, Geometry2 - >::type default_strategy_type; - - return distance(geometry1, geometry2, default_strategy_type()); -} - -}} // namespace boost::geometry - - -// the implementation details -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include +#include +#include #endif // BOOST_GEOMETRY_ALGORITHMS_DISTANCE_HPP diff --git a/include/boost/geometry/algorithms/equals.hpp b/include/boost/geometry/algorithms/equals.hpp index 44e9eb3df..4cd577d69 100644 --- a/include/boost/geometry/algorithms/equals.hpp +++ b/include/boost/geometry/algorithms/equals.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. // Copyright (c) 2008-2012 Bruno Lalande, Paris, France. // Copyright (c) 2009-2012 Mateusz Loskot, London, UK. +// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. // This file was modified by Oracle on 2014. // Modifications copyright (c) 2014 Oracle and/or its affiliates. @@ -43,12 +44,13 @@ #include #include +#include + +#include #include #include -#include - namespace boost { namespace geometry { @@ -87,6 +89,28 @@ struct box_box }; +struct segment_segment +{ + template + static inline bool apply(Segment1 const& segment1, Segment2 const& segment2) + { + return equals::equals_point_point( + indexed_point_view(segment1), + indexed_point_view(segment2) ) + ? equals::equals_point_point( + indexed_point_view(segment1), + indexed_point_view(segment2) ) + : ( equals::equals_point_point( + indexed_point_view(segment1), + indexed_point_view(segment2) ) + && equals::equals_point_point( + indexed_point_view(segment1), + indexed_point_view(segment2) ) + ); + } +}; + + struct area_check { template @@ -250,6 +274,11 @@ struct equals : detail::equals::equals_by_collection {}; +template +struct equals + : detail::equals::segment_segment +{}; + template struct equals //: detail::equals::equals_by_collection diff --git a/include/boost/geometry/index/detail/algorithms/bounds.hpp b/include/boost/geometry/index/detail/algorithms/bounds.hpp index 58c575d26..4d2416e98 100644 --- a/include/boost/geometry/index/detail/algorithms/bounds.hpp +++ b/include/boost/geometry/index/detail/algorithms/bounds.hpp @@ -2,7 +2,7 @@ // // n-dimensional bounds // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -11,6 +11,8 @@ #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_BOUNDS_HPP #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_BOUNDS_HPP +#include + namespace boost { namespace geometry { namespace index { namespace detail { namespace dispatch { @@ -27,6 +29,16 @@ struct bounds } }; +template +struct bounds +{ + static inline void apply(Geometry const& g, Bounds & b) + { + index::detail::bounded_view v(g); + geometry::convert(v, b); + } +}; + } // namespace dispatch template @@ -36,6 +48,43 @@ inline void bounds(Geometry const& g, Bounds & b) dispatch::bounds::apply(g, b); } +namespace dispatch { + +template ::type> +struct return_ref_or_bounds +{ + typedef Geometry const& result_type; + + static inline result_type apply(Geometry const& g) + { + return g; + } +}; + +template +struct return_ref_or_bounds +{ + typedef typename point_type::type point_type; + typedef geometry::model::box bounds_type; + typedef index::detail::bounded_view result_type; + + static inline result_type apply(Geometry const& g) + { + return result_type(g); + } +}; + +} // namespace dispatch + +template +inline +typename dispatch::return_ref_or_bounds::result_type +return_ref_or_bounds(Geometry const& g) +{ + return dispatch::return_ref_or_bounds::apply(g); +} + }}}} // namespace boost::geometry::index::detail #endif // BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_BOUNDS_HPP diff --git a/include/boost/geometry/index/detail/algorithms/intersection_content.hpp b/include/boost/geometry/index/detail/algorithms/intersection_content.hpp index ed615c402..8e3db4530 100644 --- a/include/boost/geometry/index/detail/algorithms/intersection_content.hpp +++ b/include/boost/geometry/index/detail/algorithms/intersection_content.hpp @@ -2,7 +2,7 @@ // // boxes union/intersection area/volume // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -11,7 +11,7 @@ #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_INTERSECTION_CONTENT_HPP #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_INTERSECTION_CONTENT_HPP -#include +#include #include #include @@ -26,12 +26,7 @@ inline typename default_content_result::type intersection_content(Box const if ( geometry::intersects(box1, box2) ) { Box box_intersection; - - strategy_intersection_empty dummy; - geometry::detail::intersection::intersection_box_box - < - 0, geometry::dimension::value - >::apply(box1, box2, box_intersection, dummy); + geometry::intersection(box1, box2, box_intersection); return detail::content(box_intersection); } return 0; diff --git a/include/boost/geometry/index/detail/algorithms/is_valid.hpp b/include/boost/geometry/index/detail/algorithms/is_valid.hpp index 56c164dae..ee42e3936 100644 --- a/include/boost/geometry/index/detail/algorithms/is_valid.hpp +++ b/include/boost/geometry/index/detail/algorithms/is_valid.hpp @@ -2,7 +2,7 @@ // // n-dimensional box's / point validity check // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -66,6 +66,15 @@ struct is_valid } }; +template +struct is_valid +{ + static inline bool apply(Indexable const&) + { + return true; + } +}; + } // namespace dispatch template diff --git a/include/boost/geometry/index/detail/bounded_view.hpp b/include/boost/geometry/index/detail/bounded_view.hpp new file mode 100644 index 000000000..572368e27 --- /dev/null +++ b/include/boost/geometry/index/detail/bounded_view.hpp @@ -0,0 +1,185 @@ +// Boost.Geometry Index +// +// This view makes possible to treat some simple primitives as its bounding geometry +// e.g. box, nsphere, etc. +// +// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. +// +// Use, modification and distribution is subject to 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) + +#ifndef BOOST_GEOMETRY_INDEX_DETAIL_BOUNDED_VIEW_HPP +#define BOOST_GEOMETRY_INDEX_DETAIL_BOUNDED_VIEW_HPP + +namespace boost { namespace geometry { + +namespace index { namespace detail { + +template ::type, + typename BoundingTag = typename geometry::tag::type> +struct bounded_view +{ + BOOST_MPL_ASSERT_MSG( + (false), + NOT_IMPLEMENTED_FOR_THOSE_GEOMETRIES, + (BoundingTag, Tag)); +}; + + +// Segment -> Box + +template +struct bounded_view +{ +public: + typedef typename geometry::coordinate_type::type coordinate_type; + + explicit bounded_view(Segment const& segment) + : m_segment(segment) + {} + + template + inline coordinate_type get_min() const + { + return boost::numeric_cast( + (std::min)( geometry::get<0, Dimension>(m_segment), + geometry::get<1, Dimension>(m_segment) ) ); + } + + template + inline coordinate_type get_max() const + { + return boost::numeric_cast( + (std::max)( geometry::get<0, Dimension>(m_segment), + geometry::get<1, Dimension>(m_segment) ) ); + } + +private: + Segment const& m_segment; +}; + +// Box -> Box + +template +struct bounded_view +{ +public: + typedef typename geometry::coordinate_type::type coordinate_type; + + explicit bounded_view(BoxIn const& box) + : m_box(box) + {} + + template + inline coordinate_type get_min() const + { + return boost::numeric_cast( + geometry::get(m_box) ); + } + + template + inline coordinate_type get_max() const + { + return boost::numeric_cast( + geometry::get(m_box) ); + } + +private: + BoxIn const& m_box; +}; + +// Point -> Box + +template +struct bounded_view +{ +public: + typedef typename geometry::coordinate_type::type coordinate_type; + + explicit bounded_view(Point const& point) + : m_point(point) + {} + + template + inline coordinate_type get_min() const + { + return boost::numeric_cast( + geometry::get(m_point) ); + } + + template + inline coordinate_type get_max() const + { + return boost::numeric_cast( + geometry::get(m_point) ); + } + +private: + Point const& m_point; +}; + +}} // namespace index::detail + +// XXX -> Box + +#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS +namespace traits +{ + +template +struct tag< index::detail::bounded_view > +{ + typedef box_tag type; +}; + +template +struct point_type< index::detail::bounded_view > +{ + typedef typename point_type::type type; +}; + +template +struct indexed_access, + min_corner, Dimension> +{ + typedef index::detail::bounded_view box_type; + typedef typename geometry::coordinate_type::type coordinate_type; + + static inline coordinate_type get(box_type const& b) + { + return b.template get_min(); + } + + //static inline void set(box_type & b, coordinate_type const& value) + //{ + // BOOST_ASSERT(false); + //} +}; + +template +struct indexed_access, + max_corner, Dimension> +{ + typedef index::detail::bounded_view box_type; + typedef typename geometry::coordinate_type::type coordinate_type; + + static inline coordinate_type get(box_type const& b) + { + return b.template get_max(); + } + + //static inline void set(box_type & b, coordinate_type const& value) + //{ + // BOOST_ASSERT(false); + //} +}; + +} // namespace traits +#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS + +}} // namespace boost::geometry + +#endif // BOOST_GEOMETRY_INDEX_DETAIL_BOUNDED_VIEW_HPP diff --git a/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp b/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp index 45bd18a79..9842864e3 100644 --- a/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp +++ b/include/boost/geometry/index/detail/rtree/linear/redistribute_elements.hpp @@ -3,7 +3,7 @@ // R-tree linear split algorithm implementation // // Copyright (c) 2008 Federico J. Fernandez. -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -75,12 +76,6 @@ inline R difference(T const& from, T const& to) template struct find_greatest_normalized_separation -{ - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_TAG, (Tag)); -}; - -template -struct find_greatest_normalized_separation { typedef typename Elements::value_type element_type; typedef typename rtree::element_indexable_type::type indexable_type; @@ -92,6 +87,10 @@ struct find_greatest_normalized_separation::type separation_type; + typedef typename geometry::point_type::type point_type; + typedef geometry::model::box bounds_type; + typedef index::detail::bounded_view bounded_view_type; + static inline void apply(Elements const& elements, Parameters const& parameters, Translator const& translator, @@ -104,15 +103,18 @@ struct find_greatest_normalized_separation(rtree::element_indexable(elements[0], translator)); - coordinate_type highest_high = geometry::get(rtree::element_indexable(elements[0], translator)); + bounded_view_type bounded_indexable_0(rtree::element_indexable(elements[0], translator)); + coordinate_type lowest_low = geometry::get(bounded_indexable_0); + coordinate_type highest_high = geometry::get(bounded_indexable_0); + // and the lowest high coordinate_type lowest_high = highest_high; size_t lowest_high_index = 0; for ( size_t i = 1 ; i < elements_count ; ++i ) { - coordinate_type min_coord = geometry::get(rtree::element_indexable(elements[i], translator)); - coordinate_type max_coord = geometry::get(rtree::element_indexable(elements[i], translator)); + bounded_view_type bounded_indexable(rtree::element_indexable(elements[i], translator)); + coordinate_type min_coord = geometry::get(bounded_indexable); + coordinate_type max_coord = geometry::get(bounded_indexable); if ( max_coord < lowest_high ) { @@ -129,10 +131,12 @@ struct find_greatest_normalized_separation(rtree::element_indexable(elements[highest_low_index], translator)); + bounded_view_type bounded_indexable_hl(rtree::element_indexable(elements[highest_low_index], translator)); + coordinate_type highest_low = geometry::get(bounded_indexable_hl); for ( size_t i = highest_low_index ; i < elements_count ; ++i ) { - coordinate_type min_coord = geometry::get(rtree::element_indexable(elements[i], translator)); + bounded_view_type bounded_indexable(rtree::element_indexable(elements[i], translator)); + coordinate_type min_coord = geometry::get(bounded_indexable); if ( highest_low < min_coord && i != lowest_high_index ) { diff --git a/include/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp b/include/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp index d18998970..2cf4cf051 100644 --- a/include/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp +++ b/include/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp @@ -2,7 +2,7 @@ // // R-tree quadratic split algorithm implementation // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -16,6 +16,8 @@ #include #include +#include + #include #include #include @@ -34,6 +36,7 @@ struct pick_seeds typedef typename coordinate_type::type coordinate_type; typedef Box box_type; typedef typename index::detail::default_content_result::type content_type; + typedef index::detail::bounded_view bounded_indexable_view; static inline void apply(Elements const& elements, Parameters const& parameters, @@ -61,7 +64,11 @@ struct pick_seeds detail::bounds(ind1, enlarged_box); geometry::expand(enlarged_box, ind2); - content_type free_content = (index::detail::content(enlarged_box) - index::detail::content(ind1)) - index::detail::content(ind2); + bounded_indexable_view bounded_ind1(ind1); + bounded_indexable_view bounded_ind2(ind2); + content_type free_content = ( index::detail::content(enlarged_box) + - index::detail::content(bounded_ind1) ) + - index::detail::content(bounded_ind2); if ( greatest_free_content < free_content ) { diff --git a/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp b/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp index aedc2d1a4..69baf4726 100644 --- a/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp +++ b/include/boost/geometry/index/detail/rtree/rstar/redistribute_elements.hpp @@ -2,7 +2,7 @@ // // R-tree R*-tree split algorithm implementation // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -15,6 +15,8 @@ #include #include +#include + #include #include #include @@ -28,7 +30,27 @@ namespace rstar { template class element_axis_corner_less { - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_TAG, (Tag)); + typedef typename rtree::element_indexable_type::type indexable_type; + typedef typename geometry::point_type::type point_type; + typedef geometry::model::box bounds_type; + typedef index::detail::bounded_view bounded_view_type; + +public: + element_axis_corner_less(Translator const& tr) + : m_tr(tr) + {} + + bool operator()(Element const& e1, Element const& e2) const + { + bounded_view_type bounded_ind1(rtree::element_indexable(e1, m_tr)); + bounded_view_type bounded_ind2(rtree::element_indexable(e2, m_tr)); + + return geometry::get(bounded_ind1) + < geometry::get(bounded_ind2); + } + +private: + Translator const& m_tr; }; template @@ -129,14 +151,14 @@ struct choose_split_axis_and_index_for_corner } }; +//template +//struct choose_split_axis_and_index_for_axis +//{ +// BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_TAG, (ElementIndexableTag)); +//}; + template struct choose_split_axis_and_index_for_axis -{ - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_TAG, (ElementIndexableTag)); -}; - -template -struct choose_split_axis_and_index_for_axis { typedef typename index::detail::default_margin_result::type margin_type; typedef typename index::detail::default_content_result::type content_type; @@ -403,11 +425,15 @@ struct redistribute_elements(min_corner) ) + { rstar::partial_sort ::apply(elements_copy, split_axis, split_index, translator); // MAY THROW, BASIC (copy) + } else + { rstar::partial_sort ::apply(elements_copy, split_axis, split_index, translator); // MAY THROW, BASIC (copy) + } BOOST_TRY { diff --git a/include/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp b/include/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp index f283c3e5b..d2caa3670 100644 --- a/include/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp +++ b/include/boost/geometry/index/detail/rtree/utilities/are_boxes_ok.hpp @@ -2,7 +2,7 @@ // // R-tree boxes validating visitor implementation // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -89,7 +89,9 @@ public: } Box box_exp; - geometry::convert(m_tr(elements.front()), box_exp); + geometry::convert( + index::detail::return_ref_or_bounds(m_tr(elements.front())), + box_exp); for(typename elements_type::const_iterator it = elements.begin() + 1; it != elements.end() ; ++it) { diff --git a/include/boost/geometry/index/detail/rtree/visitors/count.hpp b/include/boost/geometry/index/detail/rtree/visitors/count.hpp index 203422f33..f521944a4 100644 --- a/include/boost/geometry/index/detail/rtree/visitors/count.hpp +++ b/include/boost/geometry/index/detail/rtree/visitors/count.hpp @@ -2,7 +2,7 @@ // // R-tree count visitor implementation // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -36,8 +36,12 @@ struct count for (typename elements_type::const_iterator it = elements.begin(); it != elements.end(); ++it) { - if ( geometry::covered_by(indexable, it->first) ) + if ( geometry::covered_by( + return_ref_or_bounds(indexable), + it->first) ) + { rtree::apply_visitor(*this, *it->second); + } } } @@ -84,8 +88,12 @@ struct count for (typename elements_type::const_iterator it = elements.begin(); it != elements.end(); ++it) { - if ( geometry::covered_by(tr(value), it->first) ) + if ( geometry::covered_by( + return_ref_or_bounds(tr(value)), + it->first) ) + { rtree::apply_visitor(*this, *it->second); + } } } diff --git a/include/boost/geometry/index/detail/rtree/visitors/remove.hpp b/include/boost/geometry/index/detail/rtree/visitors/remove.hpp index 19da61d49..d1c81219b 100644 --- a/include/boost/geometry/index/detail/rtree/visitors/remove.hpp +++ b/include/boost/geometry/index/detail/rtree/visitors/remove.hpp @@ -2,7 +2,7 @@ // // R-tree removing visitor implementation // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -68,7 +68,9 @@ public: size_t child_node_index = 0; for ( ; child_node_index < children.size() ; ++child_node_index ) { - if ( geometry::covered_by(m_translator(m_value), children[child_node_index].first) ) + if ( geometry::covered_by( + return_ref_or_bounds(m_translator(m_value)), + children[child_node_index].first) ) { // next traversing step traverse_apply_visitor(n, child_node_index); // MAY THROW diff --git a/include/boost/geometry/index/equal_to.hpp b/include/boost/geometry/index/equal_to.hpp index 37e10cb6f..5fbaa8209 100644 --- a/include/boost/geometry/index/equal_to.hpp +++ b/include/boost/geometry/index/equal_to.hpp @@ -14,7 +14,8 @@ namespace boost { namespace geometry { namespace index { namespace detail { -template +template ::type> struct equals { inline static bool apply(Geometry const& g1, Geometry const& g2) @@ -38,12 +39,9 @@ struct tuple_equals inline static bool apply(Tuple const& t1, Tuple const& t2) { typedef typename boost::tuples::element::type T; - return - equals< - T, typename geometry::traits::tag::type - >::apply(boost::get(t1), boost::get(t2)) - && - tuple_equals::apply(t1, t2); + + return equals::apply(boost::get(t1), boost::get(t2)) + && tuple_equals::apply(t1, t2); } }; @@ -56,6 +54,12 @@ struct tuple_equals } }; +// TODO: Consider this: Since equal_to<> is using geometry::equals() it's possible that +// two compared Indexables are not exactly the same! They will be spatially equal +// but not strictly equal. Consider 2 Segments with reversed order of points. +// Therefore it's possible that during the Value removal different value will be +// removed than the one that was passed. + /*! \brief The function object comparing Values. @@ -66,7 +70,8 @@ This template is also specialized for std::pair and boost::tuple<...>. \tparam Value The type of objects which are compared by this function object. \tparam IsIndexable If true, Values are compared using boost::geometry::equals() functions. */ -template ::value> +template ::value> struct equal_to { /*! \brief The type of result returned by function object. */ @@ -81,7 +86,7 @@ struct equal_to */ inline bool operator()(Value const& l, Value const& r) const { - return detail::equals::type>::apply(l ,r); + return detail::equals::apply(l ,r); } }; @@ -109,10 +114,8 @@ struct equal_to, false> */ inline bool operator()(std::pair const& l, std::pair const& r) const { - typedef detail::equals::type> equals1; - typedef detail::equals::type> equals2; - - return equals1::apply(l.first, r.first) && equals2::apply(l.second, r.second); + return detail::equals::apply(l.first, r.first) + && detail::equals::apply(l.second, r.second); } }; @@ -160,12 +163,9 @@ struct std_tuple_equals inline static bool apply(Tuple const& t1, Tuple const& t2) { typedef typename std::tuple_element::type T; - return - equals< - T, typename geometry::traits::tag::type - >::apply(std::get(t1), std::get(t2)) - && - std_tuple_equals::apply(t1, t2); + + return equals::apply(std::get(t1), std::get(t2)) + && std_tuple_equals::apply(t1, t2); } }; diff --git a/include/boost/geometry/index/indexable.hpp b/include/boost/geometry/index/indexable.hpp index 7476602f8..5270ca22e 100644 --- a/include/boost/geometry/index/indexable.hpp +++ b/include/boost/geometry/index/indexable.hpp @@ -22,6 +22,9 @@ struct is_indexable_impl { static const bool value = template struct is_indexable_impl { static const bool value = true; }; +template +struct is_indexable_impl { static const bool value = true; }; + template struct is_indexable { @@ -42,6 +45,12 @@ and std::tuple. template ::value> struct indexable { + BOOST_MPL_ASSERT_MSG( + (detail::is_indexable::value), + NOT_VALID_INDEXABLE_TYPE, + (Value) + ); + /*! \brief The type of result returned by function object. */ typedef Value const& result_type; diff --git a/include/boost/geometry/index/predicates.hpp b/include/boost/geometry/index/predicates.hpp index e03c9ce5a..10033abff 100644 --- a/include/boost/geometry/index/predicates.hpp +++ b/include/boost/geometry/index/predicates.hpp @@ -2,7 +2,7 @@ // // Spatial query predicates // -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -269,13 +269,15 @@ satisfies(UnaryPredicate const& pred) \brief Generate nearest() predicate. When nearest predicate is passed to the query, k-nearest neighbour search will be performed. -\c nearest() predicate takes a \c Point from which distance to \c Values is calculated -and the maximum number of \c Values that should be returned. +\c nearest() predicate takes a \c Geometry from which distances to \c Values are calculated +and the maximum number of \c Values that should be returned. Internally +boost::geometry::comparable_distance() is used to perform the calculation. \par Example \verbatim bgi::query(spatial_index, bgi::nearest(pt, 5), std::back_inserter(result)); bgi::query(spatial_index, bgi::nearest(pt, 5) && bgi::intersects(box), std::back_inserter(result)); +bgi::query(spatial_index, bgi::nearest(box, 5), std::back_inserter(result)); \endverbatim \warning @@ -283,14 +285,14 @@ Only one \c nearest() predicate may be used in a query. \ingroup predicates -\param point The point from which distance is calculated. +\param geometry The geometry from which distance is calculated. \param k The maximum number of values to return. */ -template inline -detail::nearest -nearest(Point const& point, unsigned k) +template inline +detail::nearest +nearest(Geometry const& geometry, unsigned k) { - return detail::nearest(point, k); + return detail::nearest(geometry, k); } #ifdef BOOST_GEOMETRY_INDEX_DETAIL_EXPERIMENTAL diff --git a/include/boost/geometry/index/rtree.hpp b/include/boost/geometry/index/rtree.hpp index 9e61a3979..e4f913ab8 100644 --- a/include/boost/geometry/index/rtree.hpp +++ b/include/boost/geometry/index/rtree.hpp @@ -3,7 +3,7 @@ // R-tree implementation // // Copyright (c) 2008 Federico J. Fernandez. -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -32,29 +32,8 @@ #include #include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -//#include -//#include -//#include -//#include -//#include +#include +#include // END #include @@ -139,8 +118,8 @@ Predefined algorithms with run-time parameters are: \par IndexableGetter The object of IndexableGetter type translates from Value to Indexable each time r-tree requires it. Which means that this operation is done for each Value access. Therefore the IndexableGetter should return the Indexable by -const reference instead of a value. Default one can translate all types adapted to Point -or Box concepts (called Indexables). It also handles std::pair and +const reference instead of a value. Default one can translate all types adapted to Point, Box or Segment +concepts (called Indexables). It also handles std::pair and boost::tuple. For example, if std::pair is stored in the container, the default IndexableGetter translates from std::pair const& to Box const&. diff --git a/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp b/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp index cd86b523f..329b7d4e4 100644 --- a/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp +++ b/include/boost/geometry/strategies/cartesian/distance_projected_point.hpp @@ -1,8 +1,13 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. +// Copyright (c) 2008-2014 Bruno Lalande, Paris, France. +// Copyright (c) 2008-2014 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2009-2014 Mateusz Loskot, London, UK. + +// This file was modified by Oracle on 2014. +// Modifications copyright (c) 2014, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. @@ -124,12 +129,13 @@ public : // v is multiplied below with a (possibly) FP-value, so should be in FP // For consistency we define w also in FP - fp_vector_type v, w; + fp_vector_type v, w, projected; geometry::convert(p2, v); geometry::convert(p, w); - subtract_point(v, p1); - subtract_point(w, p1); + geometry::convert(p1, projected); + subtract_point(v, projected); + subtract_point(w, projected); Strategy strategy; boost::ignore_unused_variable_warning(strategy); @@ -149,8 +155,6 @@ public : // See above, c1 > 0 AND c2 > c1 so: c2 != 0 calculation_type const b = c1 / c2; - fp_point_type projected; - geometry::convert(p1, projected); multiply_value(v, b); add_point(projected, v); diff --git a/include/boost/geometry/views/detail/indexed_point_view.hpp b/include/boost/geometry/views/detail/indexed_point_view.hpp new file mode 100644 index 000000000..88b13ec5c --- /dev/null +++ b/include/boost/geometry/views/detail/indexed_point_view.hpp @@ -0,0 +1,112 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. +// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland + +// Use, modification and distribution is subject to 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) + +#ifndef BOOST_GEOMETRY_VIEWS_DETAIL_INDEXED_POINT_VIEW_HPP +#define BOOST_GEOMETRY_VIEWS_DETAIL_INDEXED_POINT_VIEW_HPP + +#include + +#include +#include +#include +#include +#include + +namespace boost { namespace geometry +{ + +namespace detail +{ + +template +class indexed_point_view +{ + indexed_point_view & operator=(indexed_point_view const&); + +public: + typedef typename geometry::point_type::type point_type; + typedef typename geometry::coordinate_type::type coordinate_type; + + indexed_point_view(Geometry & geometry) + : m_geometry(geometry) + {} + + template + inline coordinate_type get() const + { + return geometry::get(m_geometry); + } + + template + inline void set(coordinate_type const& value) + { + geometry::set(m_geometry, value); + } + +private: + Geometry & m_geometry; +}; + +} + +#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS +namespace traits +{ + +template +struct tag< detail::indexed_point_view > +{ + typedef point_tag type; +}; + +template +struct coordinate_type< detail::indexed_point_view > +{ + typedef typename geometry::coordinate_type::type type; +}; + +template +struct coordinate_system< detail::indexed_point_view > +{ + typedef typename geometry::coordinate_system::type type; +}; + +template +struct dimension< detail::indexed_point_view > + : geometry::dimension +{}; + +template +struct access< detail::indexed_point_view, Dimension > +{ + typedef typename geometry::coordinate_type::type coordinate_type; + + static inline coordinate_type get( + detail::indexed_point_view const& p) + { + return p.template get(); + } + + static inline void set( + detail::indexed_point_view & p, + coordinate_type const& value) + { + p.template set(value); + } +}; + +} // namespace traits +#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS + +}} // namespace boost::geometry + + +#endif // BOOST_GEOMETRY_VIEWS_DETAIL_INDEXED_POINT_VIEW_HPP diff --git a/include/boost/geometry/views/normalized_view.hpp b/include/boost/geometry/views/detail/normalized_view.hpp similarity index 94% rename from include/boost/geometry/views/normalized_view.hpp rename to include/boost/geometry/views/detail/normalized_view.hpp index dfa48f779..d50ffe48c 100644 --- a/include/boost/geometry/views/normalized_view.hpp +++ b/include/boost/geometry/views/detail/normalized_view.hpp @@ -16,8 +16,8 @@ // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle -#ifndef BOOST_GEOMETRY_VIEWS_NORMALIZED_VIEW_HPP -#define BOOST_GEOMETRY_VIEWS_NORMALIZED_VIEW_HPP +#ifndef BOOST_GEOMETRY_VIEWS_DETAIL_NORMALIZED_VIEW_HPP +#define BOOST_GEOMETRY_VIEWS_DETAIL_NORMALIZED_VIEW_HPP #include @@ -113,4 +113,4 @@ private: }} // namespace boost::geometry -#endif // BOOST_GEOMETRY_VIEWS_NORMALIZED_VIEW_HPP +#endif // BOOST_GEOMETRY_VIEWS_DETAIL_NORMALIZED_VIEW_HPP diff --git a/index/example/benchmark.cpp b/index/example/benchmark.cpp index 269ea4533..ba2a1dec9 100644 --- a/index/example/benchmark.cpp +++ b/index/example/benchmark.cpp @@ -9,6 +9,7 @@ #include +#include #include #include diff --git a/index/example/benchmark2.cpp b/index/example/benchmark2.cpp index eedeac1b8..48194cbd8 100644 --- a/index/example/benchmark2.cpp +++ b/index/example/benchmark2.cpp @@ -10,6 +10,7 @@ #include +#include #include #include diff --git a/index/example/benchmark3.cpp b/index/example/benchmark3.cpp index 6898e4eb8..ad1910e45 100644 --- a/index/example/benchmark3.cpp +++ b/index/example/benchmark3.cpp @@ -9,6 +9,7 @@ #include +#include #include #include diff --git a/index/example/benchmark_experimental.cpp b/index/example/benchmark_experimental.cpp index 34b08744f..45248008d 100644 --- a/index/example/benchmark_experimental.cpp +++ b/index/example/benchmark_experimental.cpp @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -26,8 +27,10 @@ typedef bg::model::point P; typedef bg::model::box

B; typedef bg::model::linestring

LS; typedef bg::model::segment

S; -typedef B V; //typedef P V; +typedef B V; +//typedef S V; +//#define SEGMENT_INDEXABLE template struct generate_value {}; @@ -38,6 +41,12 @@ struct generate_value static inline B apply(float x, float y) { return B(P(x - 0.5f, y - 0.5f), P(x + 0.5f, y + 0.5f)); } }; +template <> +struct generate_value +{ + static inline S apply(float x, float y) { return S(P(x - 0.5f, y - 0.5f), P(x + 0.5f, y + 0.5f)); } +}; + template <> struct generate_value

{ @@ -278,6 +287,7 @@ int main() std::cout << time << " - range type-erased qbegin(B) qend() " << queries_count << " found " << temp << '\n'; } +#ifndef SEGMENT_INDEXABLE { clock_t::time_point start = clock_t::now(); size_t temp = 0; @@ -304,6 +314,7 @@ int main() dur_t time = clock_t::now() - start; std::cout << time << " - query(i && !w && !c) " << queries_count << " found " << temp << '\n'; } +#endif result.clear(); @@ -376,6 +387,7 @@ int main() } #ifdef BOOST_GEOMETRY_INDEX_DETAIL_EXPERIMENTAL +#ifndef SEGMENT_INDEXABLE { LS ls; @@ -436,6 +448,7 @@ int main() dur_t time = clock_t::now() - start; std::cout << time << " - query(path(S, " << path_values_count << ")) " << path_queries_count2 << " found " << temp << '\n'; } +#endif #endif { clock_t::time_point start = clock_t::now(); diff --git a/index/example/glut_vis.cpp b/index/example/glut_vis.cpp index e0e6a00c0..ee74a69fa 100644 --- a/index/example/glut_vis.cpp +++ b/index/example/glut_vis.cpp @@ -11,6 +11,7 @@ #include +#include #include #include diff --git a/index/example/random_test.cpp b/index/example/random_test.cpp index 48a45191c..1c40d1553 100644 --- a/index/example/random_test.cpp +++ b/index/example/random_test.cpp @@ -10,6 +10,8 @@ #include #define BOOST_GEOMETRY_INDEX_DETAIL_EXPERIMENTAL + +#include #include #include diff --git a/index/example/serialize.cpp b/index/example/serialize.cpp index 1ce9437b9..11ce08bc0 100644 --- a/index/example/serialize.cpp +++ b/index/example/serialize.cpp @@ -11,6 +11,8 @@ #include #define BOOST_GEOMETRY_INDEX_DETAIL_EXPERIMENTAL + +#include #include #include diff --git a/index/test/rtree/generated/rtree_dlin_add_b2d.cpp b/index/test/rtree/generated/rtree_dlin_add_b2d.cpp index 312a7ba55..adab4cb9c 100644 --- a/index/test/rtree/generated/rtree_dlin_add_b2d.cpp +++ b/index/test/rtree/generated/rtree_dlin_add_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_add_b3d.cpp b/index/test/rtree/generated/rtree_dlin_add_b3d.cpp index fbcb002ee..b387eb1ff 100644 --- a/index/test/rtree/generated/rtree_dlin_add_b3d.cpp +++ b/index/test/rtree/generated/rtree_dlin_add_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_add_p2d.cpp b/index/test/rtree/generated/rtree_dlin_add_p2d.cpp index 222010ff4..09e1c20e3 100644 --- a/index/test/rtree/generated/rtree_dlin_add_p2d.cpp +++ b/index/test/rtree/generated/rtree_dlin_add_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_add_p3d.cpp b/index/test/rtree/generated/rtree_dlin_add_p3d.cpp index 4af7feded..9959dc3f0 100644 --- a/index/test/rtree/generated/rtree_dlin_add_p3d.cpp +++ b/index/test/rtree/generated/rtree_dlin_add_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_add_s2d.cpp b/index/test/rtree/generated/rtree_dlin_add_s2d.cpp new file mode 100644 index 000000000..c89e3ddbe --- /dev/null +++ b/index/test/rtree/generated/rtree_dlin_add_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::additional(bgi::dynamic_linear(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_dlin_mod_b2d.cpp b/index/test/rtree/generated/rtree_dlin_mod_b2d.cpp index aad24a95e..0b355cb82 100644 --- a/index/test/rtree/generated/rtree_dlin_mod_b2d.cpp +++ b/index/test/rtree/generated/rtree_dlin_mod_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_mod_b3d.cpp b/index/test/rtree/generated/rtree_dlin_mod_b3d.cpp index 3520fcfa5..86a1df0de 100644 --- a/index/test/rtree/generated/rtree_dlin_mod_b3d.cpp +++ b/index/test/rtree/generated/rtree_dlin_mod_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_mod_p2d.cpp b/index/test/rtree/generated/rtree_dlin_mod_p2d.cpp index 56895487b..072b8e243 100644 --- a/index/test/rtree/generated/rtree_dlin_mod_p2d.cpp +++ b/index/test/rtree/generated/rtree_dlin_mod_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_mod_p3d.cpp b/index/test/rtree/generated/rtree_dlin_mod_p3d.cpp index 90e51c399..b8e1d6235 100644 --- a/index/test/rtree/generated/rtree_dlin_mod_p3d.cpp +++ b/index/test/rtree/generated/rtree_dlin_mod_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_mod_s2d.cpp b/index/test/rtree/generated/rtree_dlin_mod_s2d.cpp new file mode 100644 index 000000000..595312c4d --- /dev/null +++ b/index/test/rtree/generated/rtree_dlin_mod_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::modifiers(bgi::dynamic_linear(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_dlin_que_b2d.cpp b/index/test/rtree/generated/rtree_dlin_que_b2d.cpp index df167f6c6..8a2ee0e70 100644 --- a/index/test/rtree/generated/rtree_dlin_que_b2d.cpp +++ b/index/test/rtree/generated/rtree_dlin_que_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_que_b3d.cpp b/index/test/rtree/generated/rtree_dlin_que_b3d.cpp index ddac379f9..c054f630f 100644 --- a/index/test/rtree/generated/rtree_dlin_que_b3d.cpp +++ b/index/test/rtree/generated/rtree_dlin_que_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_que_p2d.cpp b/index/test/rtree/generated/rtree_dlin_que_p2d.cpp index e66c79d9e..22bdb83f4 100644 --- a/index/test/rtree/generated/rtree_dlin_que_p2d.cpp +++ b/index/test/rtree/generated/rtree_dlin_que_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_que_p3d.cpp b/index/test/rtree/generated/rtree_dlin_que_p3d.cpp index 5ef00c062..68f901776 100644 --- a/index/test/rtree/generated/rtree_dlin_que_p3d.cpp +++ b/index/test/rtree/generated/rtree_dlin_que_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dlin_que_s2d.cpp b/index/test/rtree/generated/rtree_dlin_que_s2d.cpp new file mode 100644 index 000000000..41f93c575 --- /dev/null +++ b/index/test/rtree/generated/rtree_dlin_que_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::queries(bgi::dynamic_linear(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_dqua_add_b2d.cpp b/index/test/rtree/generated/rtree_dqua_add_b2d.cpp index cd917bcf6..80c16cd1f 100644 --- a/index/test/rtree/generated/rtree_dqua_add_b2d.cpp +++ b/index/test/rtree/generated/rtree_dqua_add_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_add_b3d.cpp b/index/test/rtree/generated/rtree_dqua_add_b3d.cpp index af1afdea7..47760e224 100644 --- a/index/test/rtree/generated/rtree_dqua_add_b3d.cpp +++ b/index/test/rtree/generated/rtree_dqua_add_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_add_p2d.cpp b/index/test/rtree/generated/rtree_dqua_add_p2d.cpp index ea21920cb..46cc6db24 100644 --- a/index/test/rtree/generated/rtree_dqua_add_p2d.cpp +++ b/index/test/rtree/generated/rtree_dqua_add_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_add_p3d.cpp b/index/test/rtree/generated/rtree_dqua_add_p3d.cpp index bfbd66bd0..28ec6586c 100644 --- a/index/test/rtree/generated/rtree_dqua_add_p3d.cpp +++ b/index/test/rtree/generated/rtree_dqua_add_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_add_s2d.cpp b/index/test/rtree/generated/rtree_dqua_add_s2d.cpp new file mode 100644 index 000000000..e6009b833 --- /dev/null +++ b/index/test/rtree/generated/rtree_dqua_add_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::additional(bgi::dynamic_quadratic(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_dqua_mod_b2d.cpp b/index/test/rtree/generated/rtree_dqua_mod_b2d.cpp index 4462102a0..7de20a5f1 100644 --- a/index/test/rtree/generated/rtree_dqua_mod_b2d.cpp +++ b/index/test/rtree/generated/rtree_dqua_mod_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_mod_b3d.cpp b/index/test/rtree/generated/rtree_dqua_mod_b3d.cpp index e5a21b780..4c2e7c718 100644 --- a/index/test/rtree/generated/rtree_dqua_mod_b3d.cpp +++ b/index/test/rtree/generated/rtree_dqua_mod_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_mod_p2d.cpp b/index/test/rtree/generated/rtree_dqua_mod_p2d.cpp index 1e8112dbb..3cce646e1 100644 --- a/index/test/rtree/generated/rtree_dqua_mod_p2d.cpp +++ b/index/test/rtree/generated/rtree_dqua_mod_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_mod_p3d.cpp b/index/test/rtree/generated/rtree_dqua_mod_p3d.cpp index 75cce976e..c0d782d3d 100644 --- a/index/test/rtree/generated/rtree_dqua_mod_p3d.cpp +++ b/index/test/rtree/generated/rtree_dqua_mod_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_mod_s2d.cpp b/index/test/rtree/generated/rtree_dqua_mod_s2d.cpp new file mode 100644 index 000000000..be0cb0ad9 --- /dev/null +++ b/index/test/rtree/generated/rtree_dqua_mod_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::modifiers(bgi::dynamic_quadratic(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_dqua_que_b2d.cpp b/index/test/rtree/generated/rtree_dqua_que_b2d.cpp index 47995d1bb..790e29c4d 100644 --- a/index/test/rtree/generated/rtree_dqua_que_b2d.cpp +++ b/index/test/rtree/generated/rtree_dqua_que_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_que_b3d.cpp b/index/test/rtree/generated/rtree_dqua_que_b3d.cpp index 73c89d9ad..3c27c09ea 100644 --- a/index/test/rtree/generated/rtree_dqua_que_b3d.cpp +++ b/index/test/rtree/generated/rtree_dqua_que_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_que_p2d.cpp b/index/test/rtree/generated/rtree_dqua_que_p2d.cpp index 4683774f3..8ba91c01e 100644 --- a/index/test/rtree/generated/rtree_dqua_que_p2d.cpp +++ b/index/test/rtree/generated/rtree_dqua_que_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_que_p3d.cpp b/index/test/rtree/generated/rtree_dqua_que_p3d.cpp index a5cae4ebb..2fad909f8 100644 --- a/index/test/rtree/generated/rtree_dqua_que_p3d.cpp +++ b/index/test/rtree/generated/rtree_dqua_que_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_dqua_que_s2d.cpp b/index/test/rtree/generated/rtree_dqua_que_s2d.cpp new file mode 100644 index 000000000..8d353e622 --- /dev/null +++ b/index/test/rtree/generated/rtree_dqua_que_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::queries(bgi::dynamic_quadratic(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_drst_add_b2d.cpp b/index/test/rtree/generated/rtree_drst_add_b2d.cpp index 9093a91ee..358de99d7 100644 --- a/index/test/rtree/generated/rtree_drst_add_b2d.cpp +++ b/index/test/rtree/generated/rtree_drst_add_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_drst_add_b3d.cpp b/index/test/rtree/generated/rtree_drst_add_b3d.cpp index 75cf1db8c..1816462bd 100644 --- a/index/test/rtree/generated/rtree_drst_add_b3d.cpp +++ b/index/test/rtree/generated/rtree_drst_add_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_drst_add_p2d.cpp b/index/test/rtree/generated/rtree_drst_add_p2d.cpp index 7595a41c4..2b2146e07 100644 --- a/index/test/rtree/generated/rtree_drst_add_p2d.cpp +++ b/index/test/rtree/generated/rtree_drst_add_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_drst_add_p3d.cpp b/index/test/rtree/generated/rtree_drst_add_p3d.cpp index 934625270..ecbc1c336 100644 --- a/index/test/rtree/generated/rtree_drst_add_p3d.cpp +++ b/index/test/rtree/generated/rtree_drst_add_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_drst_add_s2d.cpp b/index/test/rtree/generated/rtree_drst_add_s2d.cpp new file mode 100644 index 000000000..fabc1e2e8 --- /dev/null +++ b/index/test/rtree/generated/rtree_drst_add_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::additional(bgi::dynamic_rstar(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_drst_mod_b2d.cpp b/index/test/rtree/generated/rtree_drst_mod_b2d.cpp index f3495061b..df3cfdac2 100644 --- a/index/test/rtree/generated/rtree_drst_mod_b2d.cpp +++ b/index/test/rtree/generated/rtree_drst_mod_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_drst_mod_b3d.cpp b/index/test/rtree/generated/rtree_drst_mod_b3d.cpp index cf2490353..9f8ea3bef 100644 --- a/index/test/rtree/generated/rtree_drst_mod_b3d.cpp +++ b/index/test/rtree/generated/rtree_drst_mod_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_drst_mod_p2d.cpp b/index/test/rtree/generated/rtree_drst_mod_p2d.cpp index 886be52cf..0cdd1706d 100644 --- a/index/test/rtree/generated/rtree_drst_mod_p2d.cpp +++ b/index/test/rtree/generated/rtree_drst_mod_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_drst_mod_p3d.cpp b/index/test/rtree/generated/rtree_drst_mod_p3d.cpp index a597f6691..e15305115 100644 --- a/index/test/rtree/generated/rtree_drst_mod_p3d.cpp +++ b/index/test/rtree/generated/rtree_drst_mod_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_drst_mod_s2d.cpp b/index/test/rtree/generated/rtree_drst_mod_s2d.cpp new file mode 100644 index 000000000..ca3934411 --- /dev/null +++ b/index/test/rtree/generated/rtree_drst_mod_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::modifiers(bgi::dynamic_rstar(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_drst_que_b2d.cpp b/index/test/rtree/generated/rtree_drst_que_b2d.cpp index 2e46885db..5f1ea2e29 100644 --- a/index/test/rtree/generated/rtree_drst_que_b2d.cpp +++ b/index/test/rtree/generated/rtree_drst_que_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_drst_que_b3d.cpp b/index/test/rtree/generated/rtree_drst_que_b3d.cpp index 3ea5e8f66..61e51a2f1 100644 --- a/index/test/rtree/generated/rtree_drst_que_b3d.cpp +++ b/index/test/rtree/generated/rtree_drst_que_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_drst_que_p2d.cpp b/index/test/rtree/generated/rtree_drst_que_p2d.cpp index bab080776..f9bd1951a 100644 --- a/index/test/rtree/generated/rtree_drst_que_p2d.cpp +++ b/index/test/rtree/generated/rtree_drst_que_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_drst_que_p3d.cpp b/index/test/rtree/generated/rtree_drst_que_p3d.cpp index efd0e34ee..b7cfc7f71 100644 --- a/index/test/rtree/generated/rtree_drst_que_p3d.cpp +++ b/index/test/rtree/generated/rtree_drst_que_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_drst_que_s2d.cpp b/index/test/rtree/generated/rtree_drst_que_s2d.cpp new file mode 100644 index 000000000..8b402560e --- /dev/null +++ b/index/test/rtree/generated/rtree_drst_que_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::queries(bgi::dynamic_rstar(5, 2), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_lin_add_b2d.cpp b/index/test/rtree/generated/rtree_lin_add_b2d.cpp index 668a3a7c6..3474fc438 100644 --- a/index/test/rtree/generated/rtree_lin_add_b2d.cpp +++ b/index/test/rtree/generated/rtree_lin_add_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_lin_add_b3d.cpp b/index/test/rtree/generated/rtree_lin_add_b3d.cpp index b1c8d1080..d390a866c 100644 --- a/index/test/rtree/generated/rtree_lin_add_b3d.cpp +++ b/index/test/rtree/generated/rtree_lin_add_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_lin_add_p2d.cpp b/index/test/rtree/generated/rtree_lin_add_p2d.cpp index 5a3a4c328..af06e30ec 100644 --- a/index/test/rtree/generated/rtree_lin_add_p2d.cpp +++ b/index/test/rtree/generated/rtree_lin_add_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_lin_add_p3d.cpp b/index/test/rtree/generated/rtree_lin_add_p3d.cpp index dee2c17f3..24fc32feb 100644 --- a/index/test/rtree/generated/rtree_lin_add_p3d.cpp +++ b/index/test/rtree/generated/rtree_lin_add_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_lin_add_s2d.cpp b/index/test/rtree/generated/rtree_lin_add_s2d.cpp new file mode 100644 index 000000000..10419db62 --- /dev/null +++ b/index/test/rtree/generated/rtree_lin_add_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::additional(bgi::linear<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_lin_mod_b2d.cpp b/index/test/rtree/generated/rtree_lin_mod_b2d.cpp index a55700ab3..dc8f48c39 100644 --- a/index/test/rtree/generated/rtree_lin_mod_b2d.cpp +++ b/index/test/rtree/generated/rtree_lin_mod_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_lin_mod_b3d.cpp b/index/test/rtree/generated/rtree_lin_mod_b3d.cpp index 47cc47866..c00b20ab5 100644 --- a/index/test/rtree/generated/rtree_lin_mod_b3d.cpp +++ b/index/test/rtree/generated/rtree_lin_mod_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_lin_mod_p2d.cpp b/index/test/rtree/generated/rtree_lin_mod_p2d.cpp index a5ae7e41f..7879a5bf0 100644 --- a/index/test/rtree/generated/rtree_lin_mod_p2d.cpp +++ b/index/test/rtree/generated/rtree_lin_mod_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_lin_mod_p3d.cpp b/index/test/rtree/generated/rtree_lin_mod_p3d.cpp index 6272a2f87..440dbbd0d 100644 --- a/index/test/rtree/generated/rtree_lin_mod_p3d.cpp +++ b/index/test/rtree/generated/rtree_lin_mod_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_lin_mod_s2d.cpp b/index/test/rtree/generated/rtree_lin_mod_s2d.cpp new file mode 100644 index 000000000..92c81faf0 --- /dev/null +++ b/index/test/rtree/generated/rtree_lin_mod_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::modifiers(bgi::linear<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_lin_que_b2d.cpp b/index/test/rtree/generated/rtree_lin_que_b2d.cpp index a43437557..19f08a6a8 100644 --- a/index/test/rtree/generated/rtree_lin_que_b2d.cpp +++ b/index/test/rtree/generated/rtree_lin_que_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_lin_que_b3d.cpp b/index/test/rtree/generated/rtree_lin_que_b3d.cpp index dff1647e0..19f2ee5c7 100644 --- a/index/test/rtree/generated/rtree_lin_que_b3d.cpp +++ b/index/test/rtree/generated/rtree_lin_que_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_lin_que_p2d.cpp b/index/test/rtree/generated/rtree_lin_que_p2d.cpp index 305d29ab8..b05ee3f64 100644 --- a/index/test/rtree/generated/rtree_lin_que_p2d.cpp +++ b/index/test/rtree/generated/rtree_lin_que_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_lin_que_p3d.cpp b/index/test/rtree/generated/rtree_lin_que_p3d.cpp index 9e948ab1d..726287fdd 100644 --- a/index/test/rtree/generated/rtree_lin_que_p3d.cpp +++ b/index/test/rtree/generated/rtree_lin_que_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_lin_que_s2d.cpp b/index/test/rtree/generated/rtree_lin_que_s2d.cpp new file mode 100644 index 000000000..8cfba6bf1 --- /dev/null +++ b/index/test/rtree/generated/rtree_lin_que_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::queries(bgi::linear<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_qua_add_b2d.cpp b/index/test/rtree/generated/rtree_qua_add_b2d.cpp index 2623bacae..4601697cd 100644 --- a/index/test/rtree/generated/rtree_qua_add_b2d.cpp +++ b/index/test/rtree/generated/rtree_qua_add_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_qua_add_b3d.cpp b/index/test/rtree/generated/rtree_qua_add_b3d.cpp index 314832fb4..fbcd98103 100644 --- a/index/test/rtree/generated/rtree_qua_add_b3d.cpp +++ b/index/test/rtree/generated/rtree_qua_add_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_qua_add_p2d.cpp b/index/test/rtree/generated/rtree_qua_add_p2d.cpp index 6f19d402a..c7644da8e 100644 --- a/index/test/rtree/generated/rtree_qua_add_p2d.cpp +++ b/index/test/rtree/generated/rtree_qua_add_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_qua_add_p3d.cpp b/index/test/rtree/generated/rtree_qua_add_p3d.cpp index c2f6bc8a5..17d378094 100644 --- a/index/test/rtree/generated/rtree_qua_add_p3d.cpp +++ b/index/test/rtree/generated/rtree_qua_add_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_qua_add_s2d.cpp b/index/test/rtree/generated/rtree_qua_add_s2d.cpp new file mode 100644 index 000000000..456e1039c --- /dev/null +++ b/index/test/rtree/generated/rtree_qua_add_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::additional(bgi::quadratic<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_qua_mod_b2d.cpp b/index/test/rtree/generated/rtree_qua_mod_b2d.cpp index c66720405..201c0979b 100644 --- a/index/test/rtree/generated/rtree_qua_mod_b2d.cpp +++ b/index/test/rtree/generated/rtree_qua_mod_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_qua_mod_b3d.cpp b/index/test/rtree/generated/rtree_qua_mod_b3d.cpp index 0230c9b97..0f96c8160 100644 --- a/index/test/rtree/generated/rtree_qua_mod_b3d.cpp +++ b/index/test/rtree/generated/rtree_qua_mod_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_qua_mod_p2d.cpp b/index/test/rtree/generated/rtree_qua_mod_p2d.cpp index 4c07b4bb3..5c0710bab 100644 --- a/index/test/rtree/generated/rtree_qua_mod_p2d.cpp +++ b/index/test/rtree/generated/rtree_qua_mod_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_qua_mod_p3d.cpp b/index/test/rtree/generated/rtree_qua_mod_p3d.cpp index 44779b25e..d3db906e8 100644 --- a/index/test/rtree/generated/rtree_qua_mod_p3d.cpp +++ b/index/test/rtree/generated/rtree_qua_mod_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_qua_mod_s2d.cpp b/index/test/rtree/generated/rtree_qua_mod_s2d.cpp new file mode 100644 index 000000000..efd0e0d04 --- /dev/null +++ b/index/test/rtree/generated/rtree_qua_mod_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::modifiers(bgi::quadratic<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_qua_que_b2d.cpp b/index/test/rtree/generated/rtree_qua_que_b2d.cpp index 86753b749..875cbf4f5 100644 --- a/index/test/rtree/generated/rtree_qua_que_b2d.cpp +++ b/index/test/rtree/generated/rtree_qua_que_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_qua_que_b3d.cpp b/index/test/rtree/generated/rtree_qua_que_b3d.cpp index 74dc69945..f29b08831 100644 --- a/index/test/rtree/generated/rtree_qua_que_b3d.cpp +++ b/index/test/rtree/generated/rtree_qua_que_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_qua_que_p2d.cpp b/index/test/rtree/generated/rtree_qua_que_p2d.cpp index fb4660e0e..91fd0cfee 100644 --- a/index/test/rtree/generated/rtree_qua_que_p2d.cpp +++ b/index/test/rtree/generated/rtree_qua_que_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_qua_que_p3d.cpp b/index/test/rtree/generated/rtree_qua_que_p3d.cpp index f5806c7f4..15646b04d 100644 --- a/index/test/rtree/generated/rtree_qua_que_p3d.cpp +++ b/index/test/rtree/generated/rtree_qua_que_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_qua_que_s2d.cpp b/index/test/rtree/generated/rtree_qua_que_s2d.cpp new file mode 100644 index 000000000..84ba5c6b9 --- /dev/null +++ b/index/test/rtree/generated/rtree_qua_que_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::queries(bgi::quadratic<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_rst_add_b2d.cpp b/index/test/rtree/generated/rtree_rst_add_b2d.cpp index 97fb92f47..cdce85839 100644 --- a/index/test/rtree/generated/rtree_rst_add_b2d.cpp +++ b/index/test/rtree/generated/rtree_rst_add_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_rst_add_b3d.cpp b/index/test/rtree/generated/rtree_rst_add_b3d.cpp index 7e0171b59..b8d85a034 100644 --- a/index/test/rtree/generated/rtree_rst_add_b3d.cpp +++ b/index/test/rtree/generated/rtree_rst_add_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_rst_add_p2d.cpp b/index/test/rtree/generated/rtree_rst_add_p2d.cpp index 6fb31af48..154c5ecd7 100644 --- a/index/test/rtree/generated/rtree_rst_add_p2d.cpp +++ b/index/test/rtree/generated/rtree_rst_add_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_rst_add_p3d.cpp b/index/test/rtree/generated/rtree_rst_add_p3d.cpp index b02e09fbc..f072f354d 100644 --- a/index/test/rtree/generated/rtree_rst_add_p3d.cpp +++ b/index/test/rtree/generated/rtree_rst_add_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_rst_add_s2d.cpp b/index/test/rtree/generated/rtree_rst_add_s2d.cpp new file mode 100644 index 000000000..ec2df11ca --- /dev/null +++ b/index/test/rtree/generated/rtree_rst_add_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::additional(bgi::rstar<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_rst_mod_b2d.cpp b/index/test/rtree/generated/rtree_rst_mod_b2d.cpp index 3315296e8..5d0760d36 100644 --- a/index/test/rtree/generated/rtree_rst_mod_b2d.cpp +++ b/index/test/rtree/generated/rtree_rst_mod_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_rst_mod_b3d.cpp b/index/test/rtree/generated/rtree_rst_mod_b3d.cpp index 96884543d..8ed1ca8c0 100644 --- a/index/test/rtree/generated/rtree_rst_mod_b3d.cpp +++ b/index/test/rtree/generated/rtree_rst_mod_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_rst_mod_p2d.cpp b/index/test/rtree/generated/rtree_rst_mod_p2d.cpp index c0cab5ea4..7040f93f9 100644 --- a/index/test/rtree/generated/rtree_rst_mod_p2d.cpp +++ b/index/test/rtree/generated/rtree_rst_mod_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_rst_mod_p3d.cpp b/index/test/rtree/generated/rtree_rst_mod_p3d.cpp index 5ad0fdd79..95014311d 100644 --- a/index/test/rtree/generated/rtree_rst_mod_p3d.cpp +++ b/index/test/rtree/generated/rtree_rst_mod_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_rst_mod_s2d.cpp b/index/test/rtree/generated/rtree_rst_mod_s2d.cpp new file mode 100644 index 000000000..10daa8662 --- /dev/null +++ b/index/test/rtree/generated/rtree_rst_mod_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::modifiers(bgi::rstar<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/generated/rtree_rst_que_b2d.cpp b/index/test/rtree/generated/rtree_rst_que_b2d.cpp index 2f16ef275..b7d694b08 100644 --- a/index/test/rtree/generated/rtree_rst_que_b2d.cpp +++ b/index/test/rtree/generated/rtree_rst_que_b2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_rst_que_b3d.cpp b/index/test/rtree/generated/rtree_rst_que_b3d.cpp index 1943ccc16..75f89886f 100644 --- a/index/test/rtree/generated/rtree_rst_que_b3d.cpp +++ b/index/test/rtree/generated/rtree_rst_que_b3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::box< bg::model::point > Indexable; diff --git a/index/test/rtree/generated/rtree_rst_que_p2d.cpp b/index/test/rtree/generated/rtree_rst_que_p2d.cpp index 492a20832..9345409ba 100644 --- a/index/test/rtree/generated/rtree_rst_que_p2d.cpp +++ b/index/test/rtree/generated/rtree_rst_que_p2d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_rst_que_p3d.cpp b/index/test/rtree/generated/rtree_rst_que_p3d.cpp index 5f152ecc3..51a3f4494 100644 --- a/index/test/rtree/generated/rtree_rst_que_p3d.cpp +++ b/index/test/rtree/generated/rtree_rst_que_p3d.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -9,9 +9,6 @@ #include -#include -#include - int test_main(int, char* []) { typedef bg::model::point Indexable; diff --git a/index/test/rtree/generated/rtree_rst_que_s2d.cpp b/index/test/rtree/generated/rtree_rst_que_s2d.cpp new file mode 100644 index 000000000..33fb4f52f --- /dev/null +++ b/index/test/rtree/generated/rtree_rst_que_s2d.cpp @@ -0,0 +1,17 @@ +// Boost.Geometry Index +// Unit Test + +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. + +// Use, modification and distribution is subject to 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) + +#include + +int test_main(int, char* []) +{ + typedef bg::model::segment< bg::model::point > Indexable; + testset::queries(bgi::rstar<5, 2>(), std::allocator()); + return 0; +} diff --git a/index/test/rtree/rtree_test_generator.cpp b/index/test/rtree/rtree_test_generator.cpp index 4d44fd22e..e1d76ee2f 100644 --- a/index/test/rtree/rtree_test_generator.cpp +++ b/index/test/rtree/rtree_test_generator.cpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Rtree tests generator -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -11,6 +11,7 @@ #include #include #include +#include #include int main() @@ -37,6 +38,7 @@ int main() std::vector indexables; indexables.push_back("p"); indexables.push_back("b"); + indexables.push_back("s"); typedef std::pair TS; std::vector testsets; @@ -52,6 +54,12 @@ int main() { BOOST_FOREACH(std::string const& d, dimensions) { + // If the I is Segment, generate only for 2d + if ( i == "s" && d != "2" ) + { + continue; + } + BOOST_FOREACH(CT const& c, coordinate_types) { std::string filename = std::string() + @@ -63,7 +71,7 @@ int main() "// Boost.Geometry Index\n" << "// Unit Test\n" << "\n" << - "// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland.\n" << + "// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland.\n" << "\n" << "// Use, modification and distribution is subject to the Boost Software License,\n" << "// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at\n" << @@ -72,14 +80,18 @@ int main() f << "#include \n" << - "\n" << - "#include \n" << - "#include \n" << "\n"; + std::string indexable_type; std::string point_type = std::string("bg::model::point<") + boost::get<0>(c) + ", " + d + ", bg::cs::cartesian>"; - std::string box_type = std::string("bg::model::box< ") + point_type + " >"; - std::string indexable_type = (i == "p" ? point_type : box_type); + if ( i == "p" ) + indexable_type = point_type; + else if ( i == "b" ) + indexable_type = std::string("bg::model::box< ") + point_type + " >"; + else if ( i == "s" ) + indexable_type = std::string("bg::model::segment< ") + point_type + " >"; + else + BOOST_ASSERT(false); f << "int test_main(int, char* [])\n" << diff --git a/index/test/rtree/test_rtree.hpp b/index/test/rtree/test_rtree.hpp index a7ce11c6a..554c68b34 100644 --- a/index/test/rtree/test_rtree.hpp +++ b/index/test/rtree/test_rtree.hpp @@ -1,7 +1,7 @@ // Boost.Geometry Index // Unit Test -// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2011-2014 Adam Wulkiewicz, Lodz, Poland. // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -18,6 +18,10 @@ #include +#include +#include +#include + #include #include @@ -87,6 +91,17 @@ struct value< bg::model::box< bg::model::point > > } }; +template +struct value< bg::model::segment< bg::model::point > > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + static S apply(int x, int y) + { + return S(P(x, y), P(x + 2, y + 3)); + } +}; + template struct value< std::pair, int> > { @@ -110,6 +125,18 @@ struct value< std::pair >, int> > } }; +template +struct value< std::pair >, int> > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + typedef std::pair R; + static R apply(int x, int y) + { + return std::make_pair(S(P(x, y), P(x + 2, y + 3)), x + y * 100); + } +}; + template struct value< boost::tuple, int, int> > { @@ -133,6 +160,18 @@ struct value< boost::tuple >, int, int } }; +template +struct value< boost::tuple >, int, int> > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + typedef boost::tuple R; + static R apply(int x, int y) + { + return boost::make_tuple(S(P(x, y), P(x + 2, y + 3)), x + y * 100, 0); + } +}; + template struct value< bg::model::point > { @@ -225,6 +264,18 @@ struct value< std::tuple >, int, int> } }; +template +struct value< std::tuple >, int, int> > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + typedef std::tuple R; + static R apply(int x, int y) + { + return std::make_tuple(S(P(x, y), P(x + 2, y + 3)), x + y * 100, 0); + } +}; + template struct value< std::tuple, int, int> > { @@ -333,6 +384,20 @@ struct value< boost::shared_ptr +struct value< boost::shared_ptr > > > > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + typedef test_object O; + typedef boost::shared_ptr R; + + static R apply(int x, int y) + { + return R(new O(S(P(x, y), P(x + 2, y + 3)))); + } +}; + } //namespace generate // counting value @@ -411,6 +476,15 @@ struct value< counting_value > > > static R apply(int x, int y, int z) { return R(B(P(x, y, z), P(x+2, y+3, z+4))); } }; +template +struct value< counting_value > > > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + typedef counting_value R; + static R apply(int x, int y) { return R(S(P(x, y), P(x+2, y+3))); } +}; + } // namespace generate // value without default constructor @@ -490,6 +564,15 @@ struct value< value_no_dctor > > > static R apply(int x, int y, int z) { return R(B(P(x, y, z), P(x+2, y+3, z+4))); } }; +template +struct value< value_no_dctor > > > +{ + typedef bg::model::point P; + typedef bg::model::segment

S; + typedef value_no_dctor R; + static R apply(int x, int y) { return R(S(P(x, y), P(x+2, y+3))); } +}; + // generate input template @@ -774,6 +857,14 @@ struct contains_impl {} }; +template <> +struct contains_impl +{ + template + static void apply(Rtree const& /*tree*/, std::vector const& /*input*/, Box const& /*qbox*/) + {} +}; + template void contains(Rtree const& tree, std::vector const& input, Box const& qbox) { @@ -784,24 +875,53 @@ void contains(Rtree const& tree, std::vector const& input, Box const& qbo >::apply(tree, input, qbox); } +template +struct covered_by_impl +{ + template + static void apply(Rtree const& tree, std::vector const& input, Box const& qbox) + { + std::vector expected_output; + + BOOST_FOREACH(Value const& v, input) + { + if ( bg::covered_by( + bgi::detail::return_ref_or_bounds( + tree.indexable_get()(v)), + qbox) ) + { + expected_output.push_back(v); + } + } + + spatial_query(tree, bgi::covered_by(qbox), expected_output); + + /*typedef bg::traits::point_type::type P; + bg::model::ring

qring; + bg::convert(qbox, qring); + spatial_query(tree, bgi::covered_by(qring), expected_output); + bg::model::polygon

qpoly; + bg::convert(qbox, qpoly); + spatial_query(tree, bgi::covered_by(qpoly), expected_output);*/ + } +}; + +template <> +struct covered_by_impl +{ + template + static void apply(Rtree const& /*tree*/, std::vector const& /*input*/, Box const& /*qbox*/) + {} +}; + template void covered_by(Rtree const& tree, std::vector const& input, Box const& qbox) { - std::vector expected_output; - - BOOST_FOREACH(Value const& v, input) - if ( bg::covered_by(tree.indexable_get()(v), qbox) ) - expected_output.push_back(v); - - spatial_query(tree, bgi::covered_by(qbox), expected_output); - - /*typedef bg::traits::point_type::type P; - bg::model::ring

qring; - bg::convert(qbox, qring); - spatial_query(tree, bgi::covered_by(qring), expected_output); - bg::model::polygon

qpoly; - bg::convert(qbox, qpoly); - spatial_query(tree, bgi::covered_by(qpoly), expected_output);*/ + covered_by_impl< + typename bg::tag< + typename Rtree::indexable_type + >::type + >::apply(tree, input, qbox); } template @@ -836,6 +956,14 @@ struct covers_impl {} }; +template <> +struct covers_impl +{ + template + static void apply(Rtree const& /*tree*/, std::vector const& /*input*/, Box const& /*qbox*/) + {} +}; + template void covers(Rtree const& tree, std::vector const& input, Box const& qbox) { @@ -878,6 +1006,14 @@ struct overlaps_impl {} }; +template <> +struct overlaps_impl +{ + template + static void apply(Rtree const& /*tree*/, std::vector const& /*input*/, Box const& /*qbox*/) + {} +}; + template void overlaps(Rtree const& tree, std::vector const& input, Box const& qbox) { @@ -921,24 +1057,46 @@ void overlaps(Rtree const& tree, std::vector const& input, Box const& qbo // >::apply(tree, input, qbox); //} +template +struct within_impl +{ + template + static void apply(Rtree const& tree, std::vector const& input, Box const& qbox) + { + std::vector expected_output; + + BOOST_FOREACH(Value const& v, input) + if ( bg::within(tree.indexable_get()(v), qbox) ) + expected_output.push_back(v); + + spatial_query(tree, bgi::within(qbox), expected_output); + + /*typedef bg::traits::point_type::type P; + bg::model::ring

qring; + bg::convert(qbox, qring); + spatial_query(tree, bgi::within(qring), expected_output); + bg::model::polygon

qpoly; + bg::convert(qbox, qpoly); + spatial_query(tree, bgi::within(qpoly), expected_output);*/ + } +}; + +template <> +struct within_impl +{ + template + static void apply(Rtree const& /*tree*/, std::vector const& /*input*/, Box const& /*qbox*/) + {} +}; + template void within(Rtree const& tree, std::vector const& input, Box const& qbox) { - std::vector expected_output; - - BOOST_FOREACH(Value const& v, input) - if ( bg::within(tree.indexable_get()(v), qbox) ) - expected_output.push_back(v); - - spatial_query(tree, bgi::within(qbox), expected_output); - - /*typedef bg::traits::point_type::type P; - bg::model::ring

qring; - bg::convert(qbox, qring); - spatial_query(tree, bgi::within(qring), expected_output); - bg::model::polygon

qpoly; - bg::convert(qbox, qpoly); - spatial_query(tree, bgi::within(qpoly), expected_output);*/ + within_impl< + typename bg::tag< + typename Rtree::indexable_type + >::type + >::apply(tree, input, qbox); } // rtree nearest queries @@ -982,7 +1140,7 @@ inline void compare_nearest_outputs(Rtree const& rtree, std::vector const if ( find(rtree, expected_output.begin(), expected_output.end(), v) == expected_output.end() ) { - Distance d = bgi::detail::comparable_distance_near(pt, rtree.indexable_get()(v)); + Distance d = bg::comparable_distance(pt, rtree.indexable_get()(v)); BOOST_CHECK(d == greatest_distance); } } @@ -997,7 +1155,7 @@ inline void check_sorted_by_distance(Rtree const& rtree, std::vector cons D prev_dist = 0; BOOST_FOREACH(Value const& v, output) { - D d = bgi::detail::comparable_distance_near(pt, rtree.indexable_get()(v)); + D d = bg::comparable_distance(pt, rtree.indexable_get()(v)); BOOST_CHECK(prev_dist <= d); prev_dist = d; } @@ -1016,7 +1174,7 @@ inline void nearest_query_k(Rtree const& rtree, std::vector const& input, // calculate test output - k closest values pairs BOOST_FOREACH(Value const& v, input) { - D d = bgi::detail::comparable_distance_near(pt, rtree.indexable_get()(v)); + D d = bg::comparable_distance(pt, rtree.indexable_get()(v)); if ( test_output.size() < k ) test_output.push_back(std::make_pair(d, v)); diff --git a/test/algorithms/equals.cpp b/test/algorithms/equals.cpp index da31191fe..4c972752d 100644 --- a/test/algorithms/equals.cpp +++ b/test/algorithms/equals.cpp @@ -28,6 +28,21 @@ namespace bgm = bg::model; +template +void test_segment_segment() +{ + typedef bgm::segment

seg; + + test_geometry("seg2d_1", "LINESTRING(0 0, 3 3)", "LINESTRING(0 0, 3 3)", true); + test_geometry("seg2d_1", "LINESTRING(0 0, 3 3)", "LINESTRING(3 3, 0 0)", true); + + test_geometry("seg2d_1", "LINESTRING(0 0, 3 3)", "LINESTRING(0 0, 1 1)", false); + test_geometry("seg2d_1", "LINESTRING(0 0, 3 3)", "LINESTRING(3 3, 2 2)", false); + + test_geometry("seg2d_1", "LINESTRING(0 0, 3 3)", "LINESTRING(1 1, 4 4)", false); + test_geometry("seg2d_1", "LINESTRING(0 0, 3 3)", "LINESTRING(1 0, 2 0)", false); +} + template void test_linestring_linestring() { @@ -168,6 +183,7 @@ void test_all() "POLYGON((0 0,0 3,3 3,3 0,0 0),(1 1,2 1,2 2,1 2,1 1))", "POLYGON((0 0,0 3,3 3,3 0,0 0),(2 2,1 2,1 1,2 1,2 2))", true); + test_segment_segment

(); test_linestring_linestring

(); test_linestring_multilinestring

(); test_multilinestring_multilinestring

(); diff --git a/test/string_from_type.hpp b/test/string_from_type.hpp index b564c2359..178ff2ea0 100644 --- a/test/string_from_type.hpp +++ b/test/string_from_type.hpp @@ -14,6 +14,7 @@ #ifndef GEOMETRY_TEST_STRING_FROM_TYPE_HPP #define GEOMETRY_TEST_STRING_FROM_TYPE_HPP +#include #if defined(HAVE_TTMATH) # include