geos::index::quadtree::NodeBase Class Referenceabstract

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

`#include <NodeBase.h>`

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

## 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
std::size_t | size () const
std::size_t | 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.
std::array< Node *, 4 > | subnodes

## Detailed Description

The base class for nodes in a Quadtree.

## Member Function Documentation

## add()

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

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

## remove()

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

Removes a single item from this subtree.

Parameters

  itemEnv | the envelope containing the item
  item | the item to remove

Returns
  `true` if the item was found and removed

## Member Data Documentation

## subnodes

std::array<Node*, 4> geos::index::quadtree::NodeBase::subnodes

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