#include <FPB.h>
Public Member Functions | |
| FPB_tree () | |
| FPB_tree (R_tree_props *props) | |
| virtual | ~FPB_tree () | 
| virtual void | ensureReady () | 
| void | bulkLoad () | 
| virtual base_tree * | insert (BB_container *element) | 
| virtual base_tree * | remove (BB_container *element) | 
| virtual base_tree * | search (BB_container *element) | 
| virtual vector< int > | containedIn (BB_type box) const | 
| virtual vector< int > | intersects (const vector< double > begin, const vector< double > end) const | 
| virtual vector< int > | intersects (Point point) const | 
| virtual vector< int > | intersects (vector< double > a, double b) const | 
| virtual vector< int > | neighboursOf (BB_container *item) const | 
Protected Member Functions | |
| virtual Ordering< BB_container > * | useOrdering () const | 
Private Member Functions | |
| virtual bool | checkReady () const | 
| vector< base_tree * > | bulkLoad (vector< BB_container * > *input) | 
Private Attributes | |
| bool | loaded | 
| vector< BB_container > | cache | 
Definition at line 20 of file FPB.h.
Base constructor. Tells the R-tree it is bulk-loading *not* to delete its leaf nodes since the FPB algorithm will cache them.
Definition at line 63 of file FPB.h.
References FPB_tree< base_tree >::loaded.
| FPB_tree< base_tree >::FPB_tree | ( | R_tree_props * | props | ) |  [inline] | 
        
Base constructor. Takes as an argument given R-tree properties.
| props | Pointer to a given set of properties. | 
Definition at line 71 of file FPB.h.
References FPB_tree< base_tree >::loaded.
| virtual bool FPB_tree< base_tree >::checkReady | ( | ) |  const [inline, private, virtual] | 
        
Checks if the tree is ready for access.
Definition at line 29 of file FPB.h.
References FPB_tree< base_tree >::loaded.
Referenced by FPB_tree< base_tree >::containedIn(), FPB_tree< base_tree >::intersects(), and FPB_tree< base_tree >::neighboursOf().
| vector< base_tree * > FPB_tree< base_tree >::bulkLoad | ( | vector< BB_container * > * | input | ) |  [inline, private] | 
        
Starts bulk-loading the elements in a given vector
| input | The elements to be inserted | 
Definition at line 216 of file FPB.h.
References Cubic_Bounding_Box::clear().
| Ordering< BB_container > * FPB_tree< base_tree >::useOrdering | ( | ) |  const [inline, protected, virtual] | 
        
The default ordering this tree will use for sorting.
Definition at line 148 of file FPB.h.
References Cubic_Bounding_Box_Container::HILC_ORDERING.
Referenced by FPB_tree< base_tree >::bulkLoad().
| void FPB_tree< base_tree >::ensureReady | ( | ) |  [inline, virtual] | 
        
Checks if the FPB tree is ready for queries. If not, it starts the bulk-loading mechanism automatically (and prints a warning to stderr).
Definition at line 141 of file FPB.h.
References FPB_tree< base_tree >::bulkLoad(), and FPB_tree< base_tree >::loaded.
| void FPB_tree< base_tree >::bulkLoad | ( | ) |  [inline] | 
        
Starts bulk-loading the inserted elements
Definition at line 154 of file FPB.h.
References FPB_tree< base_tree >::cache, FPB_tree< base_tree >::loaded, and FPB_tree< base_tree >::useOrdering().
Referenced by FPB_tree< base_tree >::ensureReady().
| base_tree * FPB_tree< base_tree >::insert | ( | BB_container * | element | ) |  [inline, virtual] | 
        
Chaches a given container element for bulk-loading into the R-tree structure.
| element | The to be bulk-loaded element | 
Definition at line 278 of file FPB.h.
References FPB_tree< base_tree >::cache, and FPB_tree< base_tree >::loaded.
| base_tree * FPB_tree< base_tree >::remove | ( | BB_container * | element | ) |  [inline, virtual] | 
        
Removes a stored polytope from the R-tree structure. A pointer to the polytope must be explicitly given. If the polytope cannot be found within the R-tree, a warning is printed to stderr but no further action is taken.
| element | The element to be removed from the R-tree. | 
Definition at line 289 of file FPB.h.
References FPB_tree< base_tree >::cache, Cubic_Bounding_Box_Container::getID(), and FPB_tree< base_tree >::loaded.
| base_tree * FPB_tree< base_tree >::search | ( | BB_container * | element | ) |  [inline, virtual] | 
        
Searches the R-tree for a given polytope, and returns the leaf node at which it is stored.
| element | The element to be found | 
Definition at line 302 of file FPB.h.
References FPB_tree< base_tree >::cache, Cubic_Bounding_Box_Container::getID(), and FPB_tree< base_tree >::loaded.
| vector< int > FPB_tree< base_tree >::containedIn | ( | BB_type | box | ) |  const [inline, virtual] | 
        
See superclass Spatial_Tree
Definition at line 315 of file FPB.h.
References FPB_tree< base_tree >::checkReady().
| vector< int > FPB_tree< base_tree >::intersects | ( | const vector< double > | begin, | |
| const vector< double > | end | |||
| ) |  const [inline, virtual] | 
        
See superclass Spatial_Tree
Definition at line 324 of file FPB.h.
References FPB_tree< base_tree >::checkReady().
| vector< int > FPB_tree< base_tree >::intersects | ( | Point | point | ) |  const [inline, virtual] | 
        
See superclass Spatial_Tree
Definition at line 333 of file FPB.h.
References FPB_tree< base_tree >::checkReady().
| vector< int > FPB_tree< base_tree >::intersects | ( | vector< double > | a, | |
| double | b | |||
| ) |  const [inline, virtual] | 
        
See superclass Spatial_Tree
Definition at line 342 of file FPB.h.
References FPB_tree< base_tree >::checkReady().
| vector< int > FPB_tree< base_tree >::neighboursOf | ( | BB_container * | item | ) |  const [inline, virtual] | 
        
See superclass Spatial_Tree
Definition at line 351 of file FPB.h.
References FPB_tree< base_tree >::checkReady().
Whether or not the tree is bulk-loaded and ready for access
Definition at line 32 of file FPB.h.
Referenced by FPB_tree< base_tree >::bulkLoad(), FPB_tree< base_tree >::checkReady(), FPB_tree< base_tree >::ensureReady(), FPB_tree< base_tree >::FPB_tree(), FPB_tree< base_tree >::insert(), FPB_tree< base_tree >::remove(), and FPB_tree< base_tree >::search().
vector< BB_container > FPB_tree< base_tree >::cache [private]           | 
        
Vector preallocating the leaf nodes. They are copied entirely into the cache in an attempt to gain speed by using a single large allocated chunk of memory for storing the leaf nodes.
Definition at line 37 of file FPB.h.
Referenced by FPB_tree< base_tree >::bulkLoad(), FPB_tree< base_tree >::insert(), FPB_tree< base_tree >::remove(), and FPB_tree< base_tree >::search().
 1.5.2