Irrlicht 3D Engine
ISceneLoader.h
Go to the documentation of this file.
1 // Copyright (C) 2010-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_SCENE_LOADER_H_INCLUDED__
6 #define __I_SCENE_LOADER_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "path.h"
10 
11 namespace irr
12 {
13 namespace io
14 {
15  class IReadFile;
16 } // end namespace io
17 namespace scene
18 {
19  class ISceneNode;
20  class ISceneUserDataSerializer;
21 
23 
26 class ISceneLoader : public virtual IReferenceCounted
27 {
28 public:
29 
31 
35  virtual bool isALoadableFileExtension(const io::path& filename) const = 0;
36 
38 
41  virtual bool isALoadableFileFormat(io::IReadFile* file) const = 0;
42 
44 
52  virtual bool loadScene(io::IReadFile* file, ISceneUserDataSerializer* userDataSerializer=0,
53  ISceneNode* rootNode=0) = 0;
54 
55 };
56 
57 
58 } // end namespace scene
59 } // end namespace irr
60 
61 #endif
62 
Interface providing read acess to a file.
Definition: IReadFile.h:17
Scene node interface.
Definition: ISceneNode.h:40
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
Class which can load a scene into the scene manager.
Definition: ISceneLoader.h:26
Base class of most objects of the Irrlicht Engine.
Interface to read and write user data to and from .irr files.