MRPT logo

mrpt::utils::CDynamicGrid< T > Class Template Reference

A 2D grid of dynamic size which stores any kind of data at each cell. More...

#include <mrpt/utils/CDynamicGrid.h>

List of all members.

Public Member Functions

 CDynamicGrid (float x_min=-10.0f, float x_max=10.0f, float y_min=-10.0f, float y_max=10.0f, float resolution=0.10f)
 Constructor.
virtual ~CDynamicGrid ()
 Destructor.
void setSize (float x_min, float x_max, float y_min, float y_max, float resolution)
 Changes the size of the grid, ERASING all previous contents.
void clear ()
 Erase the contents of all the cells.
void fill (const T &value)
 Fills all the cells with the same value.
virtual void resize (float new_x_min, float new_x_max, float new_y_min, float new_y_max, const T &defaultValueNewCells, float additionalMarginMeters=2.0f)
 Changes the size of the grid, maintaining previous contents.
T * cellByPos (float x, float y)
 Returns a pointer to the contents of a cell given by its coordinates, or NULL if it is out of the map extensions.
const T * cellByPos (float x, float y) const
 Returns a pointer to the contents of a cell given by its coordinates, or NULL if it is out of the map extensions.
T * cellByIndex (unsigned int cx, unsigned int cy)
 Returns a pointer to the contents of a cell given by its cell indexes, or NULL if it is out of the map extensions.
const T * cellByIndex (unsigned int cx, unsigned int cy) const
 Returns a pointer to the contents of a cell given by its cell indexes, or NULL if it is out of the map extensions.
unsigned int getSizeX ()
 Returns the horizontal size of grid map in cells count.
unsigned int getSizeY ()
 Returns the vertical size of grid map in cells count.
float getXMin () const
 Returns the "x" coordinate of left side of grid map.
float getXMax () const
 Returns the "x" coordinate of right side of grid map.
float getYMin () const
 Returns the "y" coordinate of top side of grid map.
float getYMax () const
 Returns the "y" coordinate of bottom side of grid map.
float getResolution () const
 Returns the resolution of the grid map.
virtual float cell2float (const T &c) const
 The user must implement this in order to provide "saveToTextFile" a way to convert each cell into a numeric value.
void saveToTextFile (const std::string &fileName) const
int x2idx (float x) const
 Transform a coordinate values into cell indexes.
int y2idx (float y) const
int xy2idx (float x, float y) const
void idx2cxcy (const int &idx, int &cx, int &cy) const
 Transform a global (linear) cell index value into its corresponding (x,y) cell indexes.
float idx2x (int cx) const
 Transform a cell index into a coordinate value.
float idx2y (int cy) const
int x2idx (float x, float x_min) const
 Transform a coordinate value into a cell index, using a diferent "x_min" value.
int y2idx (float y, float y_min) const

Protected Member Functions

std::vector< T > & m_map_castaway_const () const
 Used only from logically const method that really need to modify the.

Protected Attributes

std::vector< T > m_map
 The cells.
float m_x_min
float m_x_max
float m_y_min
float m_y_max
float m_resolution
unsigned int m_size_x
unsigned int m_size_y


Detailed Description

template<class T>
class mrpt::utils::CDynamicGrid< T >

A 2D grid of dynamic size which stores any kind of data at each cell.

Definition at line 42 of file CDynamicGrid.h.


Constructor & Destructor Documentation

template<class T>
mrpt::utils::CDynamicGrid< T >::CDynamicGrid ( float  x_min = -10.0f,
float  x_max = 10.0f,
float  y_min = -10.0f,
float  y_max = 10.0f,
float  resolution = 0.10f 
) [inline]

Constructor.

Definition at line 59 of file CDynamicGrid.h.

template<class T>
virtual mrpt::utils::CDynamicGrid< T >::~CDynamicGrid (  )  [inline, virtual]

Destructor.

Definition at line 74 of file CDynamicGrid.h.


Member Function Documentation

template<class T>
virtual float mrpt::utils::CDynamicGrid< T >::cell2float ( const T &  c  )  const [inline, virtual]

The user must implement this in order to provide "saveToTextFile" a way to convert each cell into a numeric value.

Definition at line 278 of file CDynamicGrid.h.

Referenced by mrpt::utils::CDynamicGrid< TCellForLambdaFunction >::saveToTextFile().

template<class T>
const T* mrpt::utils::CDynamicGrid< T >::cellByIndex ( unsigned int  cx,
unsigned int  cy 
) const [inline]

Returns a pointer to the contents of a cell given by its cell indexes, or NULL if it is out of the map extensions.

Definition at line 242 of file CDynamicGrid.h.

template<class T>
T* mrpt::utils::CDynamicGrid< T >::cellByIndex ( unsigned int  cx,
unsigned int  cy 
) [inline]

Returns a pointer to the contents of a cell given by its cell indexes, or NULL if it is out of the map extensions.

Definition at line 233 of file CDynamicGrid.h.

template<class T>
const T* mrpt::utils::CDynamicGrid< T >::cellByPos ( float  x,
float  y 
) const [inline]

Returns a pointer to the contents of a cell given by its coordinates, or NULL if it is out of the map extensions.

Definition at line 220 of file CDynamicGrid.h.

template<class T>
T* mrpt::utils::CDynamicGrid< T >::cellByPos ( float  x,
float  y 
) [inline]

Returns a pointer to the contents of a cell given by its coordinates, or NULL if it is out of the map extensions.

Definition at line 207 of file CDynamicGrid.h.

template<class T>
void mrpt::utils::CDynamicGrid< T >::clear ( void   )  [inline]

Erase the contents of all the cells.

Reimplemented in mrpt::slam::CGasConcentrationGridMap2D, and mrpt::slam::CHeightGridMap2D.

Definition at line 106 of file CDynamicGrid.h.

template<class T>
void mrpt::utils::CDynamicGrid< T >::fill ( const T &  value  )  [inline]

Fills all the cells with the same value.

Definition at line 114 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::getResolution (  )  const [inline]

Returns the resolution of the grid map.

Definition at line 275 of file CDynamicGrid.h.

template<class T>
unsigned int mrpt::utils::CDynamicGrid< T >::getSizeX (  )  [inline]

Returns the horizontal size of grid map in cells count.

Definition at line 251 of file CDynamicGrid.h.

template<class T>
unsigned int mrpt::utils::CDynamicGrid< T >::getSizeY (  )  [inline]

Returns the vertical size of grid map in cells count.

Definition at line 255 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::getXMax (  )  const [inline]

Returns the "x" coordinate of right side of grid map.

Definition at line 263 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::getXMin (  )  const [inline]

Returns the "x" coordinate of left side of grid map.

Definition at line 259 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::getYMax (  )  const [inline]

Returns the "y" coordinate of bottom side of grid map.

Definition at line 271 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::getYMin (  )  const [inline]

Returns the "y" coordinate of top side of grid map.

Definition at line 267 of file CDynamicGrid.h.

template<class T>
void mrpt::utils::CDynamicGrid< T >::idx2cxcy ( const int &  idx,
int &  cx,
int &  cy 
) const [inline]

Transform a global (linear) cell index value into its corresponding (x,y) cell indexes.

Definition at line 303 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::idx2x ( int  cx  )  const [inline]

Transform a cell index into a coordinate value.

Definition at line 311 of file CDynamicGrid.h.

template<class T>
float mrpt::utils::CDynamicGrid< T >::idx2y ( int  cy  )  const [inline]

Definition at line 312 of file CDynamicGrid.h.

template<class T>
std::vector<T>& mrpt::utils::CDynamicGrid< T >::m_map_castaway_const (  )  const [inline, protected]

Used only from logically const method that really need to modify the.

Definition at line 50 of file CDynamicGrid.h.

template<class T>
virtual void mrpt::utils::CDynamicGrid< T >::resize ( float  new_x_min,
float  new_x_max,
float  new_y_min,
float  new_y_max,
const T &  defaultValueNewCells,
float  additionalMarginMeters = 2.0f 
) [inline, virtual]

Changes the size of the grid, maintaining previous contents.

See also:
setSize

Definition at line 123 of file CDynamicGrid.h.

template<class T>
void mrpt::utils::CDynamicGrid< T >::saveToTextFile ( const std::string &  fileName  )  const [inline]

Definition at line 283 of file CDynamicGrid.h.

template<class T>
void mrpt::utils::CDynamicGrid< T >::setSize ( float  x_min,
float  x_max,
float  y_min,
float  y_max,
float  resolution 
) [inline]

Changes the size of the grid, ERASING all previous contents.

See also:
resize

Definition at line 81 of file CDynamicGrid.h.

Referenced by mrpt::utils::CDynamicGrid< TCellForLambdaFunction >::CDynamicGrid().

template<class T>
int mrpt::utils::CDynamicGrid< T >::x2idx ( float  x,
float  x_min 
) const [inline]

Transform a coordinate value into a cell index, using a diferent "x_min" value.

Definition at line 316 of file CDynamicGrid.h.

template<class T>
int mrpt::utils::CDynamicGrid< T >::x2idx ( float  x  )  const [inline]

Transform a coordinate values into cell indexes.

Definition at line 298 of file CDynamicGrid.h.

Referenced by mrpt::utils::CDynamicGrid< TCellForLambdaFunction >::cellByPos(), and mrpt::utils::CDynamicGrid< TCellForLambdaFunction >::xy2idx().

template<class T>
int mrpt::utils::CDynamicGrid< T >::xy2idx ( float  x,
float  y 
) const [inline]

Definition at line 300 of file CDynamicGrid.h.

template<class T>
int mrpt::utils::CDynamicGrid< T >::y2idx ( float  y,
float  y_min 
) const [inline]

Definition at line 317 of file CDynamicGrid.h.

template<class T>
int mrpt::utils::CDynamicGrid< T >::y2idx ( float  y  )  const [inline]


Member Data Documentation

template<class T>
std::vector<T> mrpt::utils::CDynamicGrid< T >::m_map [protected]

template<class T>
float mrpt::utils::CDynamicGrid< T >::m_resolution [protected]

template<class T>
unsigned int mrpt::utils::CDynamicGrid< T >::m_size_x [protected]

template<class T>
unsigned int mrpt::utils::CDynamicGrid< T >::m_size_y [protected]

template<class T>
float mrpt::utils::CDynamicGrid< T >::m_x_max [protected]

template<class T>
float mrpt::utils::CDynamicGrid< T >::m_x_min [protected]

template<class T>
float mrpt::utils::CDynamicGrid< T >::m_y_max [protected]

template<class T>
float mrpt::utils::CDynamicGrid< T >::m_y_min [protected]




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN: at Thu Feb 26 02:19:01 EST 2009