void ResourceLibrary::getSkins( SkinResourceVector& output ) const { Threading::ScopedReadLock shared( const_cast<ResourceLibrary*>(this)->_mutex ); output.reserve( _skins.size() ); for( SkinResourceMap::const_iterator i = _skins.begin(); i != _skins.end(); ++i ) output.push_back( i->second.get() ); }
void ResourceLibrary::getSkins( SkinResourceVector& output, const osgDB::Options* dbOptions ) const { const_cast<ResourceLibrary*>(this)->initialize( dbOptions ); Threading::ScopedReadLock shared( _mutex ); output.reserve( _skins.size() ); for( ResourceMap<SkinResource>::const_iterator i = _skins.begin(); i != _skins.end(); ++i ) output.push_back( i->second.get() ); }
void ResourceLibrary::getSkins( const SkinSymbol* symbol, SkinResourceVector& output ) const { Threading::ScopedReadLock shared( const_cast<ResourceLibrary*>(this)->_mutex ); for( SkinResourceMap::const_iterator i = _skins.begin(); i != _skins.end(); ++i ) { SkinResource* skin = i->second.get(); if ( matches(symbol, skin) ) { output.push_back( skin ); } } }
void ResourceLibrary::getSkins( const SkinSymbol* symbol, SkinResourceVector& output, const osgDB::Options* dbOptions ) const { const_cast<ResourceLibrary*>(this)->initialize( dbOptions ); Threading::ScopedReadLock shared( _mutex ); for( ResourceMap<SkinResource>::const_iterator i = _skins.begin(); i != _skins.end(); ++i ) { SkinResource* skin = i->second.get(); if ( matches(symbol, skin) ) { output.push_back( skin ); } } }