Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

IMeshCache.h

Go to the documentation of this file.
00001 // Copyright (C) 2002-2009 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_MESH_CACHE_H_INCLUDED__
00006 #define __I_MESH_CACHE_H_INCLUDED__
00007 
00008 #include "IReferenceCounted.h"
00009 #include "path.h"
00010 
00011 namespace irr
00012 {
00013 
00014 namespace scene
00015 {
00016         class IMesh;
00017         class IAnimatedMesh;
00018         class IAnimatedMeshSceneNode;
00019         class IMeshLoader;
00020 
00022 
00027         class IMeshCache : public virtual IReferenceCounted
00028         {
00029         public:
00030 
00032                 virtual ~IMeshCache() {}
00033 
00035 
00050                 virtual void addMesh(const io::path& filename, IAnimatedMesh* mesh) = 0;
00051 
00053 
00057                 virtual void removeMesh(const IAnimatedMesh* const mesh) = 0;
00058 
00060 
00064                 virtual void removeMesh(const IMesh* const mesh) = 0;
00065 
00067 
00072                 virtual u32 getMeshCount() const = 0;
00073 
00075 
00077                 virtual s32 getMeshIndex(const IAnimatedMesh* const mesh) const = 0;
00078 
00080 
00082                 virtual s32 getMeshIndex(const IMesh* const mesh) const = 0;
00083 
00085 
00091                 virtual IAnimatedMesh* getMeshByIndex(u32 index) = 0;
00092 
00094 
00096                 virtual IAnimatedMesh* getMeshByFilename(const io::path& filename) = 0;
00097 
00099 
00102                 virtual const io::path& getMeshFilename(u32 index) const = 0;
00103 
00105 
00108                 virtual const io::path& getMeshFilename(const IAnimatedMesh* const mesh) const = 0;
00109 
00111 
00114                 virtual const io::path& getMeshFilename(const IMesh* const mesh) const = 0;
00115 
00117 
00123                 virtual bool setMeshFilename(u32 index, const io::path& filename) = 0;
00124 
00126 
00132                 virtual bool setMeshFilename(const IAnimatedMesh* const mesh, const io::path& filename) = 0;
00133 
00135 
00141                 virtual bool setMeshFilename(const IMesh* const mesh, const io::path& filename) = 0;
00142 
00144 
00146                 virtual bool isMeshLoaded(const io::path& filename) = 0;
00147 
00149 
00153                 virtual void clear() = 0;
00154 
00156 
00158                 virtual void clearUnusedMeshes() = 0;
00159         };
00160 
00161 
00162 } // end namespace scene
00163 } // end namespace irr
00164 
00165 #endif
00166 

The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:03 2010 by Doxygen (1.5.6)