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& name, 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
    00095                 _IRR_DEPRECATED_ IAnimatedMesh* getMeshByFilename(const io::path& filename)
    00096                 {
    00097                         return getMeshByName(filename);
    00098                 }
    00099
    00101
    00102                 _IRR_DEPRECATED_ const io::path& getMeshFilename(u32 index) const
    00103                 {
    00104                         return getMeshName(index).getInternalName();
    00105                 }
    00106
    00108
    00109                 _IRR_DEPRECATED_ const io::path& getMeshFilename(const IAnimatedMesh* const mesh) const
    00110                 {
    00111                         return getMeshName(mesh).getInternalName();
    00112                 }
    00113
    00115
    00116                 _IRR_DEPRECATED_ const io::path& getMeshFilename(const IMesh* const mesh) const
    00117                 {
    00118                         return getMeshName(mesh).getInternalName();
    00119                 }
    00120
    00122
    00123                 _IRR_DEPRECATED_ bool setMeshFilename(u32 index, const io::path& filename)
    00124                 {
    00125                         return renameMesh(index, filename);
    00126                 }
    00127
    00129
    00130                 _IRR_DEPRECATED_ bool setMeshFilename(const IAnimatedMesh* const mesh, const io::path& filename)
    00131                 {
    00132                         return renameMesh(mesh, filename);
    00133                 }
    00134
    00136
    00137                 _IRR_DEPRECATED_ bool setMeshFilename(const IMesh* const mesh, const io::path& filename)
    00138                 {
    00139                         return renameMesh(mesh, filename);
    00140                 }
    00141
    00143
    00145                 virtual IAnimatedMesh* getMeshByName(const io::path& name) = 0;
    00146
    00148
    00150                 virtual const io::SNamedPath& getMeshName(u32 index) const = 0;
    00151
    00153
    00155                 virtual const io::SNamedPath& getMeshName(const IAnimatedMesh* const mesh) const = 0;
    00156
    00158
    00160                 virtual const io::SNamedPath& getMeshName(const IMesh* const mesh) const = 0;
    00161
    00163
    00169                 virtual bool renameMesh(u32 index, const io::path& name) = 0;
    00170
    00172
    00178                 virtual bool renameMesh(const IAnimatedMesh* const mesh, const io::path& name) = 0;
    00179
    00181
    00187                 virtual bool renameMesh(const IMesh* const mesh, const io::path& name) = 0;
    00188
    00190
    00192                 virtual bool isMeshLoaded(const io::path& name) = 0;
    00193
    00195
    00199                 virtual void clear() = 0;
    00200
    00202
    00204                 virtual void clearUnusedMeshes() = 0;
    00205         };
    00206
    00207
    00208 } // end namespace scene
    00209 } // end namespace irr
    00210
    00211 #endif
    00212

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Feb 14 13:06:57 2010 by Doxygen (1.6.2)