The base class for nodes in a Quadtree. More...
#include <NodeBase.h>
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 ¢re) |
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. | |
| Node * | subnode [4] |
The base class for nodes in a Quadtree.
| 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.
| searchEnv | the envelope containing the item |
| item | the item to remove |
true if the item was found and removed Node* geos::index::quadtree::NodeBase::subnode[4] [protected] |
subquads are numbered as follows:
2 | 3 --+-- 0 | 1
Nodes are owned by this class
1.7.2