GEOS 3.3.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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
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