$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r73027 - in sandbox-branches/geometry/index: boost/geometry/extensions/index/algorithms boost/geometry/extensions/index/rtree boost/geometry/extensions/index/rtree/linear boost/geometry/extensions/index/rtree/quadratic boost/geometry/extensions/index/rtree/rstar boost/geometry/extensions/index/rtree/visitors tests
From: adam.wulkiewicz_at_[hidden]
Date: 2011-07-12 21:27:32
Author: awulkiew
Date: 2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
New Revision: 73027
URL: http://svn.boost.org/trac/boost/changeset/73027
Log:
area-related names changed to content-related names. index::within parameters sequence corrected to match the geometry::within parameters sequence.
Added:
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/content.hpp   (contents, props changed)
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/intersection_content.hpp   (contents, props changed)
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/union_content.hpp   (contents, props changed)
Removed:
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/area.hpp
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/intersection_area.hpp
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/union_area.hpp
Text files modified: 
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/overlap.hpp                    |     4                                         
   sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/within.hpp                     |    30 ++++++------                            
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/linear/redistribute_elements.hpp    |    38 +++++++---------                        
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/options.hpp                         |     6 +-                                      
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/quadratic/redistribute_elements.hpp |    68 +++++++++++++++---------------          
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp          |    64 ++++++++++++++--------------            
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/insert.hpp                    |    13 ++---                                   
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/redistribute_elements.hpp     |    86 ++++++++++++++++++++--------------------
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rtree.hpp                           |     6 +                                       
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/find.hpp                   |     2                                         
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/insert.hpp                 |    24 +++++-----                              
   sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/remove.hpp                 |     2                                         
   sandbox-branches/geometry/index/tests/additional_sizes_and_times.cpp                                      |    22 ---------                               
   13 files changed, 170 insertions(+), 195 deletions(-)
