//C++ header - Open Scene Graph - Copyright (C) 1998-2002 Robert Osfield //Distributed under the terms of the GNU Library General Public License (LGPL) //as published by the Free Software Foundation. #ifndef OSGDB_INPUT #define OSGDB_INPUT 1 #include #include #include #include #include #include #include namespace osgDB { /** Class for managing the reading of ASCII .osg files.*/ class OSGDB_EXPORT Input : public FieldReaderIterator { public: Input(); virtual ~Input(); virtual osg::Object* readObjectOfType(const osg::Object& compObj); virtual osg::Object* readObject(); virtual osg::Image* readImage(); virtual osg::Drawable* readDrawable(); virtual osg::StateAttribute* readStateAttribute(); virtual osg::Node* readNode(); virtual osg::Object* readObject(const std::string& fileName); virtual osg::Image* readImage(const std::string& fileName); virtual osg::Node* readNode(const std::string& fileName); virtual osg::Object* getObjectForUniqueID(const std::string& uniqueID); virtual void regisiterUniqueIDForObject(const std::string& uniqueID,osg::Object* obj); private: typedef std::map UniqueIDToObjectMapping; UniqueIDToObjectMapping _uniqueIDToObjectMap; }; } #endif // __SG_INPUT_H