Public Types | Public Member Functions
lslgeneric::SpatialIndex Class Reference

Base class for all spatial indexing structures. More...

#include <spatial_index.h>

Inheritance diagram for lslgeneric::SpatialIndex:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector< NDTCell * > CellPtrVector
typedef CellPtrVector::iterator CellVectorItr

Public Member Functions

virtual NDTCelladdPoint (const pcl::PointXYZ &point)=0
 add a point and get back the pointer to the cell in which it ended up
virtual CellVectorItr begin ()=0
 iterator through all cells in index, points at the begining
virtual SpatialIndexclone () const =0
 clone - create an empty object with same type
virtual SpatialIndexcopy () const =0
 copy - create the same object as a new instance
virtual CellVectorItr end ()=0
 iterator through all cells in index, points at the end
virtual NDTCellgetCellForPoint (const pcl::PointXYZ &point)=0
virtual void getNeighbors (const pcl::PointXYZ &point, const double &radius, std::vector< NDTCell * > &cells)=0
 method to return all cells within a certain radius from a point
virtual int loadFromJFF (FILE *jffin) const
 reads map contents from .jff file
virtual void setCellType (NDTCell *type)=0
 sets the cell factory type
virtual void setCenter (const double &cx, const double &cy, const double &cz)
virtual void setSize (const double &sx, const double &sy, const double &sz)
virtual int size () const
virtual ~SpatialIndex ()

Detailed Description

Base class for all spatial indexing structures.

A SpatialIndex is anything that holds PointInterface pointers and organizes them in a manner accessible from outside. This class defines what is necessary to be a spatial index - namely the ability to find the cell in which a point is placed and to store newly observed points. It should also be possible to check the size of the occupied space, as well as to get cells neighboring any given cell.

Definition at line 55 of file spatial_index.h.


Member Typedef Documentation

Definition at line 60 of file spatial_index.h.

typedef CellPtrVector::iterator lslgeneric::SpatialIndex::CellVectorItr

Definition at line 61 of file spatial_index.h.


Constructor & Destructor Documentation

virtual lslgeneric::SpatialIndex::~SpatialIndex ( ) [inline, virtual]

Definition at line 63 of file spatial_index.h.


Member Function Documentation

virtual NDTCell* lslgeneric::SpatialIndex::addPoint ( const pcl::PointXYZ &  point) [pure virtual]

add a point and get back the pointer to the cell in which it ended up

Implemented in lslgeneric::LazyGrid, and lslgeneric::CellVector.

virtual CellVectorItr lslgeneric::SpatialIndex::begin ( ) [pure virtual]

iterator through all cells in index, points at the begining

Implemented in lslgeneric::OctTree< PointT >, lslgeneric::CellVector, and lslgeneric::LazyGrid.

virtual SpatialIndex* lslgeneric::SpatialIndex::clone ( ) const [pure virtual]

clone - create an empty object with same type

Implemented in lslgeneric::OctTree< PointT >, lslgeneric::CellVector, and lslgeneric::LazyGrid.

virtual SpatialIndex* lslgeneric::SpatialIndex::copy ( ) const [pure virtual]

copy - create the same object as a new instance

Implemented in lslgeneric::OctTree< PointT >, lslgeneric::CellVector, and lslgeneric::LazyGrid.

virtual CellVectorItr lslgeneric::SpatialIndex::end ( ) [pure virtual]

iterator through all cells in index, points at the end

Implemented in lslgeneric::OctTree< PointT >, lslgeneric::CellVector, and lslgeneric::LazyGrid.

virtual NDTCell* lslgeneric::SpatialIndex::getCellForPoint ( const pcl::PointXYZ &  point) [pure virtual]
virtual void lslgeneric::SpatialIndex::getNeighbors ( const pcl::PointXYZ &  point,
const double &  radius,
std::vector< NDTCell * > &  cells 
) [pure virtual]

method to return all cells within a certain radius from a point

Implemented in lslgeneric::CellVector, and lslgeneric::LazyGrid.

virtual int lslgeneric::SpatialIndex::loadFromJFF ( FILE *  jffin) const [inline, virtual]

reads map contents from .jff file

Definition at line 98 of file spatial_index.h.

virtual void lslgeneric::SpatialIndex::setCellType ( NDTCell type) [pure virtual]

sets the cell factory type

Implemented in lslgeneric::CellVector, and lslgeneric::LazyGrid.

virtual void lslgeneric::SpatialIndex::setCenter ( const double &  cx,
const double &  cy,
const double &  cz 
) [inline, virtual]

the following methods provide index specific functionalities and don't have to be implemented by all sub-classes

Reimplemented in lslgeneric::OctTree< PointT >, and lslgeneric::LazyGrid.

Definition at line 88 of file spatial_index.h.

virtual void lslgeneric::SpatialIndex::setSize ( const double &  sx,
const double &  sy,
const double &  sz 
) [inline, virtual]

Reimplemented in lslgeneric::OctTree< PointT >, and lslgeneric::LazyGrid.

Definition at line 89 of file spatial_index.h.

virtual int lslgeneric::SpatialIndex::size ( ) const [inline, virtual]

Definition at line 76 of file spatial_index.h.


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


ndt_map
Author(s): Todor Stoyanov, Jari Saarinen, Henrik Andreasson
autogenerated on Wed Aug 26 2015 15:24:41