SpatialIndex::RTree::RTree Class Reference

#include <RTree.h>

Collaboration diagram for SpatialIndex::RTree::RTree:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 33 of file RTree.h.

Public Member Functions

 RTree (IStorageManager &, Tools::PropertySet &)
virtual ~RTree ()
virtual void insertData (unsigned long len, const byte *pData, const IShape &shape, long shapeIdentifier)
virtual bool deleteData (const IShape &shape, long id)
virtual void containsWhatQuery (const IShape &query, IVisitor &v)
virtual void intersectsWithQuery (const IShape &query, IVisitor &v)
virtual void pointLocationQuery (const Point &query, IVisitor &v)
virtual void nearestNeighborQuery (long k, const IShape &query, IVisitor &v, INearestNeighborComparator &)
virtual void nearestNeighborQuery (long k, const IShape &query, IVisitor &v)
virtual void selfJoinQuery (const IShape &s, IVisitor &v)
virtual void queryStrategy (IQueryStrategy &qs)
virtual void getIndexProperties (Tools::PropertySet &out) const
virtual void addCommand (ICommand *pCommand, CommandType ct)
virtual bool isIndexValid ()
virtual void getStatistics (IStatistics **out) const

Private Member Functions

void initNew (Tools::PropertySet &)
void initOld (Tools::PropertySet &ps)
void storeHeader ()
void loadHeader ()
void insertData_impl (unsigned long dataLength, byte *pData, Region &mbr, long id)
void insertData_impl (unsigned long dataLength, byte *pData, Region &mbr, long id, unsigned long level, byte *overflowTable)
bool deleteData_impl (const Region &mbr, long id)
long writeNode (Node *)
NodePtr readNode (unsigned long)
void deleteNode (Node *)
void rangeQuery (RangeQueryType type, const IShape &query, IVisitor &v)
void selfJoinQuery (long id1, long id2, const Region &r, IVisitor &vis)

Private Attributes

IStorageManager * m_pStorageManager
long m_rootID
long m_headerID
RTreeVariant m_treeVariant
double m_fillFactor
unsigned long m_indexCapacity
unsigned long m_leafCapacity
unsigned long m_nearMinimumOverlapFactor
double m_splitDistributionFactor
double m_reinsertFactor
unsigned long m_dimension
Region m_infiniteRegion
Statistics m_stats
bool m_bTightMBRs
Tools::PointerPool< Point > m_pointPool
Tools::PointerPool< Region > m_regionPool
Tools::PointerPool< Nodem_indexPool
Tools::PointerPool< Nodem_leafPool
std::vector< Tools::SmartPointer<
ICommand > > 
m_writeNodeCommands
std::vector< Tools::SmartPointer<
ICommand > > 
m_readNodeCommands
std::vector< Tools::SmartPointer<
ICommand > > 
m_deleteNodeCommands
bool m_rwLock

Friends

class Node
class Leaf
class Index
class BulkLoader
std::ostream & operator<< (std::ostream &os, const RTree &t)

Classes

class  NNComparator
class  NNEntry
class  ValidateEntry


Constructor & Destructor Documentation

SpatialIndex::RTree::RTree::RTree ( IStorageManager &  ,
Tools::PropertySet  
)

virtual SpatialIndex::RTree::RTree::~RTree (  )  [virtual]


Member Function Documentation

virtual void SpatialIndex::RTree::RTree::insertData ( unsigned long  len,
const byte pData,
const IShape &  shape,
long  shapeIdentifier 
) [virtual]

virtual bool SpatialIndex::RTree::RTree::deleteData ( const IShape &  shape,
long  id 
) [virtual]

virtual void SpatialIndex::RTree::RTree::containsWhatQuery ( const IShape &  query,
IVisitor &  v 
) [virtual]

virtual void SpatialIndex::RTree::RTree::intersectsWithQuery ( const IShape &  query,
IVisitor &  v 
) [virtual]

virtual void SpatialIndex::RTree::RTree::pointLocationQuery ( const Point &  query,
IVisitor &  v 
) [virtual]

virtual void SpatialIndex::RTree::RTree::nearestNeighborQuery ( long  k,
const IShape &  query,
IVisitor &  v,
INearestNeighborComparator &   
) [virtual]

virtual void SpatialIndex::RTree::RTree::nearestNeighborQuery ( long  k,
const IShape &  query,
IVisitor &  v 
) [virtual]

virtual void SpatialIndex::RTree::RTree::selfJoinQuery ( const IShape &  s,
IVisitor &  v 
) [virtual]

virtual void SpatialIndex::RTree::RTree::queryStrategy ( IQueryStrategy &  qs  )  [virtual]

virtual void SpatialIndex::RTree::RTree::getIndexProperties ( Tools::PropertySet out  )  const [virtual]

virtual void SpatialIndex::RTree::RTree::addCommand ( ICommand *  pCommand,
CommandType  ct 
) [virtual]

virtual bool SpatialIndex::RTree::RTree::isIndexValid (  )  [virtual]