Deleted: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/area.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/area.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
+++ (empty file)
@@ -1,86 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-//
-// Boost.SpatialIndex - n-dimensional box's area/volume
-//
-// Copyright 2011 Adam Wulkiewicz.
-// 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_EXTENSIONS_INDEX_ALGORITHMS_AREA_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_AREA_HPP
-
-namespace boost { namespace geometry { namespace index {
-
-template <typename Indexable>
-struct default_area_result
-{
-    typedef typename select_most_precise<
-        typename traits::coordinate_type<Indexable>::type,
-        long double
-    >::type type;
-};
-
-namespace detail {
-
-template <typename Box, size_t CurrentDimension>
-struct area_for_each_dimension
-{
-    BOOST_STATIC_ASSERT(0 < CurrentDimension);
-    BOOST_STATIC_ASSERT(CurrentDimension <= traits::dimension<Box>::value);
-
-    static inline typename default_area_result<Box>::type apply(Box const& b)
-    {
-        return area_for_each_dimension<Box, CurrentDimension - 1>::apply(b) *
-            ( index::get<max_corner, CurrentDimension - 1>(b) - index::get<min_corner, CurrentDimension - 1>(b) );
-    }
-};
-
-template <typename Box>
-struct area_for_each_dimension<Box, 1>
-{
-    static inline typename default_area_result<Box>::type apply(Box const& b)
-    {
-        return index::get<max_corner, 0>(b) - index::get<min_corner, 0>(b);
-    }
-};
-
-} // namespace detail
-
-namespace dispatch {
-
-template <typename Indexable, typename Tag>
-struct area
-{
-    // TODO: awulkiew - static assert?
-};
-
-template <typename Indexable>
-struct area<Indexable, point_tag>
-{
-    static typename default_area_result<Indexable>::type apply(Indexable const&)
-    {
-        return 0;
-    }
-};
-
-template <typename Indexable>
-struct area<Indexable, box_tag>
-{
-    static typename default_area_result<Indexable>::type apply(Indexable const& b)
-    {
-        return detail::area_for_each_dimension<Indexable, traits::dimension<Indexable>::value>::apply(b);
-    }
-};
-
-} // namespace dispatch
-
-template <typename Indexable>
-typename default_area_result<Indexable>::type area(Indexable const& b)
-{
-    return dispatch::area<Indexable, typename index::traits::tag<Indexable>::type>::apply(b);
-}
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_AREA_HPP
Added: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/content.hpp
==============================================================================
--- (empty file)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/content.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -0,0 +1,86 @@
+// Boost.Geometry (aka GGL, Generic Geometry Library)
+//
+// Boost.SpatialIndex - n-dimensional box's content (2d-area/3d-volume/...)
+//
+// Copyright 2011 Adam Wulkiewicz.
+// 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_EXTENSIONS_INDEX_ALGORITHMS_CONTENT_HPP
+#define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_CONTENT_HPP
+
+namespace boost { namespace geometry { namespace index {
+
+template <typename Indexable>
+struct default_content_result
+{
+    typedef typename select_most_precise<
+        typename traits::coordinate_type<Indexable>::type,
+        long double
+    >::type type;
+};
+
+namespace detail {
+
+template <typename Box, size_t CurrentDimension>
+struct content_for_each_dimension
+{
+    BOOST_STATIC_ASSERT(0 < CurrentDimension);
+    BOOST_STATIC_ASSERT(CurrentDimension <= traits::dimension<Box>::value);
+
+    static inline typename default_content_result<Box>::type apply(Box const& b)
+    {
+        return content_for_each_dimension<Box, CurrentDimension - 1>::apply(b) *
+            ( index::get<max_corner, CurrentDimension - 1>(b) - index::get<min_corner, CurrentDimension - 1>(b) );
+    }
+};
+
+template <typename Box>
+struct content_for_each_dimension<Box, 1>
+{
+    static inline typename default_area_result<Box>::type apply(Box const& b)
+    {
+        return index::get<max_corner, 0>(b) - index::get<min_corner, 0>(b);
+    }
+};
+
+} // namespace detail
+
+namespace dispatch {
+
+template <typename Indexable, typename Tag>
+struct content
+{
+    // TODO: awulkiew - static assert?
+};
+
+template <typename Indexable>
+struct content<Indexable, point_tag>
+{
+    static typename default_content_result<Indexable>::type apply(Indexable const&)
+    {
+        return 0;
+    }
+};
+
+template <typename Indexable>
+struct content<Indexable, box_tag>
+{
+    static typename default_content_result<Indexable>::type apply(Indexable const& b)
+    {
+        return detail::content_for_each_dimension<Indexable, traits::dimension<Indexable>::value>::apply(b);
+    }
+};
+
+} // namespace dispatch
+
+template <typename Indexable>
+typename default_content_result<Indexable>::type content(Indexable const& b)
+{
+    return dispatch::content<Indexable, typename index::traits::tag<Indexable>::type>::apply(b);
+}
+
+}}} // namespace boost::geometry::index
+
+#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_CONTENT_HPP
Deleted: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/intersection_area.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/intersection_area.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
+++ (empty file)
@@ -1,36 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-//
-// Boost.SpatialIndex - boxes union/intersection area/volume
-//
-// Copyright 2011 Adam Wulkiewicz.
-// 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_EXTENSIONS_INDEX_ALGORITHMS_INTERSECTION_AREA_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_INTERSECTION_AREA_HPP
-
-#include <boost/geometry/algorithms/intersection.hpp>
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
-
-namespace boost { namespace geometry { namespace index {
-
-/**
- * \brief Compute the area of the intersection of b1 and b2
- */
-template <typename Box>
-inline typename default_area_result<Box>::type intersection_area(Box const& box1, Box const& box2)
-{
-	typename default_area_result<Box>::type result = 0;
-	if ( geometry::intersects(box1, box2) )
-	{
-		Box box_intersection;
-		geometry::intersection(box1, box2, box_intersection);
-		result = index::area(box_intersection);
-	}
-	return result;
-}
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_INTERSECTION_AREA_HPP
Added: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/intersection_content.hpp
==============================================================================
--- (empty file)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/intersection_content.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -0,0 +1,36 @@
+// Boost.Geometry (aka GGL, Generic Geometry Library)
+//
+// Boost.SpatialIndex - boxes union/intersection area/volume
+//
+// Copyright 2011 Adam Wulkiewicz.
+// 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_EXTENSIONS_INDEX_ALGORITHMS_INTERSECTION_CONTENT_HPP
+#define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_INTERSECTION_CONTENT_HPP
+
+#include <boost/geometry/algorithms/intersection.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
+
+namespace boost { namespace geometry { namespace index {
+
+/**
+ * \brief Compute the area of the intersection of b1 and b2
+ */
+template <typename Box>
+inline typename default_content_result<Box>::type intersection_content(Box const& box1, Box const& box2)
+{
+	typename default_content_result<Box>::type result = 0;
+	if ( geometry::intersects(box1, box2) )
+	{
+		Box box_intersection;
+		geometry::intersection(box1, box2, box_intersection);
+		result = index::content(box_intersection);
+	}
+	return result;
+}
+
+}}} // namespace boost::geometry::index
+
+#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_INTERSECTION_CONTENT_HPP
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/overlap.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/overlap.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/overlap.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -11,7 +11,7 @@
 #define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_OVERLAP_HPP
 
 #include <boost/geometry/algorithms/intersection.hpp>
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
 
 namespace boost { namespace geometry { namespace index {
 
@@ -27,7 +27,7 @@
     Box inters;
     geometry::assign_zero(inters);
     geometry::intersection(b1, b2, inters);
-    return index::area(inters);
+    return index::content(inters);
 }
 
 }}} // namespace boost::geometry::index
Deleted: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/union_area.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/union_area.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-// Boost.Geometry (aka GGL, Generic Geometry Library)
-//
-// Boost.SpatialIndex - boxes union/sum area/volume
-//
-// Copyright 2008 Federico J. Fernandez.
-// Copyright 2011 Adam Wulkiewicz.
-// 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_EXTENSIONS_INDEX_ALGORITHMS_UNION_AREA_HPP
-#define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_UNION_AREA_HPP
-
-#include <boost/geometry/algorithms/expand.hpp>
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
-
-namespace boost { namespace geometry { namespace index {
-
-/**
- * \brief Compute the area of the union of b1 and b2
- */
-template <typename Box, typename Geometry>
-inline typename default_area_result<Box>::type union_area(Box const& b, Geometry const& g)
-{
-    Box expanded_box(b);
-    geometry::expand(expanded_box, g);
-    return index::area(expanded_box);
-}
-
-}}} // namespace boost::geometry::index
-
-#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_UNION_AREA_HPP
Added: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/union_content.hpp
==============================================================================
--- (empty file)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/union_content.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -0,0 +1,32 @@
+// Boost.Geometry (aka GGL, Generic Geometry Library)
+//
+// Boost.SpatialIndex - boxes union/sum area/volume
+//
+// Copyright 2008 Federico J. Fernandez.
+// Copyright 2011 Adam Wulkiewicz.
+// 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_EXTENSIONS_INDEX_ALGORITHMS_UNION_CONTENT_HPP
+#define BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_UNION_CONTENT_HPP
+
+#include <boost/geometry/algorithms/expand.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
+
+namespace boost { namespace geometry { namespace index {
+
+/**
+ * \brief Compute the area of the union of b1 and b2
+ */
+template <typename Box, typename Geometry>
+inline typename default_content_result<Box>::type union_content(Box const& b, Geometry const& g)
+{
+    Box expanded_box(b);
+    geometry::expand(expanded_box, g);
+    return index::content(expanded_box);
+}
+
+}}} // namespace boost::geometry::index
+
+#endif // BOOST_GEOMETRY_EXTENSIONS_INDEX_ALGORITHMS_UNION_CONTENT_HPP
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/within.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/within.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/algorithms/within.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -24,9 +24,9 @@
 struct within_compare<min_corner, DimensionIndex, Indexable, box_tag>
 {
     template <typename Box>
-    static inline bool apply(Box const& b1, Indexable const& b2)
+    static inline bool apply(Indexable const& b1, Box const& b2)
     {
-        return index::get<min_corner, DimensionIndex>(b1) <= index::get<min_corner, DimensionIndex>(b2);
+        return index::get<min_corner, DimensionIndex>(b2) <= index::get<min_corner, DimensionIndex>(b1);
     }
 };
 
@@ -34,9 +34,9 @@
 struct within_compare<max_corner, DimensionIndex, Indexable, box_tag>
 {
     template <typename Box>
-    static inline bool apply(Box const& b1, Indexable const& b2)
+    static inline bool apply(Indexable const& b1, Box const& b2)
     {
-        return index::get<max_corner, DimensionIndex>(b2) <= index::get<max_corner, DimensionIndex>(b1);
+        return index::get<max_corner, DimensionIndex>(b1) <= index::get<max_corner, DimensionIndex>(b2);
     }
 };
 
@@ -44,7 +44,7 @@
 struct within_compare<min_corner, DimensionIndex, Indexable, point_tag>
 {
     template <typename Box>
-    static inline bool apply(Box const& b, Indexable const& p)
+    static inline bool apply(Indexable const& p, Box const& b)
     {
         return index::get<min_corner, DimensionIndex>(b) <= geometry::get<DimensionIndex>(p);
     }
@@ -54,7 +54,7 @@
 struct within_compare<max_corner, DimensionIndex, Indexable, point_tag>
 {
     template <typename Box>
-    static inline bool apply(Box const& b, Indexable const& p)
+    static inline bool apply(Indexable const& p, Box const& b)
     {
         return geometry::get<DimensionIndex>(p) <= index::get<max_corner, DimensionIndex>(b);
     }
@@ -71,26 +71,26 @@
     BOOST_STATIC_ASSERT(CurrentDimension <= traits::dimension<Box>::value);
     BOOST_STATIC_ASSERT(traits::dimension<Indexable>::value == traits::dimension<Box>::value);
 
-    static inline bool apply(Box const& b, Indexable const& i)
+    static inline bool apply(Indexable const& i, Box const& b)
     {
         return
             within_for_each_dimension<
                 Box,
                 Indexable,
                 CurrentDimension - 1
-            >::apply(b, i) &&
+            >::apply(i, b) &&
             dispatch::within_compare<
                 min_corner,
                 CurrentDimension - 1,
                 Indexable,
                 typename traits::tag<Indexable>::type
-            >::apply(b, i) &&
+            >::apply(i, b) &&
             dispatch::within_compare<
                 max_corner,
                 CurrentDimension - 1,
                 Indexable,
                 typename traits::tag<Indexable>::type
-            >::apply(b, i);
+            >::apply(i, b);
     }
 };
 
@@ -100,7 +100,7 @@
     BOOST_STATIC_ASSERT(1 <= traits::dimension<Box>::value);
     BOOST_STATIC_ASSERT(traits::dimension<Indexable>::value == traits::dimension<Box>::value);
 
-    static inline bool apply(Box const& b, Indexable const& i)
+    static inline bool apply(Indexable const& i, Box const& b)
     {
         return
             dispatch::within_compare<
@@ -108,22 +108,22 @@
                 0,
                 Indexable,
                 typename traits::tag<Indexable>::type
-            >::apply(b, i) &&
+            >::apply(i, b) &&
             dispatch::within_compare<
                 max_corner,
                 0,
                 Indexable,
                 typename traits::tag<Indexable>::type
-            >::apply(b, i);
+            >::apply(i, b);
     }
 };
 
 } // namespace detail
 
 template <typename Box, typename Indexable>
-bool within(Box const& box, Indexable const& i)
+bool within(Indexable const& i, Box const& box)
 {
-    return detail::within_for_each_dimension<Box, Indexable, traits::dimension<Box>::value>::apply(box, i);
+    return detail::within_for_each_dimension<Box, Indexable, traits::dimension<Box>::value>::apply(i, box);
 }
 
 }}} // namespace boost::geometry::index
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/linear/redistribute_elements.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/linear/redistribute_elements.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/linear/redistribute_elements.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -11,12 +11,8 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_LINEAR_REDISTRIBUTE_ELEMENTS_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_LINEAR_REDISTRIBUTE_ELEMENTS_HPP
 
-#include <algorithm>
-
-#include <boost/tuple/tuple.hpp>
-
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
-#include <boost/geometry/extensions/index/algorithms/union_area.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
+#include <boost/geometry/extensions/index/algorithms/union_content.hpp>
 
 #include <boost/geometry/extensions/index/rtree/node/node.hpp>
 #include <boost/geometry/extensions/index/rtree/visitors/insert.hpp>
@@ -192,7 +188,7 @@
         typedef typename elements_type::value_type element_type;
         typedef typename rtree::element_indexable_type<element_type, Translator>::type indexable_type;
         typedef typename index::traits::coordinate_type<indexable_type>::type coordinate_type;
-        typedef typename index::default_area_result<Box>::type area_type;
+        typedef typename index::default_content_result<Box>::type content_type;
 
                 elements_type & elements1 = rtree::elements(n);
                 elements_type & elements2 = rtree::elements(second_node);
@@ -224,8 +220,8 @@
         geometry::convert(rtree::element_indexable(elements_copy[seed2], tr), box2);
 
         // initialize areas
-        area_type area1 = index::area(box1);
-        area_type area2 = index::area(box2);
+        content_type content1 = index::content(box1);
+        content_type content2 = index::content(box2);
 
         BOOST_STATIC_ASSERT(2 <= elements1_count);
         size_t remaining = elements1_count - 2;
@@ -244,13 +240,13 @@
                 {
                     elements1.push_back(elem);
                     geometry::expand(box1, indexable);
-                    area1 = index::area(box1);
+                    content1 = index::content(box1);
                 }
                 else if ( elements2.size() + remaining <= parameters_type::min_elements )
                 {
                     elements2.push_back(elem);
                     geometry::expand(box2, indexable);
-                    area2 = index::area(box2);
+                    content2 = index::content(box2);
                 }
                 // choose better node and insert element
                 else
@@ -260,26 +256,26 @@
                     Box enlarged_box2(box2);
                     geometry::expand(enlarged_box1, indexable);
                     geometry::expand(enlarged_box2, indexable);
-                    area_type enlarged_area1 = index::area(enlarged_box1);
-                    area_type enlarged_area2 = index::area(enlarged_box2);
+                    content_type enlarged_content1 = index::content(enlarged_box1);
+                    content_type enlarged_content2 = index::content(enlarged_box2);
 
-                    area_type area_increase1 = enlarged_area1 - area1;
-                    area_type area_increase2 = enlarged_area2 - area2;
+                    content_type content_increase1 = enlarged_content1 - content1;
+                    content_type content_increase2 = enlarged_content2 - content2;
 
-                    // choose group which box area have to be enlarged least or has smaller area or has fewer elements
-                    if ( area_increase1 < area_increase2 ||
-                         ( area_increase1 == area_increase2 && area1 < area2 ) ||
-                         ( area1 == area2 && elements1.size() <= elements2.size() ) )
+                    // choose group which box content have to be enlarged least or has smaller content or has fewer elements
+                    if ( content_increase1 < content_increase2 ||
+                         ( content_increase1 == content_increase2 && content1 < content2 ) ||
+                         ( content1 == content2 && elements1.size() <= elements2.size() ) )
                     {
                         elements1.push_back(elem);
                         box1 = enlarged_box1;
-                        area1 = enlarged_area1;
+                        content1 = enlarged_content1;
                     }
                     else
                     {
                         elements2.push_back(elem);
                         box2 = enlarged_box2;
-                        area2 = enlarged_area2;
+                        content2 = enlarged_content2;
                     }
                 }
                 
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/options.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/options.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/options.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -17,7 +17,7 @@
 struct reinsert_tag {};
 
 // ChooseNextNodeTag
