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

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

# 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:

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.
Node * | subnode [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:

- quadtree/NodeBase.h