diff --git a/include/osgDB/InputStream b/include/osgDB/InputStream index 0b0c70817..af431f46c 100644 --- a/include/osgDB/InputStream +++ b/include/osgDB/InputStream @@ -139,8 +139,13 @@ public: osg::Image* readImage(bool readFromExternal=true); osg::Object* readObject( osg::Object* existingObj=0 ); osg::Object* readObjectFields( const std::string& className, osg::Object* existingObj=0); - + + /// set an input iterator, used directly when not using InputStream with a traditional file releated stream. + void setInputIterator( InputIterator* ii ) { _in = ii; } + + /// start reading from InputStream treating it as a traditional file releated stream, handles headers and versioning ReadType start( InputIterator* ); + void decompress(); // Schema handlers diff --git a/include/osgDB/OutputStream b/include/osgDB/OutputStream index 275840462..21baa0fb0 100644 --- a/include/osgDB/OutputStream +++ b/include/osgDB/OutputStream @@ -149,7 +149,12 @@ public: void writeObject( const osg::Object* obj ); void writeObjectFields( const osg::Object* obj ); + /// set an output iterator, used directly when not using OutputStream with a traditional file releated stream. + void setOutputIterator( OutputIterator* oi ) { _out = oi; } + + /// start writing to OutputStream treating it as a traditional file releated stream, handles headers and versioning void start( OutputIterator* outIterator, WriteType type ); + void compress( std::ostream* ostream ); // Schema handlers