-struct choose_by_area_diff_tag {};
+struct choose_by_content_diff_tag {};
 struct choose_by_overlap_diff_tag {};
 
 // RedistributeTag
@@ -113,7 +113,7 @@
         typedef options::rtree<
                 linear<MaxElements, MinElements>,
                 insert_tag,
-		choose_by_area_diff_tag,
+		choose_by_content_diff_tag,
                 linear_tag,
                 default_tag
 	> type;
@@ -125,7 +125,7 @@
         typedef options::rtree<
                 quadratic<MaxElements, MinElements>,
                 insert_tag,
-		choose_by_area_diff_tag,
+		choose_by_content_diff_tag,
                 quadratic_tag,
                 default_tag
 	> type;
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/quadratic/redistribute_elements.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/quadratic/redistribute_elements.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/quadratic/redistribute_elements.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -12,8 +12,8 @@
 
 #include <algorithm>
 
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
-#include <boost/geometry/extensions/index/algorithms/union_area.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
+#include <boost/geometry/extensions/index/algorithms/union_content.hpp>
 
 #include <boost/geometry/extensions/index/rtree/node/node.hpp>
 #include <boost/geometry/extensions/index/rtree/visitors/insert.hpp>
@@ -34,7 +34,7 @@
     typedef typename rtree::element_indexable_type<element_type, Translator>::type indexable_type;
     typedef typename index::traits::coordinate_type<indexable_type>::type coordinate_type;
     typedef Box box_type;
