00001 00002 00003 00005 00006 00011 00016 00021 // X3DLoader.h // 00023 00024 #ifndef X3DLOADER_H 00025 #define X3DLOADER_H 00026 00027 #include "X3DTypes.h" 00028 00029 namespace X3DTK { 00030 00031 class NodeCreationProxy; 00032 00033 namespace X3D { 00034 00035 class Scene; 00036 class X3DFileValidator; 00037 00038 } 00039 00041 00042 class X3DLoader 00043 { 00044 public: 00046 X3DLoader(); 00048 virtual ~X3DLoader() = 0; 00049 00051 void setComponentCreator(X3DComponentCreator *component); 00053 void setFileValidator(X3D::X3DFileValidator *fileValidator); 00054 00058 X3D::Scene *load(const char *file, bool fileValidation = true) const; 00059 00061 inline X3D::X3DFileValidator *getFileValidator() const {return fileValidator;}; 00062 00063 protected: 00065 NodeCreationProxy *ncp; 00067 X3D::X3DFileValidator *fileValidator; 00068 00070 virtual X3D::Scene *loadFile(const char *file, bool fileValidation) const = 0; 00071 }; 00072 00073 } 00074 00075 #endif