#include <Octree.hpp>

Public Types | |
| typedef std::pair< __SubTree *, int > | LocalAddress |
Public Member Functions | |
| size_t | depth () |
| __SubTree * | currentFather () |
| iterator & | operator++ (int) |
| const int & | localNumber () const |
| int & | localNumber () |
| void | addAddress (__SubTree *a) |
| operator __Leaf * () | |
| iterator () | |
| iterator (const iterator &i) | |
| ~iterator () | |
Private Attributes | |
| __Leaf * | __leaf |
| std::stack< LocalAddress > | __address |
Friends | |
| class | Octree< Content, Dimension > |
| class | __SubTree |
Definition at line 255 of file Octree.hpp.
| typedef std::pair<__SubTree*, int> Octree< Content, GivenDimension >::iterator::LocalAddress |
Definition at line 258 of file Octree.hpp.
| Octree< Content, GivenDimension >::iterator::iterator | ( | ) | [inline] |
| Octree< Content, GivenDimension >::iterator::iterator | ( | const iterator & | i | ) | [inline] |
| Octree< Content, GivenDimension >::iterator::~iterator | ( | ) | [inline] |
| size_t Octree< Content, GivenDimension >::iterator::depth | ( | ) | [inline] |
Definition at line 270 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__address.
00271 { 00272 return __address.size(); 00273 }
| __SubTree* Octree< Content, GivenDimension >::iterator::currentFather | ( | ) | [inline] |
Definition at line 275 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__address.
Referenced by Octree< Content, GivenDimension >::iterator::operator++().
00276 { 00277 if (__address.size() > 0) { 00278 return __address.top().first; 00279 } else { 00280 return 0; 00281 } 00282 }
| iterator& Octree< Content, GivenDimension >::iterator::operator++ | ( | int | ) | [inline] |
Definition at line 284 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__address, Octree< Content, GivenDimension >::iterator::__leaf, Octree< Content, GivenDimension >::iterator::addAddress(), Octree< Content, GivenDimension >::iterator::currentFather(), Octree< Content, GivenDimension >::__Node::leaf, Octree< Content, GivenDimension >::__SubTree::node(), and Octree< Content, GivenDimension >::__Node::type().
00285 { 00286 __SubTree* father = currentFather(); 00287 __leaf = 0; 00288 if (father != 0) { 00289 __address.top().second++; 00290 00291 if (__address.top().second < 8) { 00292 __Node* n = father->node(__address.top().second); 00293 if (n != 0) { 00294 if(n->type() == __Node::leaf) { 00295 __leaf = static_cast<__Leaf*>(n); 00296 } else { 00297 __SubTree* t = static_cast<__SubTree*>(n); 00298 this->addAddress(t); 00299 (*this)++; 00300 } 00301 } else { 00302 (*this)++; 00303 } 00304 } else { 00305 __address.pop(); 00306 (*this)++; 00307 } 00308 } 00309 return *this; 00310 }

| const int& Octree< Content, GivenDimension >::iterator::localNumber | ( | ) | const [inline] |
Definition at line 312 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__address.
00313 { 00314 return __address.top().second; 00315 }
| int& Octree< Content, GivenDimension >::iterator::localNumber | ( | ) | [inline] |
Definition at line 317 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__address.
00318 { 00319 return __address.top().second; 00320 }
| void Octree< Content, GivenDimension >::iterator::addAddress | ( | __SubTree * | a | ) | [inline] |
Definition at line 322 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__address.
Referenced by Octree< Content, GivenDimension >::__SubTree::begin(), and Octree< Content, GivenDimension >::iterator::operator++().
00323 { 00324 LocalAddress l; 00325 l.first = a; 00326 l.second = -1; 00327 __address.push(l); 00328 }
| Octree< Content, GivenDimension >::iterator::operator __Leaf * | ( | ) | [inline] |
Definition at line 330 of file Octree.hpp.
References Octree< Content, GivenDimension >::iterator::__leaf.
00331 { 00332 return __leaf; 00333 }
friend class Octree< Content, Dimension > [friend] |
Definition at line 260 of file Octree.hpp.
friend class __SubTree [friend] |
Definition at line 261 of file Octree.hpp.
__Leaf* Octree< Content, GivenDimension >::iterator::__leaf [private] |
Definition at line 264 of file Octree.hpp.
Referenced by Octree< Content, GivenDimension >::iterator::operator __Leaf *(), and Octree< Content, GivenDimension >::iterator::operator++().
std::stack<LocalAddress> Octree< Content, GivenDimension >::iterator::__address [private] |
Definition at line 266 of file Octree.hpp.
Referenced by Octree< Content, GivenDimension >::iterator::addAddress(), Octree< Content, GivenDimension >::iterator::currentFather(), Octree< Content, GivenDimension >::iterator::depth(), Octree< Content, GivenDimension >::iterator::localNumber(), and Octree< Content, GivenDimension >::iterator::operator++().
1.5.6