-    typedef typename index::default_area_result<box_type>::type area_type;
+    typedef typename index::default_content_result<box_type>::type content_type;
 
     static inline void apply(Elements const& elements,
                              Translator const& tr,
@@ -45,7 +45,7 @@
                 BOOST_GEOMETRY_INDEX_ASSERT(elements.size() == elements_count, "wrong number of elements");
                 BOOST_STATIC_ASSERT(2 <= elements_count);
 
-        area_type greatest_free_area = 0;
+        content_type greatest_free_content = 0;
         seed1 = 0;
         seed2 = 1;
 
@@ -60,11 +60,11 @@
                 geometry::convert(ind1, enlarged_box);
                 geometry::expand(enlarged_box, ind2);
 
-                area_type free_area = index::area(enlarged_box) - index::area(ind1) - index::area(ind2);
+                content_type free_content = (index::content(enlarged_box) - index::content(ind1)) - index::content(ind2);
                 
-                if ( greatest_free_area < free_area )
+                if ( greatest_free_content < free_content )
                 {
-                    greatest_free_area = free_area;
+                    greatest_free_content = free_content;
                     seed1 = i;
                     seed2 = j;
                 }
@@ -84,7 +84,7 @@
     typedef typename rtree::internal_node<Value, parameters_type, Box, typename Options::node_tag>::type internal_node;
     typedef typename rtree::leaf<Value, parameters_type, Box, typename Options::node_tag>::type leaf;
 
-    typedef typename index::default_area_result<Box>::type area_type;
+    typedef typename index::default_content_result<Box>::type content_type;
 
     template <typename Node>
     static inline void apply(Node & n,
@@ -140,8 +140,8 @@
         }
 
         // initialize areas
-        area_type area1 = index::area(box1);
-        area_type area2 = index::area(box2);
+        content_type content1 = index::content(box1);
+        content_type content2 = index::content(box2);
 
         size_t remaining = elements_copy.size();
 
@@ -168,15 +168,15 @@
             else
             {
                 // find element with minimum groups areas increses differences
-                area_type area_increase1 = 0;
-                area_type area_increase2 = 0;
+                content_type content_increase1 = 0;
+                content_type content_increase2 = 0;
                 el_it = pick_next(elements_copy.rbegin(), elements_copy.rend(),
-                                  box1, box2, area1, area2, tr,
-                                  area_increase1, area_increase2);
+                                  box1, box2, content1, content2, tr,
+                                  content_increase1, content_increase2);
 
-                if ( area_increase1 < area_increase2 ||
-                     ( area_increase1 == area_increase2 && area1 < area2 ) ||
-                     ( area1 == area2 && elements1_count <= elements2_count ) )
+                if ( content_increase1 < content_increase2 ||
+                     ( content_increase1 == content_increase2 && content1 < content2 ) ||
+                     ( content1 == content2 && elements1_count <= elements2_count ) )
                 {
                     insert_into_group1 = true;
                 }
@@ -194,13 +194,13 @@
             {
                 elements1.push_back(elem);
                 geometry::expand(box1, indexable);
-                area1 = index::area(box1);
+                content1 = index::content(box1);
             }
             else
             {
                 elements2.push_back(elem);
                 geometry::expand(box2, indexable);
-                area2 = index::area(box2);
+                content2 = index::content(box2);
             }
 
                         BOOST_GEOMETRY_INDEX_ASSERT(!elements_copy.empty(), "expected more elements");
@@ -217,17 +217,17 @@
     template <typename It>
     static inline It pick_next(It first, It last,
                                Box const& box1, Box const& box2,
-                               area_type const& area1, area_type const& area2,
+                               content_type const& content1, content_type const& content2,
                                Translator const& tr,
-                               area_type & out_area_increase1, area_type & out_area_increase2)
+                               content_type & out_content_increase1, content_type & out_content_increase2)
     {
         typedef typename boost::iterator_value<It>::type element_type;
         typedef typename rtree::element_indexable_type<element_type, Translator>::type indexable_type;
 
-        area_type greatest_area_incrase_diff = 0;
+        content_type greatest_content_incrase_diff = 0;
         It out_it = first;
-        out_area_increase1 = 0;
-        out_area_increase2 = 0;
+        out_content_increase1 = 0;
+        out_content_increase2 = 0;
         
         // find element with greatest difference between increased group's boxes areas
         for ( It el_it = first ; el_it != last ; ++el_it )
@@ -239,21 +239,21 @@
             Box enlarged_box2(box2);
             geometry::expand(enlarged_box1, indexable);
             geometry::expand(enlarged_box2, indexable);
-            area_type enlarged_area1 = index::area(enlarged_box1);
-            area_type enlarged_area2 = index::area(enlarged_box2);
+            content_type enlarged_content1 = index::content(enlarged_box1);
+            content_type enlarged_content2 = index::content(enlarged_box2);
 
-            area_type area_incrase1 = (enlarged_area1 - area1);
-            area_type area_incrase2 = (enlarged_area2 - area2);
+            content_type content_incrase1 = (enlarged_content1 - content1);
+            content_type content_incrase2 = (enlarged_content2 - content2);
 
-            area_type area_incrase_diff = area_incrase1 < area_incrase2 ?
-                area_incrase2 - area_incrase1 : area_incrase1 - area_incrase2;
+            content_type content_incrase_diff = content_incrase1 < content_incrase2 ?
+                content_incrase2 - content_incrase1 : content_incrase1 - content_incrase2;
 
-            if ( greatest_area_incrase_diff < area_incrase_diff )
+            if ( greatest_content_incrase_diff < content_incrase_diff )
             {
-                greatest_area_incrase_diff = area_incrase_diff;
+                greatest_content_incrase_diff = content_incrase_diff;
                 out_it = el_it;
-                out_area_increase1 = area_incrase1;
-                out_area_increase2 = area_incrase2;
+                out_content_increase1 = content_incrase1;
+                out_content_increase2 = content_incrase2;
             }
         }
 
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/choose_next_node.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -14,9 +14,9 @@
 
 #include <boost/geometry/algorithms/expand.hpp>
 
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
 #include <boost/geometry/extensions/index/algorithms/overlap.hpp>
-#include <boost/geometry/extensions/index/algorithms/union_area.hpp>
+#include <boost/geometry/extensions/index/algorithms/union_content.hpp>
 
 #include <boost/geometry/extensions/index/rtree/node/node.hpp>
 #include <boost/geometry/extensions/index/rtree/visitors/is_leaf.hpp>
@@ -39,7 +39,7 @@
 
         typedef typename Options::parameters_type parameters_type;
 
-    typedef typename index::default_area_result<Box>::type area_type;
+    typedef typename index::default_content_result<Box>::type content_type;
     typedef typename index::default_overlap_result<Box>::type overlap_type;
 
 public:
@@ -59,7 +59,7 @@
                 }
         // children are internal nodes
         else
-            return choose_by_minimum_area_cost(children, indexable);
+            return choose_by_minimum_content_cost(children, indexable);
     }
 
 private:
@@ -68,11 +68,11 @@
     {
         size_t children_count = children.size();
 
-        // choose index with smallest overlap change value, or area change or smallest area
+        // choose index with smallest overlap change value, or content change or smallest content
         size_t choosen_index = 0;
         overlap_type smallest_overlap_diff = std::numeric_limits<overlap_type>::max();
-        area_type smallest_area_diff = std::numeric_limits<area_type>::max();
-        area_type smallest_area = std::numeric_limits<area_type>::max();
+        content_type smallest_content_diff = std::numeric_limits<content_type>::max();
+        content_type smallest_content = std::numeric_limits<content_type>::max();
 
         // for each child node
         for (size_t i = 0 ; i < children_count ; ++i )
@@ -83,9 +83,9 @@
             // calculate expanded box of child node ch_i
             geometry::expand(box_exp, indexable);
 
-            // calculate area and area diff
-            area_type area = index::area(ch_i.first);
-            area_type area_diff = index::area(box_exp) - area;
+            // calculate content and content diff
+            content_type content = index::content(ch_i.first);
+            content_type content_diff = index::content(box_exp) - content;
 
             overlap_type overlap = 0;
             overlap_type overlap_exp = 0;
@@ -106,12 +106,12 @@
 
             // update result
             if ( overlap_diff < smallest_overlap_diff ||
-                 ( overlap_diff == smallest_overlap_diff && area_diff < smallest_area_diff ) ||
-                 ( area_diff == smallest_area_diff && area < smallest_area ) )
+                 ( overlap_diff == smallest_overlap_diff && content_diff < smallest_content_diff ) ||
+                 ( content_diff == smallest_content_diff && content < smallest_content ) )
             {
                 smallest_overlap_diff = overlap_diff;
-                smallest_area_diff = area_diff;
-                smallest_area = area;
+                smallest_content_diff = content_diff;
+                smallest_content = content;
                 choosen_index = i;
             }
         }
@@ -124,8 +124,8 @@
         {
                 const size_t children_count = children.size();
 
-		// create container of children sorted by area enlargement needed to include the new value
-		std::vector< boost::tuple<size_t, area_type, area_type> > sorted_children(children_count);
+		// create container of children sorted by content enlargement needed to include the new value
+		std::vector< boost::tuple<size_t, content_type, content_type> > sorted_children(children_count);
                 for ( size_t i = 0 ; i < children_count ; ++i )
                 {
                         child_type const& ch_i = children[i];
@@ -135,14 +135,14 @@
                         geometry::expand(box_exp, indexable);
 
                         // areas difference
-			area_type area = index::area(box_exp);
-			area_type area_diff = area - index::area(ch_i.first);
+			content_type content = index::content(box_exp);
+			content_type content_diff = content - index::content(ch_i.first);
 
-			sorted_children[i] = boost::make_tuple(i, area_diff, area);
+			sorted_children[i] = boost::make_tuple(i, content_diff, content);
                 }
 
-		// sort by area_diff
-		std::sort(sorted_children.begin(), sorted_children.end(), area_diff_less);
+		// sort by content_diff
+		std::sort(sorted_children.begin(), sorted_children.end(), content_diff_less);
 
                 BOOST_GEOMETRY_INDEX_ASSERT(parameters_type::overlap_cost_threshold <= children_count, "there are not enough children");
 
@@ -190,21 +190,21 @@
                 return choosen_index;
         }
 
-	static inline bool area_diff_less(boost::tuple<size_t, area_type, area_type> const& p1, boost::tuple<size_t, area_type, area_type> const& p2)
+	static inline bool content_diff_less(boost::tuple<size_t, content_type, content_type> const& p1, boost::tuple<size_t, content_type, content_type> const& p2)
         {
                 return boost::get<1>(p1) < boost::get<1>(p2) ||
                            (boost::get<1>(p1) == boost::get<1>(p2) && boost::get<2>(p1) < boost::get<2>(p2));
         }
 
         template <typename Indexable>
-    static inline size_t choose_by_minimum_area_cost(children_type const& children, Indexable const& indexable)
+    static inline size_t choose_by_minimum_content_cost(children_type const& children, Indexable const& indexable)
     {
         size_t children_count = children.size();
 
-        // choose index with smallest area change or smallest area
+        // choose index with smallest content change or smallest content
         size_t choosen_index = 0;
-        area_type smallest_area_diff = std::numeric_limits<area_type>::max();
-        area_type smallest_area = std::numeric_limits<area_type>::max();
+        content_type smallest_content_diff = std::numeric_limits<content_type>::max();
+        content_type smallest_content = std::numeric_limits<content_type>::max();
 
         // choose the child which requires smallest box expansion to store the indexable
         for ( size_t i = 0 ; i < children_count ; ++i )
@@ -216,15 +216,15 @@
             geometry::expand(box_exp, indexable);
 
             // areas difference
-            area_type area = index::area(box_exp);
-            area_type area_diff = area - index::area(ch_i.first);
+            content_type content = index::content(box_exp);
+            content_type content_diff = content - index::content(ch_i.first);
 
             // update the result
-            if ( area_diff < smallest_area_diff ||
-                ( area_diff == smallest_area_diff && area < smallest_area ) )
+            if ( content_diff < smallest_content_diff ||
+                ( content_diff == smallest_content_diff && content < smallest_content ) )
             {
-                smallest_area_diff = area_diff;
-                smallest_area = area;
+                smallest_content_diff = content_diff;
+                smallest_content = content;
                 choosen_index = i;
             }
         }
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/insert.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/insert.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/insert.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -10,10 +10,7 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_INSERT_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RSTAR_INSERT_HPP
 
