Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > contrib-release > by-pkgid > 58828b263d8f56d90ac336dea07a4586 > files > 575

irrlicht-doc-1.6.1-1mdv2010.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Irrlicht Engine: irr::scene::IMeshCache Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table class="irrlicht" >
  <tr valign="middle"> 
    <td><font size="2"><a class="qindex" href="index.html"><font color="#FFFFFF">Home</font></a> 
      | <a class="qindex" href="namespaces.html"><font color="#FFFFFF">Namespaces</font></a> 
      | <a class="qindex" href="hierarchy.html"><font color="#FFFFFF">Hierarchy</font></a> 
      | <a class="qindex" href="classes.html"><font color="#FFFFFF">Alphabetical 
      List</font></a> | <a class="qindex" href="annotated.html"><font color="#FFFFFF"> 
      Class list</font></a> | <a class="qindex" href="files.html"><font color="#FFFFFF">Files</font></a> 
      | <a class="qindex" href="namespacemembers.html"><font color="#FFFFFF"> 
      Namespace&nbsp;Members</font></a> | <a class="qindex" href="functions.html"><font color="#FFFFFF">Class 
      members</font></a> | <a class="qindex" href="globals.html"><font color="#FFFFFF">File 
      members</font></a> | <a class="qindex" href="pages.html"><font color="#FFFFFF">Tutorials</font></a></font> </td>
  </tr>
</table>
<!-- Generated by Doxygen 1.5.6 -->
  <div class="navpath"><a class="el" href="namespaceirr.html">irr</a>::<a class="el" href="namespaceirr_1_1scene.html">scene</a>::<a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html">IMeshCache</a>
  </div>
<div class="contents">
<h1>irr::scene::IMeshCache Class Reference</h1><!-- doxytag: class="irr::scene::IMeshCache" --><!-- doxytag: inherits="irr::IReferenceCounted" -->The mesh cache stores already loaded meshes and provides an interface to them.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="_i_mesh_cache_8h-source.html">IMeshCache.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for irr::scene::IMeshCache:</div>
<div class="dynsection">

<p><center><img src="classirr_1_1scene_1_1_i_mesh_cache.png" usemap="#irr::scene::IMeshCache_map" border="0" alt=""></center>
<map name="irr::scene::IMeshCache_map">
<area href="classirr_1_1_i_reference_counted.html" alt="irr::IReferenceCounted" shape="rect" coords="0,0,142,24">
</map>
</div>

