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