97 double xMin = -1.0f,
double xMax = 1.0f,
double yMin = -1.0f,
98 double yMax = 1.0f,
double resolutionXY = 0.5f,
100 double phiMax =
M_PI)
104 xMin, xMax, yMin, yMax, resolutionXY, resolutionPhi, phiMin,
112 double xMin,
double xMax,
double yMin,
double yMax,
double resolutionXY,
113 double resolutionPhi,
double phiMin = -
M_PI,
double phiMax =
M_PI)
150 const T*
getByPos(
double x,
double y,
double phi)
const 181 template <
class MATRIXLIKE>
188 for (
size_t y = 0; y <
m_sizeY; y++)
189 for (
size_t x = 0; x <
m_sizeX; x++)
CPose2DGridTemplate(double xMin=-1.0f, double xMax=1.0f, double yMin=-1.0f, double yMax=1.0f, double resolutionXY=0.5f, double resolutionPhi=mrpt::DEG2RAD(180.0), double phiMin=-M_PI, double phiMax=M_PI)
Default constructor:
double getXMin() const
Get info about the grid:
void setSize(double xMin, double xMax, double yMin, double yMax, double resolutionXY, double resolutionPhi, double phiMin=-M_PI, double phiMax=M_PI)
Changes the limits and size of the grid, erasing previous contents:
double getResolutionXY() const
virtual ~CPose2DGridTemplate()=default
size_t m_sizeX
The size of "m_data" is m_sizeX * m_sizeY * m_sizePhi.
double idx2y(size_t y) const
Returns coordinates from "indexes":
const T * getByPos(double x, double y, double phi) const
Reads the contents of a cell.
std::vector< T > m_data
The data:
const T * getByIndex(size_t x, size_t y, size_t phi) const
Reads the contents of a cell.
#define ASSERT_(f)
Defines an assertion mechanism.
constexpr double DEG2RAD(const double x)
Degrees to radians.
void getAsMatrix(double phi, MATRIXLIKE &outMat)
Returns the whole grid as a matrix, for a given constant "phi" and where each row contains values for...
size_t phi2idx(double phi) const
Returns "indexes" from coordinates:
size_t x2idx(double x) const
Returns "indexes" from coordinates:
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
double getResolutionPhi() const
T * getByPos(double x, double y, double phi)
Reads the contents of a cell.
double idx2phi(size_t phi) const
Returns coordinates from "indexes":
size_t y2idx(double y) const
Returns "indexes" from coordinates:
double m_xMin
The limits and resolution of the grid:
int m_idxLeftX
The indexes of the "left" borders:
double idx2x(size_t x) const
Returns coordinates from "indexes":
size_t getSizePhi() const
This is a template class for storing a 3D (2D+heading) grid containing any kind of data...
T * getByIndex(size_t x, size_t y, size_t phi)
Reads the contents of a cell.
int round(const T value)
Returns the closer integer (int) to x.