MRPT
2.0.4
|
This is a template class for storing a 6-dimensional grid, with components corresponding to Euler angle parameterization of SE(3) poses.
poses_pdf_grp
Definition at line 23 of file CPose3DGridTemplate.h.
#include <mrpt/poses/CPose3DGridTemplate.h>
Public Member Functions | |
CPose3DGridTemplate (const mrpt::math::TPose3D &bb_min=mrpt::math::TPose3D(-1., -1., -1., -M_PI, -.5 *M_PI, -.5 *M_PI), const mrpt::math::TPose3D &bb_max=mrpt::math::TPose3D(1., 1., 1., M_PI,.5 *M_PI,.5 *M_PI), double resolution_XYZ=0.10, double resolution_YPR=mrpt::DEG2RAD(10.0)) | |
Default constructor: More... | |
virtual | ~CPose3DGridTemplate ()=default |
void | setSize (const mrpt::math::TPose3D &bb_min, const mrpt::math::TPose3D &bb_max, double resolution_XYZ, double resolution_YPR) |
Changes the limits and size of the grid, erasing previous contents: More... | |
const T * | getByPos (double x, double y, double z, double yaw, double pitch, double roll) const |
Reads the contents of a cell. More... | |
T * | getByPos (double x, double y, double z, double yaw, double pitch, double roll) |
const T * | getByPos (const mrpt::math::TPose3D &p) const |
T * | getByPos (const mrpt::math::TPose3D &p) |
const T * | getByIndex (int cx, int cy, int cz, int cY, int cP, int cR) const |
Reads the contents of a cell. More... | |
T * | getByIndex (int cx, int cy, int cz, int cY, int cP, int cR) |
template<class MATRIXLIKE > | |
void | getAsMatrix (MATRIXLIKE &outMat, const double z, const double yaw, const double pitch, const double roll) const |
Returns a XY slice of the grid, for given constant z,yaw, pitch and roll. More... | |
mrpt::math::TPose3D | getMinBoundingBox () const |
Get info about the 6D grid. More... | |
mrpt::math::TPose3D | getMaxBoundingBox () const |
double | getResolutionXYZ () const |
double | getResolutionAngles () const |
void | fill (const T &val) |
auto | getSizeX () const |
auto | getSizeY () const |
auto | getSizeZ () const |
auto | getSizeYaw () const |
auto | getSizePitch () const |
auto | getSizeRoll () const |
auto | getTotalVoxelCount () const |
const std::vector< T > & | getData () const |
std::vector< T > & | getData () |
Return "indexes" from coordinates | |
int | x2idx (double x) const |
int | y2idx (double y) const |
int | z2idx (double z) const |
int | yaw2idx (double yaw) const |
int | pitch2idx (double pitch) const |
int | roll2idx (double roll) const |
Return coordinates from "indexes" | |
double | idx2x (uint32_t cx) const |
double | idx2y (uint32_t cy) const |
double | idx2z (uint32_t cz) const |
double | idx2yaw (uint32_t cY) const |
double | idx2pitch (uint32_t cP) const |
double | idx2roll (uint32_t cR) const |
Protected Types | |
using | self_t = CPose3DGridTemplate< T > |
Protected Member Functions | |
void | update_cached_size_products () |
Protected Attributes | |
mrpt::math::TPose3D | m_bb_min {-1., -1., -1., -M_PI, -.5 * M_PI, -.5 * M_PI} |
mrpt::math::TPose3D | m_bb_max {+1., +1., +1., +M_PI, +.5 * M_PI, +.5 * M_PI} |
double | m_resolutionXYZ {0.20} |
Resolution of the grid. More... | |
double | m_resolutionYPR {mrpt::DEG2RAD(10.0)} |
uint32_t | m_sizeX {0} |
uint32_t | m_sizeY {0} |
uint32_t | m_sizeZ {0} |
uint32_t | m_sizeYaw {0} |
uint32_t | m_sizePitch {0} |
uint32_t | m_sizeRoll {0} |
uint32_t | m_size_xy |
uint32_t | m_size_xyz |
uint32_t | m_size_xyzY |
uint32_t | m_size_xyzYP |
uint32_t | m_size_xyzYPR |
int | m_min_cidX |
Minimum "cell indexes" for each coordinate. More... | |
int | m_min_cidY |
int | m_min_cidZ |
int | m_min_cidYaw |
int | m_min_cidPitch |
int | m_min_cidRoll |
std::vector< T > | m_data |
The data. More... | |
|
protected |
Definition at line 26 of file CPose3DGridTemplate.h.
|
inline |
Default constructor:
Definition at line 69 of file CPose3DGridTemplate.h.
|
virtualdefault |
|
inline |
Definition at line 281 of file CPose3DGridTemplate.h.
|
inline |
Returns a XY slice of the grid, for given constant z,yaw, pitch and roll.
Definition at line 256 of file CPose3DGridTemplate.h.
|
inline |
Reads the contents of a cell.
Definition at line 233 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), and mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Definition at line 246 of file CPose3DGridTemplate.h.
|
inline |
Reads the contents of a cell.
Definition at line 206 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Definition at line 215 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 222 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 227 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 295 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 296 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 276 of file CPose3DGridTemplate.h.
|
inline |
Get info about the 6D grid.
Definition at line 275 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 279 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 278 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 290 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 291 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 286 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 287 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 289 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 288 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 293 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 147 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 152 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 126 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 131 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 142 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 136 of file CPose3DGridTemplate.h.
|
inline |
Definition at line 109 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), and mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Definition at line 115 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), and mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Changes the limits and size of the grid, erasing previous contents:
Definition at line 162 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::CPose3DGridTemplate().
|
inlineprotected |
Definition at line 40 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
inline |
Definition at line 85 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Definition at line 91 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Definition at line 103 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), and mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
inline |
Definition at line 97 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), and mrpt::poses::CPose3DGridTemplate< double >::getByPos().
|
protected |
Definition at line 29 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getMaxBoundingBox(), and mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Definition at line 28 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getMinBoundingBox(), mrpt::poses::CPose3DGridTemplate< double >::idx2pitch(), mrpt::poses::CPose3DGridTemplate< double >::idx2roll(), mrpt::poses::CPose3DGridTemplate< double >::idx2x(), mrpt::poses::CPose3DGridTemplate< double >::idx2y(), mrpt::poses::CPose3DGridTemplate< double >::idx2yaw(), mrpt::poses::CPose3DGridTemplate< double >::idx2z(), mrpt::poses::CPose3DGridTemplate< double >::pitch2idx(), mrpt::poses::CPose3DGridTemplate< double >::roll2idx(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), mrpt::poses::CPose3DGridTemplate< double >::x2idx(), mrpt::poses::CPose3DGridTemplate< double >::y2idx(), mrpt::poses::CPose3DGridTemplate< double >::yaw2idx(), and mrpt::poses::CPose3DGridTemplate< double >::z2idx().
|
protected |
The data.
Stored in this order:
m_data[ ci_x
Definition at line 64 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::fill(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getData(), and mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Definition at line 51 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Definition at line 51 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Minimum "cell indexes" for each coordinate.
Definition at line 50 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Definition at line 50 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Definition at line 51 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Definition at line 50 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::setSize().
|
protected |
Resolution of the grid.
Definition at line 32 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getResolutionXYZ(), mrpt::poses::CPose3DGridTemplate< double >::idx2x(), mrpt::poses::CPose3DGridTemplate< double >::idx2y(), mrpt::poses::CPose3DGridTemplate< double >::idx2z(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), mrpt::poses::CPose3DGridTemplate< double >::x2idx(), mrpt::poses::CPose3DGridTemplate< double >::y2idx(), and mrpt::poses::CPose3DGridTemplate< double >::z2idx().
|
protected |
Definition at line 32 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getResolutionAngles(), mrpt::poses::CPose3DGridTemplate< double >::idx2pitch(), mrpt::poses::CPose3DGridTemplate< double >::idx2roll(), mrpt::poses::CPose3DGridTemplate< double >::idx2yaw(), mrpt::poses::CPose3DGridTemplate< double >::pitch2idx(), mrpt::poses::CPose3DGridTemplate< double >::roll2idx(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), and mrpt::poses::CPose3DGridTemplate< double >::yaw2idx().
|
protected |
Definition at line 38 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), and mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products().
|
protected |
Definition at line 38 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), and mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products().
|
protected |
Definition at line 38 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), and mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products().
|
protected |
Definition at line 38 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), and mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products().
|
protected |
|
protected |
Definition at line 35 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getSizePitch(), mrpt::poses::CPose3DGridTemplate< double >::idx2pitch(), mrpt::poses::CPose3DGridTemplate< double >::pitch2idx(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), and mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products().
|
protected |
Definition at line 35 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getSizeRoll(), mrpt::poses::CPose3DGridTemplate< double >::idx2roll(), mrpt::poses::CPose3DGridTemplate< double >::roll2idx(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), and mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products().
|
protected |
Definition at line 34 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getSizeX(), mrpt::poses::CPose3DGridTemplate< double >::idx2x(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products(), and mrpt::poses::CPose3DGridTemplate< double >::x2idx().
|
protected |
Definition at line 34 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getSizeY(), mrpt::poses::CPose3DGridTemplate< double >::idx2y(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products(), and mrpt::poses::CPose3DGridTemplate< double >::y2idx().
|
protected |
Definition at line 35 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getSizeYaw(), mrpt::poses::CPose3DGridTemplate< double >::idx2yaw(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products(), and mrpt::poses::CPose3DGridTemplate< double >::yaw2idx().
|
protected |
Definition at line 34 of file CPose3DGridTemplate.h.
Referenced by mrpt::poses::CPose3DGridTemplate< double >::getAsMatrix(), mrpt::poses::CPose3DGridTemplate< double >::getByIndex(), mrpt::poses::CPose3DGridTemplate< double >::getSizeZ(), mrpt::poses::CPose3DGridTemplate< double >::idx2z(), mrpt::poses::CPose3DGridTemplate< double >::setSize(), mrpt::poses::CPose3DGridTemplate< double >::update_cached_size_products(), and mrpt::poses::CPose3DGridTemplate< double >::z2idx().
Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020 |