GEOS 3.11.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
geos::index::strtree::AbstractNode Class Referenceabstract

A node of the STR tree. More...

#include <AbstractNode.h>

Inheritance diagram for geos::index::strtree::AbstractNode:
geos::index::strtree::Boundable

Public Member Functions

 AbstractNode (int newLevel, std::size_t capacity=10)
 
std::vector< Boundable * > * getChildBoundables ()
 
const std::vector< Boundable * > * getChildBoundables () const
 
const void * getBounds () const override
 
int getLevel ()
 
void addChildBoundable (Boundable *childBoundable)
 
bool isLeaf () const override
 
virtual const void * getBounds () const =0
 
virtual bool isLeaf () const =0
 

Protected Member Functions

virtual void * computeBounds () const =0
 

Protected Attributes

void * bounds
 

Detailed Description

A node of the STR tree.

The children of this node are either more nodes (AbstractNodes) or real data (ItemBoundables).

If this node contains real data (rather than nodes), then we say that this node is a "leaf node".

Member Function Documentation

◆ addChildBoundable()

void geos::index::strtree::AbstractNode::addChildBoundable ( Boundable childBoundable)
inline

Adds either an AbstractNode, or if this is a leaf node, a data object (wrapped in an ItemBoundable)

◆ getBounds()

const void * geos::index::strtree::AbstractNode::getBounds ( ) const
inlineoverridevirtual

Returns a representation of space that encloses this Boundable, preferably not much bigger than this Boundable's boundary yet fast to test for intersection with the bounds of other Boundables. The class of object returned depends on the subclass of AbstractSTRtree.

Returns
an Envelope (for STRtrees), an Interval (for SIRtrees), or other object (for other subclasses of AbstractSTRtree)
See also
AbstractSTRtree::IntersectsOp

Implements geos::index::strtree::Boundable.

◆ getLevel()

int geos::index::strtree::AbstractNode::getLevel ( )
inline

Returns 0 if this node is a leaf, 1 if a parent of a leaf, and so on; the root node will have the highest level

◆ isLeaf()

bool geos::index::strtree::AbstractNode::isLeaf ( ) const
inlineoverridevirtual

The documentation for this class was generated from the following file: