A 2D grid of dynamic size which stores any kind of data at each cell.
T | The type of each cell in the 2D grid. |
Definition at line 43 of file CDynamicGrid.h.
#include <mrpt/utils/CDynamicGrid.h>
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. | |
size_t | getSizeX () const |
Returns the horizontal size of grid map in cells count. | |
size_t | getSizeY () const |
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 |
template<class MAT > | |
void | getAsMatrix (MAT &m) const |
Get the entire grid as a matrix. | |
Protected Member Functions | |
std::vector< T > & | m_map_castaway_const () const |
Used only from logically const method that really need to modify the object. | |
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 |
size_t | m_size_x |
size_t | m_size_y |
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 60 of file CDynamicGrid.h.
virtual mrpt::utils::CDynamicGrid< T >::~CDynamicGrid | ( | ) | [inline, virtual] |
Destructor.
Definition at line 75 of file CDynamicGrid.h.
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 280 of file CDynamicGrid.h.
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 235 of file CDynamicGrid.h.
Referenced by mrpt::slam::COccupancyGridMap2D::getBasisCell(), mrpt::slam::COccupancyGridMap2D::getVoroniClearance(), mrpt::slam::COccupancyGridMap2D::setBasisCell(), and mrpt::slam::COccupancyGridMap2D::setVoroniClearance().
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 244 of file CDynamicGrid.h.
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 209 of file CDynamicGrid.h.
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 222 of file CDynamicGrid.h.
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 107 of file CDynamicGrid.h.
void mrpt::utils::CDynamicGrid< T >::fill | ( | const T & | value | ) | [inline] |
Fills all the cells with the same value.
Definition at line 115 of file CDynamicGrid.h.
void mrpt::utils::CDynamicGrid< T >::getAsMatrix | ( | MAT & | m | ) | const [inline] |
Get the entire grid as a matrix.
MAT | The type of the matrix, typically a CMatrixDouble. |
[out] | m | The output matrix; will be set automatically to the correct size. Entry (cy,cx) in the matrix contains the grid cell with indices (cx,cy). |
Definition at line 328 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::getResolution | ( | ) | const [inline] |
Returns the resolution of the grid map.
Definition at line 277 of file CDynamicGrid.h.
size_t mrpt::utils::CDynamicGrid< T >::getSizeX | ( | ) | const [inline] |
Returns the horizontal size of grid map in cells count.
Definition at line 253 of file CDynamicGrid.h.
Referenced by mrpt::slam::COccupancyGridMap2D::getBasisCell(), mrpt::slam::COccupancyGridMap2D::getVoroniClearance(), mrpt::slam::COccupancyGridMap2D::setBasisCell(), and mrpt::slam::COccupancyGridMap2D::setVoroniClearance().
size_t mrpt::utils::CDynamicGrid< T >::getSizeY | ( | ) | const [inline] |
Returns the vertical size of grid map in cells count.
Definition at line 257 of file CDynamicGrid.h.
Referenced by mrpt::slam::COccupancyGridMap2D::getBasisCell(), mrpt::slam::COccupancyGridMap2D::getVoroniClearance(), mrpt::slam::COccupancyGridMap2D::setBasisCell(), and mrpt::slam::COccupancyGridMap2D::setVoroniClearance().
float mrpt::utils::CDynamicGrid< T >::getXMax | ( | ) | const [inline] |
Returns the "x" coordinate of right side of grid map.
Definition at line 265 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::getXMin | ( | ) | const [inline] |
Returns the "x" coordinate of left side of grid map.
Definition at line 261 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::getYMax | ( | ) | const [inline] |
Returns the "y" coordinate of bottom side of grid map.
Definition at line 273 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::getYMin | ( | ) | const [inline] |
Returns the "y" coordinate of top side of grid map.
Definition at line 269 of file CDynamicGrid.h.
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 305 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::idx2x | ( | int | cx | ) | const [inline] |
Transform a cell index into a coordinate value.
Definition at line 313 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::idx2y | ( | int | cy | ) | const [inline] |
Definition at line 314 of file CDynamicGrid.h.
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 object.
Definition at line 51 of file CDynamicGrid.h.
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.
Definition at line 120 of file CDynamicGrid.h.
void mrpt::utils::CDynamicGrid< T >::saveToTextFile | ( | const std::string & | fileName | ) | const [inline] |
Definition at line 285 of file CDynamicGrid.h.
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.
Definition at line 82 of file CDynamicGrid.h.
int mrpt::utils::CDynamicGrid< T >::x2idx | ( | float | x | ) | const [inline] |
Transform a coordinate values into cell indexes.
Definition at line 300 of file CDynamicGrid.h.
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 318 of file CDynamicGrid.h.
int mrpt::utils::CDynamicGrid< T >::xy2idx | ( | float | x, |
float | y | ||
) | const [inline] |
Definition at line 302 of file CDynamicGrid.h.
int mrpt::utils::CDynamicGrid< T >::y2idx | ( | float | y | ) | const [inline] |
Definition at line 301 of file CDynamicGrid.h.
int mrpt::utils::CDynamicGrid< T >::y2idx | ( | float | y, |
float | y_min | ||
) | const [inline] |
Definition at line 319 of file CDynamicGrid.h.
std::vector<T> mrpt::utils::CDynamicGrid< T >::m_map [protected] |
The cells.
Definition at line 48 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::m_resolution [protected] |
Definition at line 54 of file CDynamicGrid.h.
size_t mrpt::utils::CDynamicGrid< T >::m_size_x [protected] |
Definition at line 55 of file CDynamicGrid.h.
size_t mrpt::utils::CDynamicGrid< T >::m_size_y [protected] |
Definition at line 55 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::m_x_max [protected] |
Definition at line 53 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::m_x_min [protected] |
Definition at line 53 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::m_y_max [protected] |
Definition at line 53 of file CDynamicGrid.h.
float mrpt::utils::CDynamicGrid< T >::m_y_min [protected] |
Definition at line 53 of file CDynamicGrid.h.
Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN:exported at Tue Jan 25 21:56:31 UTC 2011 |