#include <TEveElementIter.h>
|
std::vector< TEveElement * > | elements |
|
std::vector< TEveElement * >
::iterator | iter |
|
TPRegexp | regexp |
|
Definition at line 15 of file TEveElementIter.h.
TEveElementIter::TEveElementIter |
( |
TEveElement * |
element, |
|
|
const char * |
regular_expression = 0 |
|
) |
| |
Definition at line 7 of file TEveElementIter.cc.
References addElement(), elements, fwLog, cmsHarvester::index, iter, fwlog::kError, parents, and regexp.
9 if ( regular_expression )
regexp = TPRegexp( regular_expression );
10 std::stack<std::pair<TEveElement*,TEveElement::List_i> >
parents;
11 parents.push( std::pair<TEveElement*,TEveElement::List_i>( element, element->BeginChildren() ) );
13 unsigned int index = 0;
14 unsigned int indexLimit = 1000000;
15 while ( !parents.empty() && ++index < indexLimit ) {
17 if ( parents.top().second == parents.top().first->EndChildren() )
21 if ( !parents.empty() ) ++(parents.top().second);
26 if ( (*parents.top().second)->NumChildren() > 0 ) {
27 parents.push( std::pair<TEveElement*,TEveElement::List_i>( *(parents.top().second),
28 (*parents.top().second)->BeginChildren() ) );
34 ++(parents.top().second);
36 if ( index >= indexLimit ) {
38 <<
"You either have a tree with loops or navigation logic is broken." << std::endl;
std::vector< TEveElement * >::iterator iter
std::vector< TEveElement * > elements
void addElement(TEveElement *)
void TEveElementIter::addElement |
( |
TEveElement * |
element | ) |
|
|
private |
Definition at line 65 of file TEveElementIter.cc.
References elements, and regexp.
Referenced by TEveElementIter().
67 if (!element )
return;
68 TNamed* named =
dynamic_cast<TNamed*
>(element);
69 if ( named && !
regexp.MatchB(named->GetName()) )
return;
std::vector< TEveElement * > elements
TEveElement * TEveElementIter::current |
( |
| ) |
|
TEveElement * TEveElementIter::next |
( |
void |
| ) |
|
TEveElement * TEveElementIter::reset |
( |
void |
| ) |
|
unsigned int TEveElementIter::size |
( |
void |
| ) |
|
|
inline |
std::vector<TEveElement*> TEveElementIter::elements |
|
private |
std::vector<TEveElement*>::iterator TEveElementIter::iter |
|
private |
TPRegexp TEveElementIter::regexp |
|
private |