#pragma once #include #include #include #include #include #include "ModificationVisitor.h" class ReaderWriterDist : public osgDB::ReaderWriter { public: ReaderWriterDist(); virtual const char* className() const { return "distortion set loader"; }; virtual ReadResult readNode( const std::string& file, const osgDB::ReaderWriter::Options* options) const; virtual ReadResult readNode( std::istream& fin, const osgDB::ReaderWriter::Options* options ) const; virtual WriteResult writeNode( const osg::Node& node, const std::string& fileName, const osgDB::ReaderWriter::Options* options ) const; virtual WriteResult writeNode( const osg::Node& node, std::ostream& fout, const osgDB::ReaderWriter::Options* options ) const; private: std::string extensionToAdd; osg::ref_ptr readOptions; osg::ref_ptr writeOptions; osg::ref_ptr rw; };