00001 /* 00002 * Copyright (C) 2007 A.N. Yzelman 00003 * Released under LGPL, see license.txt 00004 * 00005 * Last modified at 11th of May, 2007, by A.N. Yzelman 00006 * 00007 * HilbertTGS.h: Definition of a Hilbert-bulk-loaded Basic R-tree. 00008 * 00009 */ 00010 00011 #ifndef _H_HILBERT_TGS 00012 #define _H_HILBERT_TGS 00013 00014 #include "TGS.h" 00015 #include <limits> 00016 00021 template< typename base_tree > 00022 class Hilbert_TGS_tree : public TGS_tree< base_tree > { 00023 00024 protected: 00025 00032 virtual vector< Ordering< BB_container > * > useOrderings() const; 00033 00034 public: 00035 00037 Hilbert_TGS_tree() : TGS_tree< base_tree >() {} 00038 00040 Hilbert_TGS_tree( R_tree_props* props ) : TGS_tree< base_tree >( props ) {} 00041 00042 }; 00043 00044 template< typename base_tree > 00045 vector< Ordering< BB_container > * > Hilbert_TGS_tree< base_tree >::useOrderings() const { 00046 vector< Ordering< BB_container > * > ret; 00047 00048 ret.push_back( &BB_container::HILC_ORDERING ); 00049 00050 return ret; 00051 } 00052 00053 #endif 00054