Voxomap
A C++11 voxel container.
|
#include <iterator.hpp>
Public Types | |
using | VoxelData = typename T::VoxelData |
using | VoxelContainer = typename T::VoxelContainer |
Public Member Functions | |
container_iterator & | operator++ () |
Pre-increment the iterator. More... | |
container_iterator | operator++ (int) |
Post increment the iterator. More... | |
container_iterator * | operator* () |
Dereference iterator. More... | |
operator bool () const | |
Returns true if the iterator is valid. More... | |
bool | operator== (container_iterator const &other) const |
Returns true if the iterator is same as other. More... | |
bool | operator!= (container_iterator const &other) const |
Returns true if the iterator is different as other. More... | |
void | begin (VoxelNode< T > &node) |
Initialize this with the first voxel of node. More... | |
void | end (VoxelNode< T > &node) |
Initialize this with the next element after the last voxel of node. More... | |
void | getVoxelPosition (int &x, int &y, int &z) const |
Get the absolute position of the voxel. More... | |
void | getRelativeVoxelPosition (int &x, int &y, int &z) const |
Get the relative position of the voxel inside its node. More... | |
void | initPosition (int x, int y, int z) |
Initiliaze the iterator with the absolute position. More... | |
int | getRelativeX () const |
int | getRelativeY () const |
int | getRelativeZ () const |
int | getAbsoluteX () const |
int | getAbsoluteY () const |
int | getAbsoluteZ () const |
container_iterator< T > | findRelativeVoxel (int x, int y, int z) |
Public Attributes | |
VoxelNode< T > * | node = nullptr |
Pointer on node. More... | |
VoxelContainer * | voxelContainer = nullptr |
Pointer on voxel container. More... | |
VoxelData * | voxel = nullptr |
Pointer on voxel. More... | |
uint8_t | x = 0 |
x coordinate of voxel inside node More... | |
uint8_t | y = 0 |
y coordinate of voxel inside node More... | |
uint8_t | z = 0 |
z coordinate of voxel inside node More... | |
Protected Member Functions | |
void | findNextParentNode (VoxelNode< T > &i_node) |
bool | findNextChildNode (VoxelNode< T > &i_node) |
bool | findNextVoxel (VoxelContainer &container) |
Definition at line 20 of file iterator.hpp.
using voxomap::container_iterator< T >::VoxelData = typename T::VoxelData |
Definition at line 22 of file iterator.hpp.
using voxomap::container_iterator< T >::VoxelContainer = typename T::VoxelContainer |
Definition at line 23 of file iterator.hpp.
container_iterator& voxomap::container_iterator< T >::operator++ | ( | ) |
Pre-increment the iterator.
container_iterator voxomap::container_iterator< T >::operator++ | ( | int | ) |
Post increment the iterator.
container_iterator* voxomap::container_iterator< T >::operator* | ( | ) |
Dereference iterator.
voxomap::container_iterator< T >::operator bool | ( | ) | const |
Returns true if the iterator is valid.
bool voxomap::container_iterator< T >::operator== | ( | container_iterator< T > const & | other | ) | const |
Returns true if the iterator is same as other.
bool voxomap::container_iterator< T >::operator!= | ( | container_iterator< T > const & | other | ) | const |
Returns true if the iterator is different as other.
void voxomap::container_iterator< T >::begin | ( | VoxelNode< T > & | node | ) |
Initialize this with the first voxel of node.
node |
void voxomap::container_iterator< T >::end | ( | VoxelNode< T > & | node | ) |
Initialize this with the next element after the last voxel of node.
node |
void voxomap::container_iterator< T >::getVoxelPosition | ( | int & | x, |
int & | y, | ||
int & | z | ||
) | const |
Get the absolute position of the voxel.
x | X position of voxel |
y | Y position of voxel |
z | Z position of voxel |
void voxomap::container_iterator< T >::getRelativeVoxelPosition | ( | int & | x, |
int & | y, | ||
int & | z | ||
) | const |
Get the relative position of the voxel inside its node.
x | X position of voxel |
y | Y position of voxel |
z | Z position of voxel |
void voxomap::container_iterator< T >::initPosition | ( | int | x, |
int | y, | ||
int | z | ||
) |
Initiliaze the iterator with the absolute position.
x | X position of the voxel |
y | Y position of the voxel |
z | Z position of the voxel |
int voxomap::container_iterator< T >::getRelativeX | ( | ) | const |
int voxomap::container_iterator< T >::getRelativeY | ( | ) | const |
int voxomap::container_iterator< T >::getRelativeZ | ( | ) | const |
int voxomap::container_iterator< T >::getAbsoluteX | ( | ) | const |
int voxomap::container_iterator< T >::getAbsoluteY | ( | ) | const |
int voxomap::container_iterator< T >::getAbsoluteZ | ( | ) | const |
container_iterator<T> voxomap::container_iterator< T >::findRelativeVoxel | ( | int | x, |
int | y, | ||
int | z | ||
) |
|
protected |
|
protected |
|
protected |
VoxelNode<T>* voxomap::container_iterator< T >::node = nullptr |
Pointer on node.
Definition at line 25 of file iterator.hpp.
VoxelContainer* voxomap::container_iterator< T >::voxelContainer = nullptr |
Pointer on voxel container.
Definition at line 26 of file iterator.hpp.
VoxelData* voxomap::container_iterator< T >::voxel = nullptr |
Pointer on voxel.
Definition at line 27 of file iterator.hpp.
uint8_t voxomap::container_iterator< T >::x = 0 |
x coordinate of voxel inside node
Definition at line 28 of file iterator.hpp.
uint8_t voxomap::container_iterator< T >::y = 0 |
y coordinate of voxel inside node
Definition at line 29 of file iterator.hpp.
uint8_t voxomap::container_iterator< T >::z = 0 |
z coordinate of voxel inside node
Definition at line 30 of file iterator.hpp.