diff --git a/src/osgPlugins/osgTerrain/HeightFieldLayer.cpp b/src/osgPlugins/osgTerrain/HeightFieldLayer.cpp index f5ad6bca3..71d3a8d6b 100644 --- a/src/osgPlugins/osgTerrain/HeightFieldLayer.cpp +++ b/src/osgPlugins/osgTerrain/HeightFieldLayer.cpp @@ -42,8 +42,16 @@ bool HeightFieldLayer_readLocalData(osg::Object& obj, osgDB::Input &fr) fr += 2; itrAdvanced = true; } - + osg::ref_ptr readObject = fr.readObjectOfType(osgDB::type_wrapper()); + if (readObject.valid()) itrAdvanced = true; + + osg::HeightField* hf = dynamic_cast(readObject.get()); + if (hf) + { + layer.setHeightField(hf); + } + return itrAdvanced; } @@ -55,6 +63,13 @@ bool HeightFieldLayer_writeLocalData(const osg::Object& obj, osgDB::Output& fw) { fw.indent()<<"file "<