GEOS  3.9.1dev
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
geos::index::bintree::Node Class Reference

A node of a Bintree. More...

#include <Node.h>

Inheritance diagram for geos::index::bintree::Node:
[legend]
Collaboration diagram for geos::index::bintree::Node:
[legend]

Public Member Functions

 Node (Interval *newInterval, int newLevel)
 
 ~Node () override
 
IntervalgetInterval ()
 
NodegetNode (Interval *searchInterval)
 
NodeBasefind (Interval *searchInterval)
 
void insert (Node *node)
 
- Public Member Functions inherited from geos::index::bintree::NodeBase
 NodeBase ()
 
virtual ~NodeBase ()
 
virtual std::vector< void * > * getItems ()
 
virtual void add (void *item)
 
virtual std::vector< void * > * addAllItems (std::vector< void * > *newItems)
 
virtual std::vector< void * > * addAllItemsFromOverlapping (Interval *interval, std::vector< void * > *resultItems)
 
virtual int depth ()
 
virtual int size ()
 
virtual int nodeSize ()
 

Static Public Member Functions

static NodecreateNode (Interval *itemInterval)
 
static NodecreateExpanded (Node *node, Interval *addInterval)
 
- Static Public Member Functions inherited from geos::index::bintree::NodeBase
static int getSubnodeIndex (Interval *interval, double centre)
 

Protected Member Functions

bool isSearchMatch (Interval *itemInterval) override
 

Private Member Functions

NodegetSubnode (int index)
 
NodecreateSubnode (int index)
 

Private Attributes

Intervalinterval
 
double centre
 
int level
 

Additional Inherited Members

- Protected Attributes inherited from geos::index::bintree::NodeBase
std::vector< void * > * items
 
Nodesubnode [2]
 

Detailed Description

A node of a Bintree.

Definition at line 35 of file index/bintree/Node.h.

Constructor & Destructor Documentation

geos::index::bintree::Node::Node ( Interval newInterval,
int  newLevel 
)
geos::index::bintree::Node::~Node ( )
override

Member Function Documentation

static Node* geos::index::bintree::Node::createExpanded ( Node node,
Interval addInterval 
)
static
static Node* geos::index::bintree::Node::createNode ( Interval itemInterval)
static
Node* geos::index::bintree::Node::createSubnode ( int  index)
private
NodeBase* geos::index::bintree::Node::find ( Interval searchInterval)
Interval* geos::index::bintree::Node::getInterval ( )
Node* geos::index::bintree::Node::getNode ( Interval searchInterval)
Node* geos::index::bintree::Node::getSubnode ( int  index)
private
void geos::index::bintree::Node::insert ( Node node)
bool geos::index::bintree::Node::isSearchMatch ( Interval itemInterval)
overrideprotectedvirtual

Member Data Documentation

double geos::index::bintree::Node::centre
private

Definition at line 59 of file index/bintree/Node.h.

Interval* geos::index::bintree::Node::interval
private

Definition at line 57 of file index/bintree/Node.h.

int geos::index::bintree::Node::level
private

Definition at line 61 of file index/bintree/Node.h.


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