$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: mariano.consoni_at_[hidden]
Date: 2008-06-19 11:10:17
Author: mconsoni
Date: 2008-06-19 11:10:16 EDT (Thu, 19 Jun 2008)
New Revision: 46516
URL: http://svn.boost.org/trac/boost/changeset/46516
Log:
- simple test working :D
Text files modified: 
   sandbox/SOC/2008/spacial_indexing/boost/spatial_index/rtree.hpp                 |    18 ++++++++----------                      
   sandbox/SOC/2008/spacial_indexing/libs/spatial_index/test/simple_test_rtree.cpp |     6 ------                                  
   2 files changed, 8 insertions(+), 16 deletions(-)
Modified: sandbox/SOC/2008/spacial_indexing/boost/spatial_index/rtree.hpp
==============================================================================
--- sandbox/SOC/2008/spacial_indexing/boost/spatial_index/rtree.hpp	(original)
+++ sandbox/SOC/2008/spacial_indexing/boost/spatial_index/rtree.hpp	2008-06-19 11:10:16 EDT (Thu, 19 Jun 2008)
@@ -58,12 +58,10 @@
 
         typename rtree_node<Point,Value>::node_map q_nodes;
         condense_tree(l, q_nodes);
+
         std::vector<std::pair<geometry::box<Point>, Value> > s;
         for(typename rtree_node<Point,Value>::node_map::const_iterator it = q_nodes.begin(); it != q_nodes.end(); ++it) {
           typename rtree_leaf<Point,Value>::leaves_map leaves =  it->second->get_leaves();
-	  std::cerr << "Leaves to reinsert: " << leaves.size() << std::endl;
-	  it->second->print();
-	  std::cerr << "--------------------------->>"<<std::endl;
 
           // reinserting leaves from nodes
           for(typename rtree_leaf<Point,Value>::leaves_map::const_iterator itl = leaves.begin(); itl != leaves.end(); ++itl) {
@@ -203,6 +201,11 @@
       parent->adjust_box(l);
       
       if(parent->elements() < m_) {
+	if(parent->is_root()) {
+	  // if the parent is underfull and it's the root we just exit
+	  return;
+	}
+
         std::cerr << "condense_node: underfull node (" << parent.get() << ")" << std::endl;
 
         typename rtree_node<Point,Value>::node_map this_nodes = parent->get_nodes();
@@ -211,13 +214,8 @@
           q_nodes.push_back(*it);
         }
 
-	if(parent->is_root()) {
-	  std::cerr << "The underfull node is the root, returning." << std::endl;
-	  return;
-	} else {
-	  // we remove the node in the parent node because now it should be re inserted
-	  parent->get_parent()->remove(parent->get_parent()->get_box(parent));
-	}
+	// we remove the node in the parent node because now it should be re inserted
+	parent->get_parent()->remove(parent->get_parent()->get_box(parent));
       }
 
       condense_tree(parent, q_nodes);
Modified: sandbox/SOC/2008/spacial_indexing/libs/spatial_index/test/simple_test_rtree.cpp
==============================================================================
--- sandbox/SOC/2008/spacial_indexing/libs/spatial_index/test/simple_test_rtree.cpp	(original)
+++ sandbox/SOC/2008/spacial_indexing/libs/spatial_index/test/simple_test_rtree.cpp	2008-06-19 11:10:16 EDT (Thu, 19 Jun 2008)
@@ -183,19 +183,13 @@
 
         // remove test
          std::cerr << " --> remove" << std::endl;
-   	q->print();
          q->remove(geometry::box<geometry::point_xy<double> >(geometry::point_xy<double>(10.0,10.0), geometry::point_xy<double>(12.0,13.0)));
-   	q->print();
-
-	return 0;
 
          std::cerr << " --> remove" << std::endl;
          q->remove(geometry::box<geometry::point_xy<double> >(geometry::point_xy<double>(7.0,4.0), geometry::point_xy<double>(12.0,7.0)));
-   	q->print();
 
           std::cerr << " --> remove" << std::endl;
           q->remove(geometry::box<geometry::point_xy<double> >(geometry::point_xy<double>(10.0,12.0), geometry::point_xy<double>(13.0,13.0)));
-    	q->print();
 
           std::cerr << " --> remove" << std::endl;
           q->remove(geometry::box<geometry::point_xy<double> >(geometry::point_xy<double>(10.0,10.0), geometry::point_xy<double>(11.0,11.0)));