Esempio n. 1
0
bool ObjectWrapper::write( OutputStream& os, const osg::Object& obj )
{
    bool writeOK = true;
    int outputVersion = os.getFileVersion(_domain);
    for ( SerializerList::iterator itr=_serializers.begin();
          itr!=_serializers.end(); ++itr )
    {
        BaseSerializer* serializer = itr->get();
        if ( serializer->_firstVersion <= outputVersion &&
             outputVersion <= serializer->_lastVersion )
        {
            if ( !serializer->write(os, obj) )
            {
                OSG_WARN << "ObjectWrapper::write(): Error writing property "
                                    << _name << "::" << (*itr)->getName() << std::endl;
                writeOK = false;
            }
        }
        else
        {
            // OSG_NOTICE<<"Ignoring serializer due to version mismatch"<<std::endl;
        }
    }
    return writeOK;
}