Public Member Functions | Protected Attributes | Private Attributes | List of all members
hectorslam::GridMapBase< ConcreteCellType > Class Template Reference

#include <GridMapBase.h>

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

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. More...
 
MapDimensionProperties mapDimensionProperties
 
Eigen::Affine2f mapTworld
 Homogenous 2D transform from world to map coordinates. More...
 
float scaleToMap
 Scaling factor from world to map. More...
 
int sizeX
 
Eigen::Affine2f worldTmap
 Homogenous 2D transform from map to world coordinates. More...
 
Eigen::Affine3f worldTmap3D
 Homogenous 3D transform from map to world coordinates. More...
 

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 ( )
inlinevirtual

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 ( )
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 ( )
inlinevirtual

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:


hector_mapping
Author(s): Stefan Kohlbrecher
autogenerated on Sun Nov 3 2019 03:18:33