<p>
<a href="classirr_1_1scene_1_1_i_mesh_cache-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#16fe255d649b0754720c37bf73f9e85d">addMesh</a> (const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;filename, <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *mesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a mesh to the internal list of loaded meshes.  <a href="#16fe255d649b0754720c37bf73f9e85d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#d92d924e558c3a7504f9154ee29b1569">clear</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the whole mesh cache, removing all meshes.  <a href="#d92d924e558c3a7504f9154ee29b1569"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#9f3e20b8e0f66d59bc454a311d13bbee">clearUnusedMeshes</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears all meshes that are held in the mesh cache but not used anywhere else.  <a href="#9f3e20b8e0f66d59bc454a311d13bbee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#2d47ea6f1d13e359762178a9665afba4">getMeshByFilename</a> (const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;filename)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a mesh based on its filename.  <a href="#2d47ea6f1d13e359762178a9665afba4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#06e7755013445f9bc3d7339fbd009e31">getMeshByIndex</a> (<a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> index)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a mesh based on its index number.  <a href="#06e7755013445f9bc3d7339fbd009e31"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#9dc99e46309a6ef494ef7672c9b49853">getMeshCount</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns amount of loaded meshes in the cache.  <a href="#9dc99e46309a6ef494ef7672c9b49853"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#1f3501e01c0f65be5621bad55f43666a">getMeshFilename</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const mesh) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the filename of a loaded mesh, if there is any.  <a href="#1f3501e01c0f65be5621bad55f43666a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#c825b2912328b5e86f859c3c5c7cef53">getMeshFilename</a> (const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const mesh) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the filename of a loaded mesh, if there is any.  <a href="#c825b2912328b5e86f859c3c5c7cef53"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#1abf1b0a4a1f074cca27ecab082ce1e4">getMeshFilename</a> (<a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> index) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the filename of a loaded mesh, based on its index.  <a href="#1abf1b0a4a1f074cca27ecab082ce1e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirr.html#c66849b7a6ed16e30ebede579f9b47c6">s32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#2b3512bd3ff11d0b290fa5d2d580eb54">getMeshIndex</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const mesh) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns current index number of the mesh, and -1 if it is not in the cache.  <a href="#2b3512bd3ff11d0b290fa5d2d580eb54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirr.html#c66849b7a6ed16e30ebede579f9b47c6">s32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#621026b62a53825a544b254ac23c553a">getMeshIndex</a> (const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const mesh) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns current index number of the mesh, and -1 if it is not in the cache.  <a href="#621026b62a53825a544b254ac23c553a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#428d105b45ccd8dfcabc018746862d6f">isMeshLoaded</a> (const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;filename)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a mesh was already loaded.  <a href="#428d105b45ccd8dfcabc018746862d6f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#a82078b06fdcaa332b44a59e4027f921">removeMesh</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const mesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a mesh from the cache.  <a href="#a82078b06fdcaa332b44a59e4027f921"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#ba62960a03088e27995580ef21947ada">removeMesh</a> (const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const mesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a mesh from the cache.  <a href="#ba62960a03088e27995580ef21947ada"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#aaca1c1ca0679c2ff8aba37c3e712421">setMeshFilename</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const mesh, const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;filename)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames a loaded mesh.  <a href="#aaca1c1ca0679c2ff8aba37c3e712421"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#ffcfb43f1d695486aebd44303c1b8149">setMeshFilename</a> (const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const mesh, const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;filename)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames a loaded mesh.  <a href="#ffcfb43f1d695486aebd44303c1b8149"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#ace23402f0e4a608e49b84c93963d7a8">setMeshFilename</a> (<a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> index, const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;filename)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames a loaded mesh.  <a href="#ace23402f0e4a608e49b84c93963d7a8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#6d1bfbd0bda8a559d85cfd6735bc0667">~IMeshCache</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#6d1bfbd0bda8a559d85cfd6735bc0667"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The mesh cache stores already loaded meshes and provides an interface to them. 
<p>
You can access it using <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#45d89c816e33abe0e77eb063d7ce58a8" title="Get interface to the mesh cache which is shared beween all existing scene managers...">ISceneManager::getMeshCache()</a>. All existing <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> managers will return a pointer to the same mesh cache, because it is shared between them. With this interface, it is possible to manually add new loaded meshes (if <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">ISceneManager::getMesh()</a> is not sufficient), to remove them and to iterate through already loaded meshes. 
<p>Definition at line <a class="el" href="_i_mesh_cache_8h-source.html#l00027">27</a> of file <a class="el" href="_i_mesh_cache_8h-source.html">IMeshCache.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="6d1bfbd0bda8a559d85cfd6735bc0667"></a><!-- doxytag: member="irr::scene::IMeshCache::~IMeshCache" ref="6d1bfbd0bda8a559d85cfd6735bc0667" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual irr::scene::IMeshCache::~IMeshCache           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. 
<p>

<p>Definition at line <a class="el" href="_i_mesh_cache_8h-source.html#l00032">32</a> of file <a class="el" href="_i_mesh_cache_8h-source.html">IMeshCache.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="16fe255d649b0754720c37bf73f9e85d"></a><!-- doxytag: member="irr::scene::IMeshCache::addMesh" ref="16fe255d649b0754720c37bf73f9e85d" args="(const io::path &amp;filename, IAnimatedMesh *mesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshCache::addMesh           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *&nbsp;</td>
          <td class="paramname"> <em>mesh</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Adds a mesh to the internal list of loaded meshes. 
<p>
Usually, <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">ISceneManager::getMesh()</a> is called to load a mesh from a file. That method searches the list of loaded meshes if a mesh has already been loaded and returns a pointer to if it is in that list and already in memory. Otherwise it loads the mesh. With <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#16fe255d649b0754720c37bf73f9e85d" title="Adds a mesh to the internal list of loaded meshes.">IMeshCache::addMesh()</a>, it is possible to pretend that a mesh already has been loaded. This method can be used for example by mesh loaders who need to load more than one mesh with one call. They can add additional meshes with this method to the <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> manager. The COLLADA loader for example uses this method. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Filename of the mesh. When calling <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">ISceneManager::getMesh()</a> with this name it will return the mesh set by this method. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to a mesh which will now be referenced by this name. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d92d924e558c3a7504f9154ee29b1569"></a><!-- doxytag: member="irr::scene::IMeshCache::clear" ref="d92d924e558c3a7504f9154ee29b1569" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshCache::clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clears the whole mesh cache, removing all meshes. 
<p>
All meshes will be reloaded completely when using <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">ISceneManager::getMesh()</a> after calling this method. Warning: If you have pointers to meshes that were loaded with <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">ISceneManager::getMesh()</a> and you did not grab them, then they may become invalid. 
</div>
</div><p>
<a class="anchor" name="9f3e20b8e0f66d59bc454a311d13bbee"></a><!-- doxytag: member="irr::scene::IMeshCache::clearUnusedMeshes" ref="9f3e20b8e0f66d59bc454a311d13bbee" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshCache::clearUnusedMeshes           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clears all meshes that are held in the mesh cache but not used anywhere else. 
<p>
Warning: If you have pointers to meshes that were loaded with <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#63894c3f3d46cfc385116f1705935e03" title="Get pointer to an animateable mesh. Loads the file if not loaded already.">ISceneManager::getMesh()</a> and you did not grab them, then they may become invalid. 
</div>
</div><p>
<a class="anchor" name="2d47ea6f1d13e359762178a9665afba4"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshByFilename" ref="2d47ea6f1d13e359762178a9665afba4" args="(const io::path &amp;filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a>* irr::scene::IMeshCache::getMeshByFilename           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a mesh based on its filename. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Name of the mesh. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the mesh or 0 if there is none with this number. </dd></dl>

</div>
</div><p>
<a class="anchor" name="06e7755013445f9bc3d7339fbd009e31"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshByIndex" ref="06e7755013445f9bc3d7339fbd009e31" args="(u32 index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a>* irr::scene::IMeshCache::getMeshByIndex           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a mesh based on its index number. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index,:</em>&nbsp;</td><td>Index of the mesh, number between 0 and <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#9dc99e46309a6ef494ef7672c9b49853" title="Returns amount of loaded meshes in the cache.">getMeshCount()</a>-1. Note that this number is only valid until a new mesh is loaded or removed. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the mesh or 0 if there is none with this number. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9dc99e46309a6ef494ef7672c9b49853"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshCount" ref="9dc99e46309a6ef494ef7672c9b49853" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a> irr::scene::IMeshCache::getMeshCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns amount of loaded meshes in the cache. 
<p>
You can load new meshes into the cache using getMesh() and <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#16fe255d649b0754720c37bf73f9e85d" title="Adds a mesh to the internal list of loaded meshes.">addMesh()</a>. If you ever need to access the internal mesh cache, you can do this using <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#ba62960a03088e27995580ef21947ada" title="Removes a mesh from the cache.">removeMesh()</a>, getMeshNumber(), <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#06e7755013445f9bc3d7339fbd009e31" title="Returns a mesh based on its index number.">getMeshByIndex()</a> and <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#1abf1b0a4a1f074cca27ecab082ce1e4" title="Get the filename of a loaded mesh, based on its index.">getMeshFilename()</a>. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of meshes in cache. </dd></dl>

</div>
</div><p>
<a class="anchor" name="1f3501e01c0f65be5621bad55f43666a"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshFilename" ref="1f3501e01c0f65be5621bad55f43666a" args="(const IMesh *const mesh) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a>&amp; irr::scene::IMeshCache::getMeshFilename           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the filename of a loaded mesh, if there is any. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to mesh to query. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>String with name if mesh was found and has a name, else 0. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c825b2912328b5e86f859c3c5c7cef53"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshFilename" ref="c825b2912328b5e86f859c3c5c7cef53" args="(const IAnimatedMesh *const mesh) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a>&amp; irr::scene::IMeshCache::getMeshFilename           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the filename of a loaded mesh, if there is any. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to mesh to query. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>String with name if mesh was found and has a name, else 0. </dd></dl>

</div>
</div><p>
<a class="anchor" name="1abf1b0a4a1f074cca27ecab082ce1e4"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshFilename" ref="1abf1b0a4a1f074cca27ecab082ce1e4" args="(u32 index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a>&amp; irr::scene::IMeshCache::getMeshFilename           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>index</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the filename of a loaded mesh, based on its index. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index,:</em>&nbsp;</td><td>Index of the mesh, number between 0 and <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#9dc99e46309a6ef494ef7672c9b49853" title="Returns amount of loaded meshes in the cache.">getMeshCount()</a>-1. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>String with name if mesh was found and has a name, else 0. </dd></dl>

</div>
</div><p>
<a class="anchor" name="2b3512bd3ff11d0b290fa5d2d580eb54"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshIndex" ref="2b3512bd3ff11d0b290fa5d2d580eb54" args="(const IMesh *const mesh) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#c66849b7a6ed16e30ebede579f9b47c6">s32</a> irr::scene::IMeshCache::getMeshIndex           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns current index number of the mesh, and -1 if it is not in the cache. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to the mesh to search for. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of the mesh in the cache, or -1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="621026b62a53825a544b254ac23c553a"></a><!-- doxytag: member="irr::scene::IMeshCache::getMeshIndex" ref="621026b62a53825a544b254ac23c553a" args="(const IAnimatedMesh *const mesh) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#c66849b7a6ed16e30ebede579f9b47c6">s32</a> irr::scene::IMeshCache::getMeshIndex           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns current index number of the mesh, and -1 if it is not in the cache. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to the mesh to search for. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Index of the mesh in the cache, or -1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="428d105b45ccd8dfcabc018746862d6f"></a><!-- doxytag: member="irr::scene::IMeshCache::isMeshLoaded" ref="428d105b45ccd8dfcabc018746862d6f" args="(const io::path &amp;filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::IMeshCache::isMeshLoaded           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a mesh was already loaded. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Name of the mesh. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the mesh has been loaded, else false. </dd></dl>

</div>
</div><p>
<a class="anchor" name="a82078b06fdcaa332b44a59e4027f921"></a><!-- doxytag: member="irr::scene::IMeshCache::removeMesh" ref="a82078b06fdcaa332b44a59e4027f921" args="(const IMesh *const mesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshCache::removeMesh           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a mesh from the cache. 
<p>
After loading a mesh with getMesh(), the mesh can be removed from the cache using this method, freeing a lot of memory. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to the mesh which shall be removed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="ba62960a03088e27995580ef21947ada"></a><!-- doxytag: member="irr::scene::IMeshCache::removeMesh" ref="ba62960a03088e27995580ef21947ada" args="(const IAnimatedMesh *const mesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshCache::removeMesh           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a mesh from the cache. 
<p>
After loading a mesh with getMesh(), the mesh can be removed from the cache using this method, freeing a lot of memory. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Pointer to the mesh which shall be removed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="aaca1c1ca0679c2ff8aba37c3e712421"></a><!-- doxytag: member="irr::scene::IMeshCache::setMeshFilename" ref="aaca1c1ca0679c2ff8aba37c3e712421" args="(const IMesh *const mesh, const io::path &amp;filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::IMeshCache::setMeshFilename           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Renames a loaded mesh. 
<p>
Note that renaming meshes might change the ordering of the meshes, and so the index of the meshes as returned by <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#621026b62a53825a544b254ac23c553a" title="Returns current index number of the mesh, and -1 if it is not in the cache.">getMeshIndex()</a> or taken by some methods will change. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Mesh to be renamed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>New name for the mesh. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if mesh was renamed. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ffcfb43f1d695486aebd44303c1b8149"></a><!-- doxytag: member="irr::scene::IMeshCache::setMeshFilename" ref="ffcfb43f1d695486aebd44303c1b8149" args="(const IAnimatedMesh *const mesh, const io::path &amp;filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::IMeshCache::setMeshFilename           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_animated_mesh.html">IAnimatedMesh</a> *const &nbsp;</td>
          <td class="paramname"> <em>mesh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Renames a loaded mesh. 
<p>
Note that renaming meshes might change the ordering of the meshes, and so the index of the meshes as returned by <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#621026b62a53825a544b254ac23c553a" title="Returns current index number of the mesh, and -1 if it is not in the cache.">getMeshIndex()</a> or taken by some methods will change. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>mesh</em>&nbsp;</td><td>Mesh to be renamed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>New name for the mesh. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if mesh was renamed. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ace23402f0e4a608e49b84c93963d7a8"></a><!-- doxytag: member="irr::scene::IMeshCache::setMeshFilename" ref="ace23402f0e4a608e49b84c93963d7a8" args="(u32 index, const io::path &amp;filename)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::IMeshCache::setMeshFilename           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1string.html">io::path</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>filename</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Renames a loaded mesh. 
<p>
Note that renaming meshes might change the ordering of the meshes, and so the index of the meshes as returned by <a class="el" href="classirr_1_1scene_1_1_i_mesh_cache.html#621026b62a53825a544b254ac23c553a" title="Returns current index number of the mesh, and -1 if it is not in the cache.">getMeshIndex()</a> or taken by some methods will change. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>The index of the mesh in the cache. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>New name for the mesh. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if mesh was renamed. </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_i_mesh_cache_8h-source.html">IMeshCache.h</a></ul>
</div>
<hr size="1">
<address style="align: right;">
<small> </small>
</address>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
  <tr> 
    <td width="0"> <div align="left"><small><a href="http://irrlicht.sourceforge.net" target="_blank"><img src="irrlicht.png" alt="The Irrlicht Engine" align="middle" border=0 width=88 height=31></a></small></div></td>
    <td> <div align="left"><small><em><font size="2">The <a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
        Engine</a> Documentation &copy; 2003-2009 by Nikolaus Gebhardt. Generated 
        on Sun Jan 10 09:24:13 2010 by <a href="http://www.doxygen.org" target="_blank">Doxygen</a> 
        (1.5.6)</font></em></small></div></td>
  </tr>
</table>
<address style="align: right;">
</address>
</body>
</html>