|
octomap 1.9.8
|
Bounding-box leaf iterator. More...
#include <OcTreeIterator.hxx>
Public Member Functions | |
| point3d | getCoordinate () const |
| return the center coordinate of the current node | |
| unsigned | getDepth () const |
| return depth of the current node | |
| OcTreeKey | getIndexKey () const |
| const OcTreeKey & | getKey () const |
| double | getSize () const |
| double | getX () const |
| double | getY () const |
| double | getZ () const |
| leaf_bbx_iterator () | |
| leaf_bbx_iterator (const leaf_bbx_iterator &other) | |
| leaf_bbx_iterator (OcTreeBaseImpl< NodeType, INTERFACE > const *ptree, const OcTreeKey &min, const OcTreeKey &max, uint8_t depth=0) | |
| Constructor of the iterator. | |
| leaf_bbx_iterator (OcTreeBaseImpl< NodeType, INTERFACE > const *ptree, const point3d &min, const point3d &max, uint8_t depth=0) | |
| Constructor of the iterator. | |
| bool | operator!= (const iterator_base &other) const |
| Comparison between iterators. First compares the tree, then stack size and top element of stack. | |
| NodeType & | operator* () |
| Return the current node in the octree which the iterator is referring to. | |
| const NodeType & | operator* () const |
| Return the current node in the octree which the iterator is referring to. | |
| leaf_bbx_iterator & | operator++ () |
| prefix increment operator of iterator (++it) | |
| leaf_bbx_iterator | operator++ (int) |
| postfix increment operator of iterator (it++) | |
| NodeType * | operator-> () |
| Ptr operator will return the current node in the octree which the iterator is referring to. | |
| NodeType const * | operator-> () const |
| Ptr operator will return the current node in the octree which the iterator is referring to. | |
| bool | operator== (const iterator_base &other) const |
| Comparison between iterators. First compares the tree, then stack size and top element of stack. | |
Data Fields | |
| OcTreeKey | elements |
| STL member. | |
Protected Member Functions | |
| void | singleIncrement () |
Protected Attributes | |
| uint8_t | maxDepth |
| Maximum depth for depth-limited queries. | |
| OcTreeKey | maxKey |
| OcTreeKey | minKey |
| std::stack< StackElement, std::vector< StackElement > > | stack |
| Internal recursion stack. Apparently a stack of vector works fastest here. | |
| OcTreeBaseImpl< NodeType, INTERFACE > const * | tree |
| Octree this iterator is working on. | |
Bounding-box leaf iterator.
This iterator will traverse all leaf nodes within a given bounding box (axis-aligned). See below for example usage. Note that the non-trivial call to tree->end_leafs_bbx() should be done only once for efficiency!
|
inline |
References iterator_base::iterator_base().
Referenced by leaf_bbx_iterator(), operator++(), and operator++().
|
inline |
Constructor of the iterator.
The bounding box corners min and max are converted into an OcTreeKey first.
| ptree | OcTreeBaseImpl on which the iterator is used on |
| min | Minimum point3d of the axis-aligned boundingbox |
| max | Maximum point3d of the axis-aligned boundingbox |
| depth | Maximum depth to traverse the tree. 0 (default): unlimited |
References iterator_base::iterator_base(), and iterator_base::stack.
|
inline |
Constructor of the iterator.
This version uses the exact keys as axis-aligned bounding box (including min and max).
| ptree | OcTreeBaseImpl on which the iterator is used on |
| min | Minimum OcTreeKey to be included in the axis-aligned boundingbox |
| max | Maximum OcTreeKey to be included in the axis-aligned boundingbox |
| depth | Maximum depth to traverse the tree. 0 (default): unlimited |
References iterator_base::iterator_base(), maxKey, minKey, and iterator_base::stack.
|
inline |
References iterator_base::iterator_base(), leaf_bbx_iterator(), maxKey, and minKey.
|
inlineinherited |
|
inlineinherited |
return depth of the current node
References stack.
|
inlineinherited |
|
inlineinherited |
References stack.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Comparison between iterators. First compares the tree, then stack size and top element of stack.
References iterator_base(), stack, and tree.
|
inlineinherited |
Return the current node in the octree which the iterator is referring to.
References stack.
|
inlineinherited |
Return the current node in the octree which the iterator is referring to.
References stack.
|
inline |
prefix increment operator of iterator (++it)
References leaf_bbx_iterator(), singleIncrement(), iterator_base::stack, and iterator_base::tree.
|
inline |
postfix increment operator of iterator (it++)
References leaf_bbx_iterator().
|
inlineinherited |
Ptr operator will return the current node in the octree which the iterator is referring to.
References stack.
|
inlineinherited |
Ptr operator will return the current node in the octree which the iterator is referring to.
References stack.
|
inlineinherited |
Comparison between iterators. First compares the tree, then stack size and top element of stack.
References iterator_base(), stack, and tree.
|
inlineprotected |
References iterator_base::StackElement::depth, iterator_base::StackElement::key, maxKey, minKey, iterator_base::StackElement::node, iterator_base::stack, and iterator_base::tree.
Referenced by operator++().
|
inherited |
STL member.
|
protectedinherited |
Maximum depth for depth-limited queries.
Referenced by iterator_base(), iterator_base(), iterator_base(), operator=(), and singleIncrement().
|
protected |
Referenced by leaf_bbx_iterator(), leaf_bbx_iterator(), and singleIncrement().
|
protected |
Referenced by leaf_bbx_iterator(), leaf_bbx_iterator(), and singleIncrement().
|
protectedinherited |
Internal recursion stack. Apparently a stack of vector works fastest here.
Referenced by getCoordinate(), getDepth(), getIndexKey(), getKey(), getSize(), getX(), getY(), getZ(), iterator_base(), leaf_bbx_iterator::leaf_bbx_iterator(), leaf_bbx_iterator::leaf_bbx_iterator(), leaf_iterator::leaf_iterator(), operator!=(), operator*(), operator*(), leaf_bbx_iterator::operator++(), leaf_iterator::operator++(), tree_iterator::operator++(), operator->(), operator->(), operator=(), operator==(), singleIncrement(), and leaf_bbx_iterator::singleIncrement().
|
protectedinherited |
Octree this iterator is working on.
Referenced by getCoordinate(), getIndexKey(), getSize(), getX(), getY(), getZ(), tree_iterator::isLeaf(), iterator_base(), iterator_base(), iterator_base(), operator!=(), leaf_bbx_iterator::operator++(), leaf_iterator::operator++(), tree_iterator::operator++(), operator=(), operator==(), singleIncrement(), and leaf_bbx_iterator::singleIncrement().