Template Struct CLogOddsGridMap2D

Inheritance Relationships

Base Type

Struct Documentation

template<typename TCELL>
struct CLogOddsGridMap2D : public mrpt::maps::detail::logoddscell_traits<TCELL>

A generic provider of log-odds grid-map maintainance functions. Map cells must be type TCELL, which can be only:

  • int8_t or

  • int16_t

See also

CLogOddsGridMapLUT, See derived classes for usage examples.

Public Types

using cell_t = TCELL

The type of cells

using traits_t = detail::logoddscell_traits<TCELL>

Public Functions

inline void updateCell_fast_occupied(const unsigned x, const unsigned y, const cell_t logodd_obs, const cell_t thres, cell_t *mapArray, const unsigned _size_x)

Performs the Bayesian fusion of a new observation of a cell, without checking for grid limits nor updateInfoChangeOnly. This method increases the “occupancy-ness” of a cell, managing possible saturation.

See also

updateCell, updateCell_fast_free

Parameters:
  • x – Cell index in X axis.

  • y – Cell index in Y axis.

  • logodd_obs – Observation of the cell, in log-odd form as transformed by p2l.

  • thres – This must be CELLTYPE_MIN+logodd_obs

inline void updateCell_fast_occupied(cell_t *theCell, const cell_t logodd_obs, const cell_t thres)

Performs the Bayesian fusion of a new observation of a cell, without checking for grid limits nor updateInfoChangeOnly. This method increases the “occupancy-ness” of a cell, managing possible saturation.

See also

updateCell, updateCell_fast_free

Parameters:
  • theCell – The cell to modify

  • logodd_obs – Observation of the cell, in log-odd form as transformed by p2l.

  • thres – This must be CELLTYPE_MIN+logodd_obs

Public Static Functions

static inline void updateCell_fast_free(const unsigned x, const unsigned y, const cell_t logodd_obs, const cell_t thres, cell_t *mapArray, const unsigned _size_x)

Performs the Bayesian fusion of a new observation of a cell, without checking for grid limits nor updateInfoChangeOnly. This method increases the “free-ness” of a cell, managing possible saturation.

Parameters:
  • x – Cell index in X axis.

  • y – Cell index in Y axis.

  • logodd_obs – Observation of the cell, in log-odd form as transformed by p2l.

  • thres – This must be CELLTYPE_MAX-logodd_obs

static inline void updateCell_fast_free(cell_t *theCell, const cell_t logodd_obs, const cell_t thres)

Performs the Bayesian fusion of a new observation of a cell, without checking for grid limits nor updateInfoChangeOnly. This method increases the “free-ness” of a cell, managing possible saturation.

Parameters:
  • x – Cell index in X axis.

  • y – Cell index in Y axis.

  • logodd_obs – Observation of the cell, in log-odd form as transformed by p2l.

  • thres – This must be CELLTYPE_MAX-logodd_obs