#include "X3DLoader.h" #include "X3D_Creator.h" #include "X3D_X3DComponentCreator.h" #include "X3D_FileValidator.h" #include "X3D_X3DXmlLoader.h" #include "X3D_Scene.h" using namespace std; namespace X3DTK { X3DLoader::X3DLoader() : creator(0), fileValidator(0), xmlLoader(0) { } X3DLoader::~X3DLoader() { } X3D::Scene *X3DLoader::load(const char *file, bool fileValidation) const { X3D::Scene *S = 0; if (xmlLoader != 0) { S = xmlLoader->load(file, fileValidation); if ((fileValidation) && (fileValidator != 0)) { if (!fileValidator->validate(S)) return 0; else return S; } } return S; } void X3DLoader::setComponentCreator(X3D::X3DComponentCreator *component) { if (creator != 0) creator->setComponentCreator(component); } void X3DLoader::setWalkerForFileValidator(Walker *walker) { if (fileValidator != 0) fileValidator->setWalker(walker); } void X3DLoader::setComponentVisitorForFileValidator(X3DComponentVisitor *component) { if (fileValidator != 0) fileValidator->setComponentVisitor(component); } void X3DLoader::setFileValidator(X3D::FileValidator *fileValidator) { this->fileValidator = fileValidator; } }