00001 00002 // X3DLoader.h // 00004 00005 #ifndef X3DLOADER_H 00006 #define X3DLOADER_H 00007 00008 #include "X3DTypes.h" 00009 00010 namespace X3DTK { 00011 namespace X3D { 00012 00013 class Creator; 00014 class X3DComponentCreator; 00015 class Scene; 00016 class X3DFileValidator; 00017 00019 00020 class X3DLoader 00021 { 00022 public: 00024 X3DLoader(); 00026 virtual ~X3DLoader() = 0; 00027 00029 void setComponentCreator(X3DComponentCreator *component); 00031 void setFileValidator(X3D::X3DFileValidator *fileValidator); 00032 00036 X3D::Scene *load(const char *file, bool fileValidation = true) const; 00037 00039 inline X3D::X3DFileValidator *getFileValidator() const {return fileValidator;}; 00040 00041 protected: 00043 Creator *creator; 00045 X3D::X3DFileValidator *fileValidator; 00046 00048 virtual X3D::Scene *loadFile(const char *file, bool fileValidation) const = 0; 00049 }; 00050 00051 } 00052 } 00053 00054 #endif