#include #include #include #include #include #include #include #include #include #include #include bool HeightFieldLayer_readLocalData(osg::Object &obj, osgDB::Input &fr); bool HeightFieldLayer_writeLocalData(const osg::Object &obj, osgDB::Output &fw); osgDB::RegisterDotOsgWrapperProxy HeightFieldLayer_Proxy ( new osgTerrain::HeightFieldLayer, "HeightFieldLayer", "Object HeightFieldLayer Layer", HeightFieldLayer_readLocalData, HeightFieldLayer_writeLocalData ); bool HeightFieldLayer_readLocalData(osg::Object& obj, osgDB::Input &fr) { osgTerrain::HeightFieldLayer& layer = static_cast(obj); bool itrAdvanced = false; if (fr.matchSequence("file %w") || fr.matchSequence("file %s")) { osg::ref_ptr hf = osgDB::readHeightFieldFile(fr[1].getStr()); if (hf.valid()) { layer.setHeightField(hf.get()); } fr += 2; itrAdvanced = true; } return itrAdvanced; } bool HeightFieldLayer_writeLocalData(const osg::Object& obj, osgDB::Output& fw) { const osgTerrain::HeightFieldLayer& layer = static_cast(obj); if (!layer.getFileName().empty()) { fw.indent()<<"file "<