#include <GridMapBase.h>
Public Member Functions | |
void | allocateArray (const Eigen::Vector2i &newMapDims) |
void | clear () |
void | deleteArray () |
ConcreteCellType & | getCell (int x, int y) |
const ConcreteCellType & | getCell (int x, int y) const |
ConcreteCellType & | getCell (int index) |
const ConcreteCellType & | getCell (int index) const |
float | getCellLength () const |
Eigen::Vector2f | getMapCoords (const Eigen::Vector2f &worldCoords) const |
Eigen::Vector3f | getMapCoordsPose (const Eigen::Vector3f &worldPose) const |
const Eigen::Vector2i & | getMapDimensions () const |
const MapDimensionProperties & | getMapDimProperties () const |
bool | getMapExtends (int &xMax, int &yMax, int &xMin, int &yMin) const |
const Eigen::Affine2f & | getMapTworld () const |
float | getScaleToMap () const |
int | getSizeX () const |
int | getSizeY () const |
int | getUpdateIndex () const |
Eigen::Vector2f | getWorldCoords (const Eigen::Vector2f &mapCoords) const |
Eigen::Vector3f | getWorldCoordsPose (const Eigen::Vector3f &mapPose) const |
const Eigen::Affine2f & | getWorldTmap () const |
const Eigen::Affine3f & | getWorldTmap3D () const |
GridMapBase (float mapResolution, const Eigen::Vector2i &size, const Eigen::Vector2f &offset) | |
GridMapBase (const GridMapBase &other) | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool | hasGridValue (int x, int y) const |
GridMapBase & | operator= (const GridMapBase &other) |
bool | pointOutOfMapBounds (const Eigen::Vector2f &pointMapCoords) const |
virtual void | reset () |
void | setDimensionProperties (const Eigen::Vector2f &topLeftOffsetIn, const Eigen::Vector2i &mapDimensionsIn, float cellLengthIn) |
void | setDimensionProperties (const MapDimensionProperties &newMapDimProps) |
void | setMapGridSize (const Eigen::Vector2i &newMapDims) |
void | setMapTransformation (const Eigen::Vector2f &topLeftOffset, float cellLength) |
void | setUpdated () |
virtual | ~GridMapBase () |
Protected Attributes | |
ConcreteCellType * | mapArray |
Map representation used with plain pointer array. | |
MapDimensionProperties | mapDimensionProperties |
Eigen::Affine2f | mapTworld |
Homogenous 2D transform from world to map coordinates. | |
float | scaleToMap |
Scaling factor from world to map. | |
int | sizeX |
Eigen::Affine2f | worldTmap |
Homogenous 2D transform from map to world coordinates. | |
Eigen::Affine3f | worldTmap3D |
Homogenous 3D transform from map to world coordinates. | |
Private Attributes | |
int | lastUpdateIndex |
GridMapBase provides basic grid map functionality (creates grid , provides transformation from/to world coordinates). It serves as the base class for different map representations that may extend it's functionality.
Definition at line 44 of file GridMapBase.h.
hectorslam::GridMapBase< ConcreteCellType >::GridMapBase | ( | float | mapResolution, |
const Eigen::Vector2i & | size, | ||
const Eigen::Vector2f & | offset | ||
) | [inline] |
Constructor, creates grid representation and transformations.
Definition at line 95 of file GridMapBase.h.
virtual hectorslam::GridMapBase< ConcreteCellType >::~GridMapBase | ( | ) | [inline, virtual] |
Destructor
Definition at line 112 of file GridMapBase.h.
hectorslam::GridMapBase< ConcreteCellType >::GridMapBase | ( | const GridMapBase< ConcreteCellType > & | other | ) | [inline] |
Copy Constructor, only needed if pointer members are present.
Definition at line 173 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::allocateArray | ( | const Eigen::Vector2i & | newMapDims | ) | [inline] |
Allocates memory for the two dimensional pointer array for map representation.
Definition at line 120 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::clear | ( | ) | [inline] |
Resets the grid cell values by using the resetGridCell() function.
Definition at line 77 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::deleteArray | ( | ) | [inline] |
Definition at line 130 of file GridMapBase.h.
ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell | ( | int | x, |
int | y | ||
) | [inline] |
Definition at line 141 of file GridMapBase.h.
const ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell | ( | int | x, |
int | y | ||
) | const [inline] |
Definition at line 146 of file GridMapBase.h.
ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell | ( | int | index | ) | [inline] |
Definition at line 151 of file GridMapBase.h.
const ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell | ( | int | index | ) | const [inline] |
Definition at line 156 of file GridMapBase.h.
float hectorslam::GridMapBase< ConcreteCellType >::getCellLength | ( | ) | const [inline] |
Returns the cell edge length of grid cells in millimeters.
Definition at line 296 of file GridMapBase.h.
Eigen::Vector2f hectorslam::GridMapBase< ConcreteCellType >::getMapCoords | ( | const Eigen::Vector2f & | worldCoords | ) | const [inline] |
Returns the map coordinates for the given world coords.
Definition at line 218 of file GridMapBase.h.
Eigen::Vector3f hectorslam::GridMapBase< ConcreteCellType >::getMapCoordsPose | ( | const Eigen::Vector3f & | worldPose | ) | const [inline] |
Returns the map pose for the given world pose.
Definition at line 235 of file GridMapBase.h.
const Eigen::Vector2i& hectorslam::GridMapBase< ConcreteCellType >::getMapDimensions | ( | ) | const [inline] |
Definition at line 60 of file GridMapBase.h.
const MapDimensionProperties& hectorslam::GridMapBase< ConcreteCellType >::getMapDimProperties | ( | ) | const [inline] |
Definition at line 90 of file GridMapBase.h.
bool hectorslam::GridMapBase< ConcreteCellType >::getMapExtends | ( | int & | xMax, |
int & | yMax, | ||
int & | xMin, | ||
int & | yMin | ||
) | const [inline] |
Returns the rectangle ([xMin,yMin],[xMax,xMax]) containing non-default cell values
Definition at line 334 of file GridMapBase.h.
const Eigen::Affine2f& hectorslam::GridMapBase< ConcreteCellType >::getMapTworld | ( | ) | const [inline] |
Returns a reference to the homogenous 2D transform from world to map coordinates.
Definition at line 323 of file GridMapBase.h.
float hectorslam::GridMapBase< ConcreteCellType >::getScaleToMap | ( | ) | const [inline] |
Returns the scale factor for one unit in world coords to one unit in map coords.
Definition at line 287 of file GridMapBase.h.
int hectorslam::GridMapBase< ConcreteCellType >::getSizeX | ( | ) | const [inline] |
Definition at line 61 of file GridMapBase.h.
int hectorslam::GridMapBase< ConcreteCellType >::getSizeY | ( | ) | const [inline] |
Definition at line 62 of file GridMapBase.h.
int hectorslam::GridMapBase< ConcreteCellType >::getUpdateIndex | ( | ) | const [inline] |
Definition at line 329 of file GridMapBase.h.
Eigen::Vector2f hectorslam::GridMapBase< ConcreteCellType >::getWorldCoords | ( | const Eigen::Vector2f & | mapCoords | ) | const [inline] |
Returns the world coordinates for the given map coords.
Definition at line 210 of file GridMapBase.h.
Eigen::Vector3f hectorslam::GridMapBase< ConcreteCellType >::getWorldCoordsPose | ( | const Eigen::Vector3f & | mapPose | ) | const [inline] |
Returns the world pose for the given map pose.
Definition at line 226 of file GridMapBase.h.
const Eigen::Affine2f& hectorslam::GridMapBase< ConcreteCellType >::getWorldTmap | ( | ) | const [inline] |
Returns a reference to the homogenous 2D transform from map to world coordinates.
Definition at line 305 of file GridMapBase.h.
const Eigen::Affine3f& hectorslam::GridMapBase< ConcreteCellType >::getWorldTmap3D | ( | ) | const [inline] |
Returns a reference to the homogenous 3D transform from map to world coordinates.
Definition at line 314 of file GridMapBase.h.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool hectorslam::GridMapBase< ConcreteCellType >::hasGridValue | ( | int | x, |
int | y | ||
) | const [inline] |
Indicates if given x and y are within map bounds
Definition at line 55 of file GridMapBase.h.
GridMapBase& hectorslam::GridMapBase< ConcreteCellType >::operator= | ( | const GridMapBase< ConcreteCellType > & | other | ) | [inline] |
Assignment operator, only needed if pointer members are present.
Definition at line 182 of file GridMapBase.h.
bool hectorslam::GridMapBase< ConcreteCellType >::pointOutOfMapBounds | ( | const Eigen::Vector2f & | pointMapCoords | ) | const [inline] |
Definition at line 64 of file GridMapBase.h.
virtual void hectorslam::GridMapBase< ConcreteCellType >::reset | ( | ) | [inline, virtual] |
Definition at line 69 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::setDimensionProperties | ( | const Eigen::Vector2f & | topLeftOffsetIn, |
const Eigen::Vector2i & | mapDimensionsIn, | ||
float | cellLengthIn | ||
) | [inline] |
Definition at line 241 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::setDimensionProperties | ( | const MapDimensionProperties & | newMapDimProps | ) | [inline] |
Definition at line 246 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::setMapGridSize | ( | const Eigen::Vector2i & | newMapDims | ) | [inline] |
Definition at line 161 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::setMapTransformation | ( | const Eigen::Vector2f & | topLeftOffset, |
float | cellLength | ||
) | [inline] |
Set the map transformations
xWorld | The origin of the map coordinate system on the x axis in world coordinates |
yWorld | The origin of the map coordinate system on the y axis in world coordinates |
The | cell length of the grid map |
Definition at line 265 of file GridMapBase.h.
void hectorslam::GridMapBase< ConcreteCellType >::setUpdated | ( | ) | [inline] |
Definition at line 328 of file GridMapBase.h.
int hectorslam::GridMapBase< ConcreteCellType >::lastUpdateIndex [private] |
Definition at line 399 of file GridMapBase.h.
ConcreteCellType* hectorslam::GridMapBase< ConcreteCellType >::mapArray [protected] |
Map representation used with plain pointer array.
Definition at line 387 of file GridMapBase.h.
MapDimensionProperties hectorslam::GridMapBase< ConcreteCellType >::mapDimensionProperties [protected] |
Definition at line 395 of file GridMapBase.h.
Eigen::Affine2f hectorslam::GridMapBase< ConcreteCellType >::mapTworld [protected] |
Homogenous 2D transform from world to map coordinates.
Definition at line 393 of file GridMapBase.h.
float hectorslam::GridMapBase< ConcreteCellType >::scaleToMap [protected] |
Scaling factor from world to map.
Definition at line 389 of file GridMapBase.h.
int hectorslam::GridMapBase< ConcreteCellType >::sizeX [protected] |
Definition at line 396 of file GridMapBase.h.
Eigen::Affine2f hectorslam::GridMapBase< ConcreteCellType >::worldTmap [protected] |
Homogenous 2D transform from map to world coordinates.
Definition at line 391 of file GridMapBase.h.
Eigen::Affine3f hectorslam::GridMapBase< ConcreteCellType >::worldTmap3D [protected] |
Homogenous 3D transform from map to world coordinates.
Definition at line 392 of file GridMapBase.h.