10 #ifndef CHeightGridMap2D_H 11 #define CHeightGridMap2D_H 90 double x_max = 2,
double y_min = -2,
double y_max = 2,
91 double resolution = 0.1);
141 const double x,
const double y,
const double z,
148 const size_t cx,
const size_t cy,
double& z_out)
const override;
150 const double x,
const double y,
double& z_out)
const override;
167 double min_x, max_x, min_y, max_y, resolution;
177 namespace global_settings
Digital Elevation Model (DEM), a mesh or grid representation of a surface which keeps the estimated h...
void clear()
Erase all the contents of the map.
float var
The current standard deviation of the height (in meters)
float h
The current average height (in meters)
Parameters for CMetricMap::compute3DMatchingRatio()
Extra params for insertIndividualPoint()
#define MAP_DEFINITION_END(_CLASS_NAME_, _LINKAGE_)
bool HEIGHTGRIDMAP_EXPORT3D_AS_MESH()
CHeightGridMap2D(TMapRepresentation mapType=mrSimpleAverage, double x_min=-2, double x_max=2, double y_min=-2, double y_max=2, double resolution=0.1)
Constructor.
virtual void dem_update_map() override
Ensure that all observations are reflected in the map estimate.
TColormap
Different colormaps for use in mrpt::utils::colormap()
TMapRepresentation
The type of map representation to be used.
#define MAP_DEFINITION_START(_CLASS_NAME_)
Add a MAP_DEFINITION_START() ...
float compute3DMatchingRatio(const mrpt::maps::CMetricMap *otherMap, const mrpt::poses::CPose3D &otherMapPose, const TMatchingRatioParams ¶ms) const override
See docs in base class: in this class it always returns 0.
bool internal_insertObservation(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D *robotPose=nullptr) override
Internal method called by insertObservation()
The contents of each cell in a CHeightGridMap2D map.
virtual bool dem_get_z_by_cell(const size_t cx, const size_t cy, double &z_out) const override
Get cell 'z' by (cx,cy) cell indices.
virtual bool dem_get_z(const double x, const double y, double &z_out) const override
Get cell 'z' (x,y) by metric coordinates.
Only specializations of this class are defined for each enum type of interest.
uint32_t w
[For mrSimpleAverage model] The accumulated weight: initially zero if un-observed, increased by one for each observation
float v
Auxiliary (in meters)
void clear()
Calls the base CMetricMap::clear Declared here to avoid ambiguity between the two clear() in both bas...
GLubyte GLubyte GLubyte GLubyte w
This class allows loading and storing values and vectors of different types from a configuration text...
mrpt::maps::CHeightGridMap2D::TInsertionOptions insertionOptions
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
virtual size_t dem_get_size_x() const override
virtual bool insertIndividualPoint(const double x, const double y, const double z, const CHeightGridMap2D_Base::TPointInsertParams ¶ms=CHeightGridMap2D_Base::TPointInsertParams()) override
Update the DEM with one new point.
mrpt::utils::TColormap colorMap
float z_min
Only when filterByHeight is true: coordinates are always RELATIVE to the robot for this filter...
A 2D grid of dynamic size which stores any kind of data at each cell.
Parameters related with inserting observations into the map.
TInsertionOptions()
Default values loader.
std::vector< THeightGridmapCell > m_map
The cells.
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
std::shared_ptr< CSetOfObjects > Ptr
virtual double dem_get_resolution() const override
float u
Auxiliary variable for storing the incremental mean value (in meters).
GLsizei const GLchar ** string
TMapRepresentation getMapType()
Return the type of the gas distribution map, according to parameters passed on construction.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
static void fill(bimap< enum_t, std::string > &m_map)
virtual size_t dem_get_size_y() const override
Declares a virtual base class for all metric maps storage classes.
bool filterByHeight
Whether to perform filtering by z-coordinate (default=false): coordinates are always RELATIVE to the ...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents any robot's observation.
Virtual base class for Digital Elevation Model (DEM) maps.
void internal_clear() override
Internal method called by clear()
GLsizei GLsizei GLchar * source
void getAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &outObj) const override
Returns a 3D object representing the map: by default, it will be a mrpt::opengl::CMesh object...
TMapRepresentation m_mapType
The map representation type of this map.
float cell2float(const THeightGridmapCell &c) const override
double internal_computeObservationLikelihood(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D &takenFrom) override
Internal method called by computeObservationLikelihood()
GLsizei const GLfloat * value
void dumpToTextStream(mrpt::utils::CStream &out) const override
This method should clearly display all the contents of the structure in textual form, sending it to a CStream.
void saveMetricMapRepresentationToFile(const std::string &filNamePrefix) const override
This virtual method saves the map to a file "filNamePrefix"+< some_file_extension >...
maps::CHeightGridMap2D::TMapRepresentation enum_t
bool isEmpty() const override
Returns true if the map is empty/no observation has been inserted.
unsigned __int32 uint32_t
size_t countObservedCells() const
Return the number of cells with at least one height data inserted.
GLenum const GLfloat * params
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...