|
degate 0.1.1
|
#include <QuadTreeDownIterator.h>
Public Member Functions | |
| down_iterator () | |
| down_iterator (QuadTree< T > *node) | |
| virtual | ~down_iterator () |
| virtual down_iterator & | operator= (const down_iterator &other) |
| virtual down_iterator & | operator++ () |
| virtual bool | operator== (const down_iterator &other) const |
| virtual bool | operator!= (const down_iterator &other) const |
| virtual T * | operator-> () const |
| virtual T | operator* () const |
Private Member Functions | |
| void | next_node () |
Private Attributes | |
| QuadTree< T > * | node |
| bool | done |
| std::list< T >::iterator | children_iter |
| std::list< T >::iterator | children_iter_end |
| std::list< QuadTree< T > * > | open_list |
Definition at line 30 of file QuadTreeDownIterator.h.
| degate::down_iterator< T >::down_iterator | ( | ) |
Definition at line 57 of file QuadTreeDownIterator.h.
| degate::down_iterator< T >::down_iterator | ( | QuadTree< T > * | node | ) |
Definition at line 61 of file QuadTreeDownIterator.h.
References degate::down_iterator< T >::next_node(), and degate::down_iterator< T >::open_list.

| virtual degate::down_iterator< T >::~down_iterator | ( | ) | [inline, virtual] |
Definition at line 46 of file QuadTreeDownIterator.h.
{}
| void degate::down_iterator< T >::next_node | ( | ) | [private] |
Definition at line 72 of file QuadTreeDownIterator.h.
References degate::QuadTree< T >::subtree_nodes.
Referenced by degate::down_iterator< T >::down_iterator().
{
if(node == NULL) {
if(open_list.size() > 0) {
node = open_list.front();
open_list.pop_front();
// add subtree nodes to open list
for(typename std::vector<QuadTree<T> >::iterator it = node->subtree_nodes.begin();
it != node->subtree_nodes.end();
++it)
open_list.push_back(&*it);
// reset iterator for current
children_iter = node->children.begin();
children_iter_end = node->children.end();
if(children_iter == children_iter_end) {
done = true;
}
}
else {
done = true;
}
}
}

| bool degate::down_iterator< T >::operator!= | ( | const down_iterator< T > & | other | ) | const [virtual] |
Definition at line 140 of file QuadTreeDownIterator.h.
{
return !(*this == other);
}
| T degate::down_iterator< T >::operator* | ( | ) | const [virtual] |
Definition at line 150 of file QuadTreeDownIterator.h.
{
return *children_iter;
}
| down_iterator< T > & degate::down_iterator< T >::operator++ | ( | ) | [virtual] |
Definition at line 101 of file QuadTreeDownIterator.h.
{
if(!done) {
++children_iter;
}
if(!done && children_iter == children_iter_end) {
node = NULL;
next_node();
}
return (*this);
}
| T * degate::down_iterator< T >::operator-> | ( | ) | const [virtual] |
Definition at line 145 of file QuadTreeDownIterator.h.
{
return &*children_iter;
}
| down_iterator< T > & degate::down_iterator< T >::operator= | ( | const down_iterator< T > & | other | ) | [virtual] |
Definition at line 117 of file QuadTreeDownIterator.h.
References degate::down_iterator< T >::children_iter, degate::down_iterator< T >::children_iter_end, degate::down_iterator< T >::done, degate::down_iterator< T >::node, and degate::down_iterator< T >::open_list.
{
node = other.node;
done = other.done;
open_list = other.open_list;
children_iter = other.children_iter;
children_iter_end = other.children_iter_end;
return(*this);
}
| bool degate::down_iterator< T >::operator== | ( | const down_iterator< T > & | other | ) | const [virtual] |
Definition at line 127 of file QuadTreeDownIterator.h.
References degate::down_iterator< T >::children_iter, degate::down_iterator< T >::done, degate::down_iterator< T >::node, and degate::down_iterator< T >::open_list.
{
if(done == true && other.done == true)
return true;
else
return (node == other.node &&
children_iter == other.children_iter &&
open_list == other.open_list &&
done == other.done);
}
std::list<T>::iterator degate::down_iterator< T >::children_iter [private] |
Definition at line 36 of file QuadTreeDownIterator.h.
Referenced by degate::down_iterator< T >::operator=(), and degate::down_iterator< T >::operator==().
std::list<T>::iterator degate::down_iterator< T >::children_iter_end [private] |
Definition at line 37 of file QuadTreeDownIterator.h.
Referenced by degate::down_iterator< T >::operator=().
bool degate::down_iterator< T >::done [private] |
Definition at line 34 of file QuadTreeDownIterator.h.
Referenced by degate::down_iterator< T >::operator=(), and degate::down_iterator< T >::operator==().
QuadTree<T>* degate::down_iterator< T >::node [private] |
Definition at line 33 of file QuadTreeDownIterator.h.
Referenced by degate::down_iterator< T >::operator=(), and degate::down_iterator< T >::operator==().
std::list<QuadTree<T> *> degate::down_iterator< T >::open_list [private] |
Definition at line 39 of file QuadTreeDownIterator.h.
Referenced by degate::down_iterator< T >::down_iterator(), degate::down_iterator< T >::operator=(), and degate::down_iterator< T >::operator==().
1.7.4