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 Documentation © 2003-2009 by Nikolaus Gebhardt. Generated on Sun Jan 10 09:24:03 2010 by Doxygen (1.5.6)