25 #include "WHierarchicalTree.h"
31 m_leafesLocked( false )
49 std::list<size_t>worklist;
50 worklist.push_back( cluster );
52 while( worklist.size() < number )
54 size_t current = worklist.front();
60 worklist.push_back( left );
61 worklist.push_back( right );
65 worklist.push_back( current );
76 size_t current = worklist.front();
82 size_t last = worklist.back();
87 worklist.push_back( left );
92 last = worklist.back();
99 if( worklist.size() == number )
103 worklist.push_back( right );
110 std::vector<size_t>returnVector;
111 std::list<size_t>::iterator it;
112 for( it = worklist.begin(); it != worklist.end(); ++it )
114 size_t current = *it;
116 returnVector.push_back( current );
129 std::vector<size_t>returnVector;
131 std::list<size_t>worklist;
134 for(
size_t i = 0; i < level; ++i )
136 std::list<size_t>newChildList;
137 while( !worklist.empty() )
139 size_t current = worklist.front();
140 worklist.pop_front();
150 newChildList.push_back( left );
154 newChildList.push_back( right );
159 newChildList.push_back( left );
160 newChildList.push_back( right );
164 worklist = newChildList;
169 std::list<size_t>::iterator it;
170 for( it = worklist.begin(); it != worklist.end(); ++it )
172 size_t current = *it;
173 returnVector.push_back( current );