-#include <boost/geometry/algorithms/centroid.hpp>
-
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
-#include <boost/geometry/extensions/index/algorithms/distance_sqr.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
 
 namespace boost { namespace geometry { namespace index {
 
@@ -44,7 +41,7 @@
         typedef typename elements_type::value_type element_type;
         typedef typename geometry::point_type<Box>::type point_type;
         // TODO: awulkiew - change second point_type to the point type of the Indexable?
-        typedef typename index::default_distance_sqr_result<point_type, point_type>::type distance_sqr_type;
+        typedef typename geometry::default_distance_result<point_type>::type distance_type;
 
                 elements_type & elements = rtree::elements(n);
 
@@ -60,13 +57,13 @@
         geometry::centroid(rtree::elements(*parent)[current_child_index].first, node_center);
 
         // fill the container of centers' distances of children from current node's center
-		boost::array<std::pair<distance_sqr_type, element_type>, elements_count> sorted_elements;
+		boost::array<std::pair<distance_type, element_type>, elements_count> sorted_elements;
                 for ( size_t i = 0 ; i < elements_count ; ++i )
         {
             point_type element_center;
             geometry::centroid( rtree::element_indexable(elements[i], tr),
                 element_center);
-            sorted_elements[i].first = index::distance_sqr(node_center, element_center);
+            sorted_elements[i].first = geometry::comparable_distance(node_center, element_center);
             sorted_elements[i].second = elements[i];
         }
 
@@ -75,7 +72,7 @@
             sorted_elements.begin(),
             sorted_elements.begin() + reinserted_elements_count,
             sorted_elements.end(),
-            distances_dsc<distance_sqr_type, element_type>);
+            distances_dsc<distance_type, element_type>);
 
         // copy elements which will be reinserted
         result_elements.resize(reinserted_elements_count);
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/redistribute_elements.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/redistribute_elements.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rstar/redistribute_elements.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -12,8 +12,8 @@
 
 #include <algorithm>
 
-#include <boost/geometry/extensions/index/algorithms/intersection_area.hpp>
-#include <boost/geometry/extensions/index/algorithms/union_area.hpp>
+#include <boost/geometry/extensions/index/algorithms/intersection_content.hpp>
+#include <boost/geometry/extensions/index/algorithms/union_content.hpp>
 #include <boost/geometry/extensions/index/algorithms/margin.hpp>
 
 #include <boost/geometry/algorithms/intersection.hpp>
@@ -52,14 +52,14 @@
 struct choose_split_axis_and_index_for_corner
 {
         typedef typename index::default_margin_result<Box>::type margin_type;
-	typedef typename index::default_area_result<Box>::type area_type;
+	typedef typename index::default_content_result<Box>::type content_type;
 
         template <typename Elements, typename Translator>
         static inline void apply(Elements const& elements,
                                                      size_t & choosen_index,
                                                          margin_type & sum_of_margins,
-							 area_type & smallest_overlap,
-							 area_type & smallest_area,
+							 content_type & smallest_overlap,
+							 content_type & smallest_content,
                                                          Translator const& tr)
         {
                 typedef typename Elements::value_type element_type;
@@ -77,8 +77,8 @@
                 // init outputs
                 choosen_index = Parameters::min_elements;
                 sum_of_margins = 0;
-		smallest_overlap = std::numeric_limits<area_type>::max();
-		smallest_area = std::numeric_limits<area_type>::max();
+		smallest_overlap = std::numeric_limits<content_type>::max();
+		smallest_content = std::numeric_limits<content_type>::max();
 
                 // calculate sum of margins for all distributions
                 size_t index_last = Parameters::max_elements - Parameters::min_elements + 2;
@@ -92,14 +92,14 @@
                         
                         sum_of_margins += index::margin(box1) + index::margin(box2);
 
-			area_type ovl = index::intersection_area(box1, box2);
-			area_type ar = index::area(box1) + index::area(box2);
+			content_type ovl = index::intersection_content(box1, box2);
+			content_type con = index::content(box1) + index::content(box2);
 
-			if ( ovl < smallest_overlap || (ovl == smallest_overlap && ar <= smallest_area) )
+			if ( ovl < smallest_overlap || (ovl == smallest_overlap && con <= smallest_content) )
                         {
                                 choosen_index = i;
                                 smallest_overlap = ovl;
-				smallest_area = ar;
+				smallest_content = con;
                         }				
                 }
         }
@@ -115,52 +115,52 @@
 struct choose_split_axis_and_index_for_axis<Parameters, Box, AxisIndex, box_tag>
 {
         typedef typename index::default_margin_result<Box>::type margin_type;
-	typedef typename index::default_area_result<Box>::type area_type;
+	typedef typename index::default_content_result<Box>::type content_type;
 
         template <typename Elements, typename Translator>
         static inline void apply(Elements const& elements,
                                                          size_t & choosen_corner,
                                                          size_t & choosen_index,
                                                          margin_type & sum_of_margins,
-							 area_type & smallest_overlap,
-							 area_type & smallest_area,
+							 content_type & smallest_overlap,
+							 content_type & smallest_content,
                                                          Translator const& tr)
         {
                 size_t index1 = 0;
                 margin_type som1 = 0;
-		area_type ovl1 = std::numeric_limits<area_type>::max();
-		area_type ar1 = std::numeric_limits<area_type>::max();
+		content_type ovl1 = std::numeric_limits<content_type>::max();
+		content_type con1 = std::numeric_limits<content_type>::max();
 
                 choose_split_axis_and_index_for_corner<Parameters, Box, min_corner, AxisIndex>::
                         apply(elements, index1,
-				  som1, ovl1, ar1,
+				  som1, ovl1, con1,
                                   tr);
 
                 size_t index2 = 0;
                 margin_type som2 = 0;
-		area_type ovl2 = std::numeric_limits<area_type>::max();
-		area_type ar2 = std::numeric_limits<area_type>::max();
+		content_type ovl2 = std::numeric_limits<content_type>::max();
+		content_type con2 = std::numeric_limits<content_type>::max();
 
                 choose_split_axis_and_index_for_corner<Parameters, Box, max_corner, AxisIndex>::
                         apply(elements, index2,
-				  som2, ovl2, ar2,
+				  som2, ovl2, con2,
                                   tr);
 
                 sum_of_margins = som1 + som2;
 
-		if ( ovl1 < ovl2 || (ovl1 == ovl2 && ar1 <= ar2) )
+		if ( ovl1 < ovl2 || (ovl1 == ovl2 && con1 <= con2) )
                 {
                         choosen_corner = min_corner;
                         choosen_index = index1;
                         smallest_overlap = ovl1;
-			smallest_area = ar1;
+			smallest_content = con1;
                 }
                 else
                 {
                         choosen_corner = max_corner;
                         choosen_index = index2;
                         smallest_overlap = ovl2;
-			smallest_area = ar2;
+			smallest_content = con2;
                 }
         }
 };
@@ -169,20 +169,20 @@
 struct choose_split_axis_and_index_for_axis<Parameters, Box, AxisIndex, point_tag>
 {
         typedef typename index::default_margin_result<Box>::type margin_type;
-	typedef typename index::default_area_result<Box>::type area_type;
+	typedef typename index::default_content_result<Box>::type content_type;
 
         template <typename Elements, typename Translator>
         static inline void apply(Elements const& elements,
                                                          size_t & choosen_corner,
                                                          size_t & choosen_index,
                                                          margin_type & sum_of_margins,
-							 area_type & smallest_overlap,
-							 area_type & smallest_area,
+							 content_type & smallest_overlap,
+							 content_type & smallest_content,
                                                          Translator const& tr)
         {
                 choose_split_axis_and_index_for_corner<Parameters, Box, min_corner, AxisIndex>::
                         apply(elements, choosen_index,
-				  sum_of_margins, smallest_overlap, smallest_area,
+				  sum_of_margins, smallest_overlap, smallest_content,
                                   tr);
 
                 choosen_corner = min_corner;
@@ -195,7 +195,7 @@
         BOOST_STATIC_ASSERT(0 < Dimension);
 
         typedef typename index::default_margin_result<Box>::type margin_type;
-	typedef typename index::default_area_result<Box>::type area_type;
+	typedef typename index::default_content_result<Box>::type content_type;
 
         template <typename Elements, typename Translator>
         static inline void apply(Elements const& elements,
@@ -203,15 +203,15 @@
                                                          size_t & choosen_corner,
                                                          size_t & choosen_index,
                                                          margin_type & smallest_sum_of_margins,
-							 area_type & smallest_overlap,
-							 area_type & smallest_area,
+							 content_type & smallest_overlap,
+							 content_type & smallest_content,
                                                          Translator const& tr)
         {
                 typedef typename rtree::element_indexable_type<typename Elements::value_type, Translator>::type element_indexable_type;
 
                 choose_split_axis_and_index<Parameters, Box, Dimension - 1>::
                         apply(elements, choosen_axis, choosen_corner, choosen_index,
-				  smallest_sum_of_margins, smallest_overlap, smallest_area,
+				  smallest_sum_of_margins, smallest_overlap, smallest_content,
                                   tr);
 
                 margin_type sum_of_margins = 0;
@@ -219,15 +219,15 @@
                 size_t corner = min_corner;
                 size_t index = 0;
 
-		area_type overlap_val = std::numeric_limits<area_type>::max();
-		area_type area_val = std::numeric_limits<area_type>::max();
+		content_type overlap_val = std::numeric_limits<content_type>::max();
+		content_type content_val = std::numeric_limits<content_type>::max();
 
                 choose_split_axis_and_index_for_axis<
                         Parameters,
                         Box,
                         Dimension - 1,
                         typename index::traits::tag<element_indexable_type>::type
-		>::apply(elements, corner, index, sum_of_margins, overlap_val, area_val, tr);
+		>::apply(elements, corner, index, sum_of_margins, overlap_val, content_val, tr);
 
                 if ( sum_of_margins < smallest_sum_of_margins )
                 {
@@ -236,7 +236,7 @@
                         choosen_index = index;
                         smallest_sum_of_margins = sum_of_margins;
                         smallest_overlap = overlap_val;
-			smallest_area = area_val;
+			smallest_content = content_val;
                 }
         }
 };
@@ -245,7 +245,7 @@
 struct choose_split_axis_and_index<Parameters, Box, 1>
 {
         typedef typename index::default_margin_result<Box>::type margin_type;
-	typedef typename index::default_area_result<Box>::type area_type;
+	typedef typename index::default_content_result<Box>::type content_type;
 
         template <typename Elements, typename Translator>
         static inline void apply(Elements const& elements,
@@ -253,8 +253,8 @@
                                                          size_t & choosen_corner,
                                                          size_t & choosen_index,
                                                          margin_type & smallest_sum_of_margins,
-							 area_type & smallest_overlap,
-							 area_type & smallest_area,
+							 content_type & smallest_overlap,
+							 content_type & smallest_content,
                                                          Translator const& tr)
         {
                 typedef typename rtree::element_indexable_type<typename Elements::value_type, Translator>::type element_indexable_type;
@@ -266,7 +266,7 @@
                         Box,
                         0,
                         typename index::traits::tag<element_indexable_type>::type
-		>::apply(elements, choosen_corner, choosen_index, smallest_sum_of_margins, smallest_overlap, smallest_area, tr);
+		>::apply(elements, choosen_corner, choosen_index, smallest_sum_of_margins, smallest_overlap, smallest_content, tr);
         }
 };
 
@@ -321,7 +321,7 @@
         static const size_t dimension = index::traits::dimension<Box>::value;
 
         typedef typename index::default_margin_result<Box>::type margin_type;
-    typedef typename index::default_area_result<Box>::type area_type;
+    typedef typename index::default_content_result<Box>::type content_type;
 
     template <typename Node>
     static inline void apply(
@@ -340,13 +340,13 @@
                 size_t split_corner = 0;
                 size_t split_index = parameters_type::min_elements;
                 margin_type smallest_sum_of_margins = std::numeric_limits<margin_type>::max();
-		area_type smallest_overlap = std::numeric_limits<area_type>::max();
-		area_type smallest_area = std::numeric_limits<area_type>::max();
+		content_type smallest_overlap = std::numeric_limits<content_type>::max();
+		content_type smallest_content = std::numeric_limits<content_type>::max();
 
                 rstar::choose_split_axis_and_index<typename Options::parameters_type, Box, index::traits::dimension<Box>::value>::
                         apply(elements1,
                                   split_axis, split_corner, split_index,
-				  smallest_sum_of_margins, smallest_overlap, smallest_area,
+				  smallest_sum_of_margins, smallest_overlap, smallest_content,
                                   tr);
 
                 // TODO: awulkiew - get rid of following static_casts?
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rtree.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rtree.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/rtree.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -11,8 +11,10 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_RTREE_HPP
 
-#include <boost/geometry/geometries/point.hpp>
-#include <boost/geometry/geometries/box.hpp>
+#include <algorithm>
+#include <boost/tuple/tuple.hpp>
+
+#include <boost/geometry/geometry.hpp>
 
 #include <boost/geometry/extensions/index/assert.hpp>
 
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/find.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/find.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/find.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -10,8 +10,6 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_FIND_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_FIND_HPP
 
-#include <boost/geometry/algorithms/intersects.hpp>
-
 #include <boost/geometry/extensions/index/rtree/node/node.hpp>
 
 //#include <boost/geometry/extensions/index/rtree/visitors/is_leaf.hpp>
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/insert.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/insert.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/insert.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -10,7 +10,7 @@
 #ifndef BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_INSERT_HPP
 #define BOOST_GEOMETRY_EXTENSIONS_INDEX_RTREE_VISITORS_INSERT_HPP
 
-#include <boost/geometry/extensions/index/algorithms/area.hpp>
+#include <boost/geometry/extensions/index/algorithms/content.hpp>
 
 #include <boost/geometry/extensions/index/rtree/node/node.hpp>
 
@@ -25,7 +25,7 @@
 struct choose_next_node;
 
 template <typename Value, typename Options, typename Box>
-struct choose_next_node<Value, Options, Box, choose_by_area_diff_tag>
+struct choose_next_node<Value, Options, Box, choose_by_content_diff_tag>
 {
     typedef typename rtree::node<Value, typename Options::parameters_type, Box, typename Options::node_tag>::type node;
     typedef typename rtree::internal_node<Value, typename Options::parameters_type, Box, typename Options::node_tag>::type internal_node;
@@ -33,7 +33,7 @@
 
     typedef typename rtree::elements_type<internal_node>::type children_type;
 
-    typedef typename index::default_area_result<Box>::type area_type;
+    typedef typename index::default_content_result<Box>::type content_type;
 
     template <typename Indexable>
     static inline size_t apply(internal_node & n, Indexable const& indexable, size_t /*node_relative_level*/)
@@ -44,10 +44,10 @@
 
         size_t children_count = children.size();
 
-        // choose index with smallest area change or smallest area
+        // choose index with smallest content change or smallest content
         size_t choosen_index = 0;
-        area_type smallest_area_diff = std::numeric_limits<area_type>::max();
-        area_type smallest_area = std::numeric_limits<area_type>::max();
+        content_type smallest_content_diff = std::numeric_limits<content_type>::max();
+        content_type smallest_content = std::numeric_limits<content_type>::max();
 
         // caculate areas and areas of all nodes' boxes
         for ( size_t i = 0 ; i < children_count ; ++i )
@@ -60,15 +60,15 @@
             geometry::expand(box_exp, indexable);
 
             // areas difference
-            area_type area = index::area(box_exp);
-            area_type area_diff = area - index::area(ch_i.first);
+            content_type content = index::content(box_exp);
+            content_type content_diff = content - index::content(ch_i.first);
 
             // update the result
-            if ( area_diff < smallest_area_diff ||
-                ( area_diff == smallest_area_diff && area < smallest_area ) )
+            if ( content_diff < smallest_content_diff ||
+                ( content_diff == smallest_content_diff && content < smallest_content ) )
             {
-                smallest_area_diff = area_diff;
-                smallest_area = area;
+                smallest_content_diff = content_diff;
+                smallest_content = content;
                 choosen_index = i;
             }
         }
Modified: sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/remove.hpp
==============================================================================
--- sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/remove.hpp	(original)
+++ sandbox-branches/geometry/index/boost/geometry/extensions/index/rtree/visitors/remove.hpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -58,7 +58,7 @@
         size_t child_node_index = 0;
         for ( ; child_node_index < children.size() ; ++child_node_index )
         {
-            if ( index::within(children[child_node_index].first, m_tr(m_value)) )
+            if ( index::within(m_tr(m_value), children[child_node_index].first) )
             {
                 // next traversing step
                 traverse_apply_visitor(n, child_node_index);
Modified: sandbox-branches/geometry/index/tests/additional_sizes_and_times.cpp
==============================================================================
--- sandbox-branches/geometry/index/tests/additional_sizes_and_times.cpp	(original)
+++ sandbox-branches/geometry/index/tests/additional_sizes_and_times.cpp	2011-07-12 21:27:30 EDT (Tue, 12 Jul 2011)
@@ -26,7 +26,8 @@
     namespace bg = boost::geometry;
     namespace bgi = bg::index;
 
-    typedef bg::model::point<float, 2, bg::cs::cartesian> P;
+	//typedef bg::model::d2::point_xy<double> P;
+    typedef bg::model::point<double, 2, bg::cs::cartesian> P;
     typedef bg::model::box<P> B;
     //typedef bgi::rtree<std::pair<B, size_t>, bgi::linear<32, 8> > RT;
     //typedef bgi::rtree<std::pair<B, size_t>, bgi::quadratic<32, 8> > RT;
@@ -121,25 +122,6 @@
             float y = coords[i].second;
             B b(P(x - 0.5f, y - 0.5f), P(x + 0.5f, y + 0.5f));
 
-            //if ( 341700 <= i )
-            //    std::cout << i << "\n";
-
-            // Czy mozliwe, ze w czasie powtornego reinserta
-            // nagle drzewo sie powieksza o jeden poziom?
-            // Tak, drzewo sie rozrasta, powinno sie wstawiac w poziomie liczac od lisci
-            // TODO: relative_level zamiast level
-
-            // TODO: asserty w operator(leaf)
-            // current_level == leaf_level
-
-            // Swoja droga to dziwne ze przy drzewie 4,2 
-            // dzieje sie to samo dopiero dla obiektow o indeksie 300k a nie wczesniej
-            // Dlaczego?
-            // Przy 32 obiektach powtornie wstawianych jest 9 a przy 4 tylko 1
-
-			// TODO: Zrobic kolejnego visitora sprawdzajacego czy odpowiednie wezly zostaly wstawione w dobrym miejscu
-			// Np sprawdzajacego czy wszystkie liscie sa na tym samym poziomie
-
             t.insert(std::make_pair(b, i));
         }
         std::cout << "time: " << tim.elapsed() << "s\n";