Irrlicht 3D Engine
ISceneLoader.h
Go to the documentation of this file.
00001 // Copyright (C) 2010-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_SCENE_LOADER_H_INCLUDED__
00006 #define __I_SCENE_LOADER_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "path.h"
00010 
00011 namespace irr
00012 {
00013 namespace io
00014 {
00015     class IReadFile;
00016 } // end namespace io
00017 namespace scene
00018 {
00019     class ISceneNode;
00020     class ISceneUserDataSerializer;
00021 
00023 
00026 class ISceneLoader : public virtual IReferenceCounted
00027 {
00028 public:
00029 
00031 
00035     virtual bool isALoadableFileExtension(const io::path& filename) const = 0;
00036 
00038 
00041     virtual bool isALoadableFileFormat(io::IReadFile* file) const = 0;
00042 
00044 
00052     virtual bool loadScene(io::IReadFile* file, ISceneUserDataSerializer* userDataSerializer=0,
00053                            ISceneNode* rootNode=0) = 0;
00054 
00055 };
00056 
00057 
00058 } // end namespace scene
00059 } // end namespace irr
00060 
00061 #endif
00062