libspatialindex API Reference  (git-trunk)
SpatialIndex::RTree::Index Class Reference

#include <Index.h>

Inheritance diagram for SpatialIndex::RTree::Index:
Inheritance graph
Collaboration diagram for SpatialIndex::RTree::Index:
Collaboration graph

Classes

class  OverlapEntry
 

Public Member Functions

 ~Index () override
 
- Public Member Functions inherited from SpatialIndex::RTree::Node
 ~Node () override
 
Tools::IObjectclone () override
 
uint32_t getByteArraySize () override
 
void loadFromByteArray (const uint8_t *data) override
 
void storeToByteArray (uint8_t **data, uint32_t &len) override
 
id_type getIdentifier () const override
 
void getShape (IShape **out) const override
 
uint32_t getChildrenCount () const override
 
id_type getChildIdentifier (uint32_t index) const override
 
void getChildShape (uint32_t index, IShape **out) const override
 
void getChildData (uint32_t index, uint32_t &length, uint8_t **data) const override
 
uint32_t getLevel () const override
 
bool isIndex () const override
 
bool isLeaf () const override
 
- Public Member Functions inherited from SpatialIndex::INode
 ~INode () override=default
 
- Public Member Functions inherited from SpatialIndex::IEntry
 ~IEntry () override=default
 
- Public Member Functions inherited from Tools::IObject
virtual ~IObject ()=default
 
- Public Member Functions inherited from Tools::ISerializable
virtual ~ISerializable ()=default
 

Protected Member Functions

 Index (RTree *pTree, id_type id, uint32_t level)
 
NodePtr chooseSubtree (const Region &mbr, uint32_t level, std::stack< id_type > &pathBuffer) override
 
NodePtr findLeaf (const Region &mbr, id_type id, std::stack< id_type > &pathBuffer) override
 
void split (uint32_t dataLength, uint8_t *pData, Region &mbr, id_type id, NodePtr &left, NodePtr &right) override
 
uint32_t findLeastEnlargement (const Region &) const
 
uint32_t findLeastOverlap (const Region &) const
 
void adjustTree (Node *, std::stack< id_type > &, bool force=false)
 
void adjustTree (Node *, Node *, std::stack< id_type > &, uint8_t *overflowTable)
 

Friends

class RTree
 
class Node
 
class BulkLoader
 

Detailed Description

Definition at line 37 of file src/rtree/Index.h.

Constructor & Destructor Documentation

◆ ~Index()

Index::~Index ( )
overridedefault

◆ Index()

Index::Index ( RTree pTree,
id_type  id,
uint32_t  level 
)
protected

Definition at line 42 of file rtree/Index.cc.

Member Function Documentation

◆ adjustTree() [1/2]

void Index::adjustTree ( Node n1,
Node n2,
std::stack< id_type > &  pathBuffer,
uint8_t *  overflowTable 
)
protected

Definition at line 329 of file rtree/Index.cc.

References adjustTree(), Tools::PoolPointer< X >::get(), and SpatialIndex::Region::m_pLow.

Here is the call graph for this function:

◆ adjustTree() [2/2]

void Index::adjustTree ( Node n,
std::stack< id_type > &  pathBuffer,
bool  force = false 
)
protected

Definition at line 283 of file rtree/Index.cc.

References adjustTree(), Tools::PoolPointer< X >::get(), and SpatialIndex::Region::m_pLow.

Referenced by adjustTree().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ chooseSubtree()

NodePtr Index::chooseSubtree ( const Region mbr,
uint32_t  level,
std::stack< id_type > &  pathBuffer 
)
overrideprotectedvirtual

◆ findLeaf()

NodePtr Index::findLeaf ( const Region mbr,
id_type  id,
std::stack< id_type > &  pathBuffer 
)
overrideprotectedvirtual

Implements SpatialIndex::RTree::Node.

Definition at line 84 of file rtree/Index.cc.

References Tools::PoolPointer< X >::get(), and Tools::PoolPointer< X >::relinquish().

Here is the call graph for this function:

◆ findLeastEnlargement()

uint32_t Index::findLeastEnlargement ( const Region r) const
protected

Definition at line 145 of file rtree/Index.cc.

References SpatialIndex::Region::getArea(), and SpatialIndex::Region::getCombinedRegion().

Referenced by chooseSubtree().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findLeastOverlap()

◆ split()

void Index::split ( uint32_t  dataLength,
uint8_t *  pData,
Region mbr,
id_type  id,
NodePtr left,
NodePtr right 
)
overrideprotectedvirtual

Friends And Related Function Documentation

◆ BulkLoader

friend class BulkLoader
friend

Definition at line 79 of file src/rtree/Index.h.

◆ Node

friend class Node
friend

Definition at line 78 of file src/rtree/Index.h.

◆ RTree

friend class RTree
friend

Definition at line 77 of file src/rtree/Index.h.


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