diff --git a/src/osgPlugins/osgVolume/ImageLayer.cpp b/src/osgPlugins/osgVolume/ImageLayer.cpp index 12788e855..ade7a2c5a 100644 --- a/src/osgPlugins/osgVolume/ImageLayer.cpp +++ b/src/osgPlugins/osgVolume/ImageLayer.cpp @@ -69,7 +69,22 @@ bool ImageLayer_readLocalData(osg::Object& obj, osgDB::Input &fr) if (image.valid()) { osg::notify(osg::INFO)<<"osgVolume::ImageLayer image read: "<getPixelFormat()<<" textureFormat "<getInternalTextureFormat()<<" dataType "<getDataType()< details = dynamic_cast(image->getUserData()); + osg::ref_ptr matrix = details ? details->getMatrix() : dynamic_cast(image->getUserData()); + layer.setImage(image.get()); + + if (details) + { + layer.setTexelOffset(details->getTexelOffset()); + layer.setTexelScale(details->getTexelScale()); + } + if (matrix) + { + layer.setLocator(new osgVolume::Locator(*matrix)); + } + layer.rescaleToZeroToOneRange(); } }