octomap 1.5.0
|
Implements a lookup table that allows to computer keys of neighbor cells directly, see: Samet 1989, "Implementing ray tracing with octrees and neighbor finding". More...
Public Types | |
enum | NeighborDirection { W = 0, E, N, S, T, B, SW, NW, SE, NE, TW, BW, TE, BE, TN, TS, BN, BS, TNW, TSW, TNE, TSE, BNW, BSW, BNE, BSE } |
(N)orth: positive X (S)outh: negative X (W)est : positive Y (E)ast: negative Y (T)op : positive Z (B)ottom: negative Z More... | |
Public Member Functions | |
bool | genNeighborKey (const OcTreeKey &node_key, const signed char &dir, OcTreeKey &neighbor_key) const |
OcTreeLUT (unsigned int _max_depth) | |
~OcTreeLUT () | |
Protected Member Functions | |
void | changeKey (const int &val, OcTreeKey &key, const unsigned short int &i) const |
unsigned int | genPos (const OcTreeKey &key, const int &i) const |
void | initLUT () |
Protected Attributes | |
unsigned int | max_depth |
signed char | nf_multiple_values [26][4] |
signed char | nf_rec_values [8][26] |
signed char | nf_values [8][26] |
Implements a lookup table that allows to computer keys of neighbor cells directly, see: Samet 1989, "Implementing ray tracing with octrees and neighbor finding".
octomap::OcTreeLUT::OcTreeLUT | ( | unsigned int | _max_depth | ) |
References initLUT().
octomap::OcTreeLUT::~OcTreeLUT | ( | ) |
void octomap::OcTreeLUT::changeKey | ( | const int & | val, |
OcTreeKey & | key, | ||
const unsigned short int & | i | ||
) | const [protected] |
References octomap::OcTreeKey::k.
Referenced by genNeighborKey().
bool octomap::OcTreeLUT::genNeighborKey | ( | const OcTreeKey & | node_key, |
const signed char & | dir, | ||
OcTreeKey & | neighbor_key | ||
) | const |
References changeKey(), genPos(), octomap::OcTreeKey::k, LUT_NO_REC, max_depth, nf_rec_values, and nf_values.
Referenced by main().
unsigned int octomap::OcTreeLUT::genPos | ( | const OcTreeKey & | key, |
const int & | i | ||
) | const [protected] |
References octomap::OcTreeKey::k.
Referenced by genNeighborKey().
void octomap::OcTreeLUT::initLUT | ( | ) | [protected] |
References LUT_E, LUT_F, LUT_FE, LUT_FE_TO_E, LUT_FE_TO_F, LUT_FN, LUT_FN_TO_F, LUT_FN_TO_N, LUT_FNE, LUT_FNE_TO_E, LUT_FNE_TO_F, LUT_FNE_TO_FE, LUT_FNE_TO_FN, LUT_FNE_TO_N, LUT_FNE_TO_NE, LUT_FNW, LUT_FNW_TO_F, LUT_FNW_TO_FN, LUT_FNW_TO_FW, LUT_FNW_TO_N, LUT_FNW_TO_NW, LUT_FNW_TO_W, LUT_FS, LUT_FS_TO_F, LUT_FS_TO_S, LUT_FSE, LUT_FSE_TO_E, LUT_FSE_TO_F, LUT_FSE_TO_FE, LUT_FSE_TO_FS, LUT_FSE_TO_S, LUT_FSE_TO_SE, LUT_FSW, LUT_FSW_TO_F, LUT_FSW_TO_FS, LUT_FSW_TO_FW, LUT_FSW_TO_S, LUT_FSW_TO_SW, LUT_FSW_TO_W, LUT_FW, LUT_FW_TO_F, LUT_FW_TO_W, LUT_N, LUT_NE, LUT_NE_TO_E, LUT_NE_TO_N, LUT_NO_REC, LUT_NW, LUT_NW_TO_N, LUT_NW_TO_W, LUT_R, LUT_RE, LUT_RE_TO_E, LUT_RE_TO_R, LUT_RN, LUT_RN_TO_N, LUT_RN_TO_R, LUT_RNE, LUT_RNE_TO_E, LUT_RNE_TO_N, LUT_RNE_TO_NE, LUT_RNE_TO_R, LUT_RNE_TO_RE, LUT_RNE_TO_RN, LUT_RNW, LUT_RNW_TO_N, LUT_RNW_TO_NW, LUT_RNW_TO_R, LUT_RNW_TO_RN, LUT_RNW_TO_RW, LUT_RNW_TO_W, LUT_RS, LUT_RS_TO_R, LUT_RS_TO_S, LUT_RSE, LUT_RSE_TO_E, LUT_RSE_TO_R, LUT_RSE_TO_RE, LUT_RSE_TO_RS, LUT_RSE_TO_S, LUT_RSE_TO_SE, LUT_RSW, LUT_RSW_TO_R, LUT_RSW_TO_RS, LUT_RSW_TO_RW, LUT_RSW_TO_S, LUT_RSW_TO_SW, LUT_RSW_TO_W, LUT_RW, LUT_RW_TO_R, LUT_RW_TO_W, LUT_S, LUT_SE, LUT_SE_TO_E, LUT_SE_TO_S, LUT_SELF, LUT_SW, LUT_SW_TO_S, LUT_SW_TO_W, LUT_W, nf_multiple_values, nf_rec_values, and nf_values.
Referenced by OcTreeLUT().
unsigned int octomap::OcTreeLUT::max_depth [protected] |
Referenced by genNeighborKey().
signed char octomap::OcTreeLUT::nf_multiple_values[26][4] [protected] |
Referenced by initLUT().
signed char octomap::OcTreeLUT::nf_rec_values[8][26] [protected] |
Referenced by genNeighborKey(), and initLUT().
signed char octomap::OcTreeLUT::nf_values[8][26] [protected] |
Referenced by genNeighborKey(), and initLUT().