src/rcrt/loaders/XMLLoader.h

Go to the documentation of this file.
00001 #ifndef XMLLOADER_H_
00002 #define XMLLOADER_H_
00003 
00004 #include <iostream>
00005 #include <sstream>
00006 #include <string>
00007 #include <vector>
00008 #include <stdexcept>
00009 #include <xmlpull/XmlPullParser.h>
00010 #include <xmlpull/XmlPullParserException.h>
00011 #include <boost/iostreams/filtering_stream.hpp>
00012 #include <boost/iostreams/device/file.hpp>
00013 #include <boost/iostreams/filter/bzip2.hpp>
00014 
00015 namespace rcrt
00016 {
00017 
00021 class XMLLoader
00022 {
00023 protected:
00024         boost::iostreams::file_source file;
00025         boost::iostreams::filtering_stream<boost::iostreams::input> in;
00026         XmlPullParser parser;
00027         bool isCompressed;
00028         int currentFrame;
00029         bool eof;
00030                 
00031         XMLLoader(std::string path);
00032         
00038         bool nextStartTag(std::string tagName);
00039         
00040 public:
00041         virtual ~XMLLoader();
00042         
00046         virtual bool goToFrame(const int& n) = 0;
00047         
00053         virtual bool nextFrame() = 0;
00054         
00055         const int& getFrame();
00056 };
00057 
00058 }
00059 
00060 #endif /*XMLLOADER_H_*/

Generated on Thu Jan 31 19:26:19 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3