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

X3D_X3DLoader.h

Go to the documentation of this file.
00001 
00002 //                            X3D_X3DLoader.h                                 //
00004 
00005 #ifndef X3DLOADER_H
00006 #define X3DLOADER_H
00007 
00008 #include "X3DTypes.h"
00009 
00010 #include <list>
00011 
00012 namespace X3DTK {
00013 
00014 class X3DComponentWalker;
00015 class X3DComponentVisitor;
00016 
00017 namespace X3D {
00018 
00019 class Creator;
00020 class X3DComponentCreator;
00021 class Scene;
00022 class X3DFileValidator;
00023 class X3DXmlLoader;
00024 
00025 }
00026 
00028 
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);
00048 
00050   template <class L>
00051   static L *getInstanceOf();
00052 
00054   template <class L>
00055   static void removeInstanceOf();
00056     
00058   static void removeAllInstances();
00059   
00060 protected:
00062   X3D::Creator *creator;
00064   X3D::X3DFileValidator *fileValidator;  
00066   X3D::X3DXmlLoader *xmlLoader;
00067 
00068 private:
00069   static std::list<X3DLoader *> _X3DLoaderList;  
00070 };
00071 
00072 }
00073 
00074 #include "X3D_X3DLoader.inl"
00075 
00076 #endif

Generated on Mon Jan 19 10:32:08 2004 for X3DToolKit by doxygen1.2.18