Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

geos::index::quadtree::NodeBase Class Reference

The base class for nodes in a Quadtree. More...

#include <NodeBase.h>

Inheritance diagram for geos::index::quadtree::NodeBase:

geos::index::quadtree::Node geos::index::quadtree::Root List of all members.

Public Member Functions

std::vector< void * > & getItems ()
void add (void *item)
std::vector< void * > & addAllItems (std::vector< void * > &resultItems) const
 Push all node items to the given vector, return the argument.
virtual void addAllItemsFromOverlapping (const geom::Envelope &searchEnv, std::vector< void * > &resultItems) const
unsigned int depth () const
unsigned int size () const
unsigned int getNodeCount () const
virtual std::string toString () const
virtual void visit (const geom::Envelope *searchEnv, ItemVisitor &visitor)
bool remove (const geom::Envelope *itemEnv, void *item)
bool hasItems () const
bool hasChildren () const
bool isPrunable () const

Static Public Member Functions

static int getSubnodeIndex (const geom::Envelope *env, const geom::Coordinate &centre)

Protected Member Functions

virtual bool isSearchMatch (const geom::Envelope &searchEnv) const =0

Protected Attributes

std::vector< void * > items
 Actual items are NOT owned by this class.
Nodesubnode [4]

Detailed Description

The base class for nodes in a Quadtree.


Member Function Documentation

void geos::index::quadtree::NodeBase::add void *  item  ) 
 

Add an item to this node. Ownership of the item is left to caller.

bool geos::index::quadtree::NodeBase::remove const geom::Envelope itemEnv,
void *  item
 

Removes a single item from this subtree.

Parameters:
searchEnv the envelope containing the item
item the item to remove
Returns:
true if the item was found and removed


Member Data Documentation

Node* geos::index::quadtree::NodeBase::subnode[4] [protected]
 

subquads are numbered as follows:

  2 | 3
  --+--
  0 | 1
 

Nodes are owned by this class


The documentation for this class was generated from the following file:
Generated on Thu Jun 11 06:17:03 2009 for GEOS by  doxygen 1.4.4