void applySelectionWalk( const PathMatcher &selection, const ScenePlug::ScenePath &path, bool check ) { const unsigned m = check ? selection.match( path ) : 0; m_selected = m & Filter::ExactMatch; ScenePlug::ScenePath childPath = path; childPath.push_back( IECore::InternedString() ); // space for the child name for( std::vector<SceneGraph *>::const_iterator it = m_children.begin(), eIt = m_children.end(); it != eIt; ++it ) { childPath.back() = (*it)->m_name; (*it)->applySelectionWalk( selection, childPath, m & Filter::DescendantMatch ); } }
static unsigned matchInternedStringVectorData( const PathMatcher &p, const IECore::InternedStringVectorData *d ) { return p.match( d->readable() ); }