00001 00002 // X3DLoader.h // 00004 00005 #ifndef X3DLOADER_H 00006 #define X3DLOADER_H 00007 00008 #include "X3DTypes.h" 00009 00010 namespace X3DTK { 00011 00012 class Scene; 00013 class NodeCreationProxy; 00014 00015 namespace X3D { 00016 00017 class X3DFileValidator; 00018 00019 } 00020 00022 00023 class X3DLoader 00024 { 00025 public: 00027 X3DLoader(); 00029 virtual ~X3DLoader() = 0; 00030 00032 void setComponentCreator(X3DComponentCreator *component); 00034 void setFileValidator(X3D::X3DFileValidator *fileValidator); 00035 00039 X3D::Scene *load(const char *file, bool fileValidation = true) const; 00040 00042 inline X3D::X3DFileValidator *getFileValidator() const {return fileValidator;}; 00043 00044 protected: 00046 NodeCreationProxy *ncp; 00048 X3D::X3DFileValidator *fileValidator; 00049 00051 virtual X3D::Scene *loadFile(const char *file, bool fileValidation) const = 0; 00052 }; 00053 00054 } 00055 00056 #endif