diff --git a/src/osgPlugins/osgVolume/ImageLayer.cpp b/src/osgPlugins/osgVolume/ImageLayer.cpp index 8d7e11d3f..71cd4904b 100644 --- a/src/osgPlugins/osgVolume/ImageLayer.cpp +++ b/src/osgPlugins/osgVolume/ImageLayer.cpp @@ -65,7 +65,7 @@ bool ImageLayer_readLocalData(osg::Object& obj, osgDB::Input &fr) image = osgDB::readRefImageFile( filename ); } - osg::notify(osg::NOTICE)<<"image "<getPixelFormat()<<" textureFormat "<getInternalTextureFormat()<<" dataType "<getDataType()<getPixelFormat()<<" textureFormat "<getInternalTextureFormat()<<" dataType "<getDataType()<(readObject.get()); if (locator) volumeTile.setLocator(locator); - { - osg::ref_ptr readObject = fr.readObjectOfType(osgDB::type_wrapper()); - osgVolume::Layer* readLayer = dynamic_cast(readObject.get()); - if (readLayer) - { - volumeTile.setLayer(readLayer); - } - itrAdvanced = true; - } + readObject = fr.readObjectOfType(osgDB::type_wrapper()); + if (readObject.valid()) itrAdvanced = true; + + osgVolume::Layer* readLayer = dynamic_cast(readObject.get()); + if (readLayer) volumeTile.setLayer(readLayer); readObject = fr.readObjectOfType(osgDB::type_wrapper()); @@ -158,12 +154,9 @@ bool VolumeTile_writeLocalData(const osg::Object& obj, osgDB::Output& fw) fw.writeObject(*volumeTile.getLocator()); } + if (volumeTile.getLayer()) { - const osgVolume::Layer* layer = volumeTile.getLayer(); - if (layer) - { - fw.writeObject(*layer); - } + fw.writeObject(*volumeTile.getLayer()); } if (volumeTile.getVolumeTechnique())