All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends
Public Member Functions | Protected Attributes | Private Attributes
hectorslam::GridMapBase< ConcreteCellType > Class Template Reference

#include <GridMapBase.h>

Inheritance diagram for hectorslam::GridMapBase< ConcreteCellType >:
Inheritance graph
[legend]

List of all members.

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 MapDimensionPropertiesgetMapDimProperties () 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
GridMapBaseoperator= (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

Detailed Description

template<typename ConcreteCellType>
class hectorslam::GridMapBase< ConcreteCellType >

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.


Constructor & Destructor Documentation

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
virtual hectorslam::GridMapBase< ConcreteCellType >::~GridMapBase ( ) [inline, virtual]

Destructor

Definition at line 112 of file GridMapBase.h.

template<typename ConcreteCellType >
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.


Member Function Documentation

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::clear ( void  ) [inline]

Resets the grid cell values by using the resetGridCell() function.

Definition at line 77 of file GridMapBase.h.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::deleteArray ( ) [inline]

Definition at line 130 of file GridMapBase.h.

template<typename ConcreteCellType >
ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell ( int  x,
int  y 
) [inline]

Definition at line 141 of file GridMapBase.h.

template<typename ConcreteCellType >
const ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell ( int  x,
int  y 
) const [inline]

Definition at line 146 of file GridMapBase.h.

template<typename ConcreteCellType >
ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell ( int  index) [inline]

Definition at line 151 of file GridMapBase.h.

template<typename ConcreteCellType >
const ConcreteCellType& hectorslam::GridMapBase< ConcreteCellType >::getCell ( int  index) const [inline]

Definition at line 156 of file GridMapBase.h.

template<typename ConcreteCellType >
float hectorslam::GridMapBase< ConcreteCellType >::getCellLength ( ) const [inline]

Returns the cell edge length of grid cells in millimeters.

Returns:
the cell edge length in millimeters.

Definition at line 296 of file GridMapBase.h.

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
const Eigen::Vector2i& hectorslam::GridMapBase< ConcreteCellType >::getMapDimensions ( ) const [inline]

Definition at line 60 of file GridMapBase.h.

template<typename ConcreteCellType >
const MapDimensionProperties& hectorslam::GridMapBase< ConcreteCellType >::getMapDimProperties ( ) const [inline]

Definition at line 90 of file GridMapBase.h.

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
const Eigen::Affine2f& hectorslam::GridMapBase< ConcreteCellType >::getMapTworld ( ) const [inline]

Returns a reference to the homogenous 2D transform from world to map coordinates.

Returns:
The homogenous 2D transform.

Definition at line 323 of file GridMapBase.h.

template<typename ConcreteCellType >
float hectorslam::GridMapBase< ConcreteCellType >::getScaleToMap ( ) const [inline]

Returns the scale factor for one unit in world coords to one unit in map coords.

Returns:
The scale factor

Definition at line 287 of file GridMapBase.h.

template<typename ConcreteCellType >
int hectorslam::GridMapBase< ConcreteCellType >::getSizeX ( ) const [inline]

Definition at line 61 of file GridMapBase.h.

template<typename ConcreteCellType >
int hectorslam::GridMapBase< ConcreteCellType >::getSizeY ( ) const [inline]

Definition at line 62 of file GridMapBase.h.

template<typename ConcreteCellType >
int hectorslam::GridMapBase< ConcreteCellType >::getUpdateIndex ( ) const [inline]

Definition at line 329 of file GridMapBase.h.

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
const Eigen::Affine2f& hectorslam::GridMapBase< ConcreteCellType >::getWorldTmap ( ) const [inline]

Returns a reference to the homogenous 2D transform from map to world coordinates.

Returns:
The homogenous 2D transform.

Definition at line 305 of file GridMapBase.h.

template<typename ConcreteCellType >
const Eigen::Affine3f& hectorslam::GridMapBase< ConcreteCellType >::getWorldTmap3D ( ) const [inline]

Returns a reference to the homogenous 3D transform from map to world coordinates.

Returns:
The homogenous 3D transform.

Definition at line 314 of file GridMapBase.h.

template<typename ConcreteCellType >
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

Returns:
True if coordinates are within map bounds

Definition at line 55 of file GridMapBase.h.

template<typename ConcreteCellType >
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.

template<typename ConcreteCellType >
bool hectorslam::GridMapBase< ConcreteCellType >::pointOutOfMapBounds ( const Eigen::Vector2f &  pointMapCoords) const [inline]

Definition at line 64 of file GridMapBase.h.

template<typename ConcreteCellType >
virtual void hectorslam::GridMapBase< ConcreteCellType >::reset ( ) [inline, virtual]

Definition at line 69 of file GridMapBase.h.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::setDimensionProperties ( const Eigen::Vector2f &  topLeftOffsetIn,
const Eigen::Vector2i &  mapDimensionsIn,
float  cellLengthIn 
) [inline]

Definition at line 241 of file GridMapBase.h.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::setDimensionProperties ( const MapDimensionProperties newMapDimProps) [inline]

Definition at line 246 of file GridMapBase.h.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::setMapGridSize ( const Eigen::Vector2i &  newMapDims) [inline]

Definition at line 161 of file GridMapBase.h.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::setMapTransformation ( const Eigen::Vector2f &  topLeftOffset,
float  cellLength 
) [inline]

Set the map transformations

Parameters:
xWorldThe origin of the map coordinate system on the x axis in world coordinates
yWorldThe origin of the map coordinate system on the y axis in world coordinates
Thecell length of the grid map

Definition at line 265 of file GridMapBase.h.

template<typename ConcreteCellType >
void hectorslam::GridMapBase< ConcreteCellType >::setUpdated ( ) [inline]

Definition at line 328 of file GridMapBase.h.


Member Data Documentation

template<typename ConcreteCellType >
int hectorslam::GridMapBase< ConcreteCellType >::lastUpdateIndex [private]

Definition at line 399 of file GridMapBase.h.

template<typename ConcreteCellType >
ConcreteCellType* hectorslam::GridMapBase< ConcreteCellType >::mapArray [protected]

Map representation used with plain pointer array.

Definition at line 387 of file GridMapBase.h.

template<typename ConcreteCellType >
MapDimensionProperties hectorslam::GridMapBase< ConcreteCellType >::mapDimensionProperties [protected]

Definition at line 395 of file GridMapBase.h.

template<typename ConcreteCellType >
Eigen::Affine2f hectorslam::GridMapBase< ConcreteCellType >::mapTworld [protected]

Homogenous 2D transform from world to map coordinates.

Definition at line 393 of file GridMapBase.h.

template<typename ConcreteCellType >
float hectorslam::GridMapBase< ConcreteCellType >::scaleToMap [protected]

Scaling factor from world to map.

Definition at line 389 of file GridMapBase.h.

template<typename ConcreteCellType >
int hectorslam::GridMapBase< ConcreteCellType >::sizeX [protected]

Definition at line 396 of file GridMapBase.h.

template<typename ConcreteCellType >
Eigen::Affine2f hectorslam::GridMapBase< ConcreteCellType >::worldTmap [protected]

Homogenous 2D transform from map to world coordinates.

Definition at line 391 of file GridMapBase.h.

template<typename ConcreteCellType >
Eigen::Affine3f hectorslam::GridMapBase< ConcreteCellType >::worldTmap3D [protected]

Homogenous 3D transform from map to world coordinates.

Definition at line 392 of file GridMapBase.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends


hector_mapping
Author(s): Stefan Kohlbrecher
autogenerated on Mon Jul 15 2013 16:52:04