28 #include "WHierarchicalTree.h"
34 m_leafesLocked( false )
52 std::list<size_t>worklist;
53 worklist.push_back( cluster );
55 while( worklist.size() < number )
57 size_t current = worklist.front();
63 worklist.push_back( left );
64 worklist.push_back( right );
68 worklist.push_back( current );
79 size_t current = worklist.front();
85 size_t last = worklist.back();
90 worklist.push_back( left );
95 last = worklist.back();
100 worklist.pop_front();
102 if( worklist.size() == number )
106 worklist.push_back( right );
113 std::vector<size_t>returnVector;
114 std::list<size_t>::iterator it;
115 for( it = worklist.begin(); it != worklist.end(); ++it )
117 size_t current = *it;
119 returnVector.push_back( current );
132 std::vector< size_t > returnVector;
134 std::list< size_t > worklist;
137 for(
size_t i = 0; i < level; ++i )
139 std::list<size_t>newChildList;
140 while( !worklist.empty() )
142 size_t current = worklist.front();
143 worklist.pop_front();
153 newChildList.push_back( left );
157 newChildList.push_back( right );
162 newChildList.push_back( left );
163 newChildList.push_back( right );
167 worklist = newChildList;
172 std::list<size_t>::iterator it;
173 for( it = worklist.begin(); it != worklist.end(); ++it )
175 size_t current = *it;
176 returnVector.push_back( current );