Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
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 Documentation © 2003-2009 by Nikolaus Gebhardt. Generated
on Sun Jan 10 09:24:03 2010 by Doxygen
(1.5.6) |