virtual void SpatialIndex::RTree::RTree::getStatistics ( IStatistics **  out  )  const [virtual]

void SpatialIndex::RTree::RTree::initNew ( Tools::PropertySet  )  [private]

void SpatialIndex::RTree::RTree::initOld ( Tools::PropertySet ps  )  [private]

void SpatialIndex::RTree::RTree::storeHeader (  )  [private]

void SpatialIndex::RTree::RTree::loadHeader (  )  [private]

void SpatialIndex::RTree::RTree::insertData_impl ( unsigned long  dataLength,
byte pData,
Region &  mbr,
long  id 
) [private]

void SpatialIndex::RTree::RTree::insertData_impl ( unsigned long  dataLength,
byte pData,
Region &  mbr,
long  id,
unsigned long  level,
byte overflowTable 
) [private]

bool SpatialIndex::RTree::RTree::deleteData_impl ( const Region &  mbr,
long  id 
) [private]

long SpatialIndex::RTree::RTree::writeNode ( Node  )  [private]

NodePtr SpatialIndex::RTree::RTree::readNode ( unsigned  long  )  [private]

void SpatialIndex::RTree::RTree::deleteNode ( Node  )  [private]

void SpatialIndex::RTree::RTree::rangeQuery ( RangeQueryType  type,
const IShape &  query,
IVisitor &  v 
) [private]

void SpatialIndex::RTree::RTree::selfJoinQuery ( long  id1,
long  id2,
const Region &  r,
IVisitor &  vis 
) [private]


Friends And Related Function Documentation

friend class Node [friend]

Definition at line 188 of file RTree.h.

friend class Leaf [friend]

Definition at line 189 of file RTree.h.

friend class Index [friend]

Definition at line 190 of file RTree.h.

friend class BulkLoader [friend]

Definition at line 191 of file RTree.h.

std::ostream& operator<< ( std::ostream &  os,
const RTree t 
) [friend]


Member Data Documentation

IStorageManager* SpatialIndex::RTree::RTree::m_pStorageManager [private]

Definition at line 94 of file RTree.h.

long SpatialIndex::RTree::RTree::m_rootID [private]

Definition at line 96 of file RTree.h.

long SpatialIndex::RTree::RTree::m_headerID [private]

Definition at line 97 of file RTree.h.

RTreeVariant SpatialIndex::RTree::RTree::m_treeVariant [private]

Definition at line 99 of file RTree.h.

double SpatialIndex::RTree::RTree::m_fillFactor [private]

Definition at line 101 of file RTree.h.

unsigned long SpatialIndex::RTree::RTree::m_indexCapacity [private]

Definition at line 103 of file RTree.h.

unsigned long SpatialIndex::RTree::RTree::m_leafCapacity [private]

Definition at line 105 of file RTree.h.

unsigned long SpatialIndex::RTree::RTree::m_nearMinimumOverlapFactor [private]

Definition at line 107 of file RTree.h.

double SpatialIndex::RTree::RTree::m_splitDistributionFactor [private]

Definition at line 112 of file RTree.h.

double SpatialIndex::RTree::RTree::m_reinsertFactor [private]

Definition at line 117 of file RTree.h.

unsigned long SpatialIndex::RTree::RTree::m_dimension [private]

Definition at line 122 of file RTree.h.

Region SpatialIndex::RTree::RTree::m_infiniteRegion [private]

Definition at line 124 of file RTree.h.

Statistics SpatialIndex::RTree::RTree::m_stats [private]

Definition at line 126 of file RTree.h.

bool SpatialIndex::RTree::RTree::m_bTightMBRs [private]

Definition at line 128 of file RTree.h.

Tools::PointerPool<Point> SpatialIndex::RTree::RTree::m_pointPool [private]

Definition at line 130 of file RTree.h.

Tools::PointerPool<Region> SpatialIndex::RTree::RTree::m_regionPool [private]

Definition at line 131 of file RTree.h.

Tools::PointerPool<Node> SpatialIndex::RTree::RTree::m_indexPool [private]

Definition at line 132 of file RTree.h.

Tools::PointerPool<Node> SpatialIndex::RTree::RTree::m_leafPool [private]

Definition at line 133 of file RTree.h.

std::vector<Tools::SmartPointer<ICommand> > SpatialIndex::RTree::RTree::m_writeNodeCommands [private]

Definition at line 135 of file RTree.h.

std::vector<Tools::SmartPointer<ICommand> > SpatialIndex::RTree::RTree::m_readNodeCommands [private]

Definition at line 136 of file RTree.h.

std::vector<Tools::SmartPointer<ICommand> > SpatialIndex::RTree::RTree::m_deleteNodeCommands [private]

Definition at line 137 of file RTree.h.

bool SpatialIndex::RTree::RTree::m_rwLock [private]

Definition at line 142 of file RTree.h.


The documentation for this class was generated from the following file:
Generated on Tue Oct 28 16:52:08 2008 for Quantum GIS API Documentation by  doxygen 1.5.1