Main Page | Modules | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

X3DLoader.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3DLOADER_H
00002 #define X3DTK_X3DLOADER_H
00003 
00004 #include "X3DTypes.h"
00005 
00006 #include <list>
00007 
00008 namespace X3DTK {
00009 
00010 class X3DComponentWalker;
00011 class X3DComponentVisitor;
00012 
00013 namespace X3D {
00014 
00015 class Creator;
00016 class X3DComponentCreator;
00017 class Scene;
00018 class X3DFileValidator;
00019 class X3DXmlLoader;
00020 
00021 }
00022 
00029 class X3DLoader
00030 {
00031 public:
00033   X3DLoader();
00035   virtual ~X3DLoader() = 0;
00036   
00040   X3D::Scene *load(const char *file, bool fileValidation = true) const;
00041   
00043   void setComponentCreator(X3D::X3DComponentCreator *component);
00045   void setComponentWalkerForFileValidator(X3DComponentWalker *component);
00047   void setComponentVisitorForFileValidator(X3DComponentVisitor *component);
00049   void X3DLoader::setFileValidator(X3D::X3DFileValidator *fileValidator);
00050   
00052   template<class L>
00053   static L *getInstanceOf();
00054 
00056   template<class L>
00057   static void removeInstanceOf();
00058     
00060   static void removeAllInstances();
00061   
00062 protected:
00064   X3D::Creator *creator;
00066   X3D::X3DFileValidator *fileValidator;  
00068   X3D::X3DXmlLoader *xmlLoader;
00069 
00070 private:
00071   static std::list<X3DLoader *> _X3DLoaderList;  
00072 };
00073 
00074 }
00075 
00076 #include "X3DLoader.inl"
00077 
00078 #endif

Generated on Thu Apr 1 17:12:03 2004 for X3DToolKit by doxygen 1.3.3