Virtual base class for Digital Elevation Model (DEM) maps.
See derived classes for details. This class implements those operations which are especific to DEMs.
Definition at line 24 of file CHeightGridMap2D_Base.h.
#include <mrpt/maps/CHeightGridMap2D_Base.h>
Classes | |
struct | TPointInsertParams |
Extra params for insertIndividualPoint() More... | |
Public Member Functions | |
CHeightGridMap2D_Base () | |
virtual | ~CHeightGridMap2D_Base () |
bool | dem_internal_insertObservation (const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D *robotPose=NULL) |
Internal method called by internal_insertObservation() More... | |
Specific API for Digital Elevation Model (DEM) maps | |
bool | intersectLine3D (const mrpt::math::TLine3D &r1, mrpt::math::TObject3D &obj) const |
Gets the intersection between a 3D line and a Height Grid map (taking into account the different heights of each individual cell) More... | |
bool | getMinMaxHeight (float &z_min, float &z_max) const |
Computes the minimum and maximum height in the grid. More... | |
virtual bool | insertIndividualPoint (const double x, const double y, const double z, const TPointInsertParams ¶ms=TPointInsertParams())=0 |
Update the DEM with one new point. More... | |
virtual double | dem_get_resolution () const =0 |
virtual size_t | dem_get_size_x () const =0 |
virtual size_t | dem_get_size_y () const =0 |
virtual bool | dem_get_z_by_cell (const size_t cx, const size_t cy, double &z_out) const =0 |
Get cell 'z' by (cx,cy) cell indices. More... | |
virtual bool | dem_get_z (const double x, const double y, double &z_out) const =0 |
Get cell 'z' (x,y) by metric coordinates. More... | |
virtual void | dem_update_map ()=0 |
Ensure that all observations are reflected in the map estimate. More... | |
CHeightGridMap2D_Base::CHeightGridMap2D_Base | ( | ) |
Definition at line 27 of file CHeightGridMap2D_Base.cpp.
|
virtual |
Definition at line 31 of file CHeightGridMap2D_Base.cpp.
|
pure virtual |
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by intersectLine3D().
|
pure virtual |
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by getMinMaxHeight().
|
pure virtual |
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by getMinMaxHeight().
|
pure virtual |
Get cell 'z' (x,y) by metric coordinates.
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by intersectLine3D().
|
pure virtual |
Get cell 'z' by (cx,cy) cell indices.
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by getMinMaxHeight().
bool CHeightGridMap2D_Base::dem_internal_insertObservation | ( | const mrpt::obs::CObservation * | obs, |
const mrpt::poses::CPose3D * | robotPose = NULL |
||
) |
Internal method called by internal_insertObservation()
Definition at line 133 of file CHeightGridMap2D_Base.cpp.
References mrpt::obs::CObservation2DRangeScan::buildAuxPointsMap(), mrpt::maps::CPointsMap::changeCoordinatesReference(), dem_update_map(), mrpt::maps::CPointsMap::empty(), mrpt::maps::CPointsMap::getPoint(), insertIndividualPoint(), IS_CLASS, mrpt::maps::CPointsMap::loadFromVelodyneScan(), MRPT_END, MRPT_START, mrpt::maps::CPointsMap::size(), and mrpt::maps::CHeightGridMap2D_Base::TPointInsertParams::update_map_after_insertion.
|
pure virtual |
Ensure that all observations are reflected in the map estimate.
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by dem_internal_insertObservation().
bool CHeightGridMap2D_Base::getMinMaxHeight | ( | float & | z_min, |
float & | z_max | ||
) | const |
Computes the minimum and maximum height in the grid.
Definition at line 35 of file CHeightGridMap2D_Base.cpp.
References dem_get_size_x(), dem_get_size_y(), dem_get_z_by_cell(), mrpt::mrpt::utils::keep_max(), and mrpt::mrpt::utils::keep_min().
Referenced by mrpt::maps::CHeightGridMap2D::getAs3DObject(), and intersectLine3D().
|
pure virtual |
Update the DEM with one new point.
Implemented in mrpt::maps::CHeightGridMap2D, and mrpt::maps::CHeightGridMap2D_MRF.
Referenced by dem_internal_insertObservation().
bool CHeightGridMap2D_Base::intersectLine3D | ( | const mrpt::math::TLine3D & | r1, |
mrpt::math::TObject3D & | obj | ||
) | const |
Gets the intersection between a 3D line and a Height Grid map (taking into account the different heights of each individual cell)
Definition at line 66 of file CHeightGridMap2D_Base.cpp.
References dem_get_resolution(), dem_get_z(), getMinMaxHeight(), mrpt::math::TObject3D::getPoint(), mrpt::math::intersect(), min, MRPT_END, MRPT_START, mrpt::math::TPoint3D::norm(), mrpt::math::TObject3D, mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |