Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 3354

crystalspace-doc-1.2.1-5mdv2010.0.i586.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>Crystal Space 1.2.1: iObjectModel Struct Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>iObjectModel Struct Reference<br>
<small>
[<a class="el" href="group__geom__utils.html">Geometry utilities</a>]</small>
</h1><!-- doxytag: class="iObjectModel" --><!-- doxytag: inherits="iBase" -->This interface represents data related to some geometry in object space.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="imesh_2objmodel_8h-source.html">imesh/objmodel.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iObjectModel:</div>
<div class="dynsection">
<p><center><img src="structiObjectModel__inherit__graph.png" border="0" usemap="#iObjectModel__inherit__map" alt="Inheritance graph"></center>
<map name="iObjectModel__inherit__map">
<area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\&lt; csObjectModel, iObjectModel \&gt;" alt="" coords="263,31,625,57"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="5,31,61,57"><area shape="rect" href="classcsObjectModel.html" title="Helper class to make it easier to implement iObjectModel in mesh objects." alt="" coords="675,31,789,57"><area shape="rect" href="classscfImplementationExt1.html" title="scfImplementationExt1\&lt; csMeshObject, csObjectModel, iMeshObject \&gt;" alt="" coords="896,5,1376,32"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csParticleSystem, csObjectModel, iMeshObject, iParticleState \&gt;" alt="" coords="837,56,1435,83"><area shape="rect" href="classcsMeshObject.html" title="This is an abstract implementation of iMeshObject." alt="" coords="1495,5,1604,32"><area shape="rect" href="classcsParticleSystem.html" title="This class represents a particle system." alt="" coords="1483,56,1616,83"><area shape="rect" href="classscfImplementationExt0.html" title="scfImplementationExt0\&lt; csNewtonianParticleSystem, csParticleSystem \&gt;" alt="" coords="1664,56,2168,83"><area shape="rect" href="classcsNewtonianParticleSystem.html" title="This class has a set of particles that behave with physics." alt="" coords="2216,56,2419,83"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiObjectModel-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="structiObjectModel.html#461d6857b46d7112c0a91a802255da35">AddListener</a> (<a class="el" href="structiObjectModelListener.html">iObjectModelListener</a> *listener)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a listener to this object model.  <a href="#461d6857b46d7112c0a91a802255da35"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#221eb0db0e001c4f29c3495e83bb8f24">CreateLowerDetailPolygonMesh</a> (float detail)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a polygon mesh representing a lower detail version of the object but without the restrictions of <a class="el" href="structiObjectModel.html#5528fd7528ecc252ce64b3a660fe6f26" title="Get a polygon mesh specifically for visibility culling (to be used as an occluder)...">GetPolygonMeshViscull()</a>.  <a href="#221eb0db0e001c4f29c3495e83bb8f24"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#78960c01493abf081e0b8257405138c2">GetObjectBoundingBox</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the bounding box in object space for this mesh object.  <a href="#78960c01493abf081e0b8257405138c2"></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="structiObjectModel.html#3cda3f14f08428ecc897134f3b27f80a">GetObjectBoundingBox</a> (<a class="el" href="classcsBox3.html">csBox3</a> &amp;bbox)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the bounding box in object space for this mesh object.  <a href="#3cda3f14f08428ecc897134f3b27f80a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#c05db2d15b7eeb3d894d946ab8e524a8">GetPolygonMeshBase</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a polygon mesh representing the basic geometry of the object.  <a href="#c05db2d15b7eeb3d894d946ab8e524a8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#b02851d83412748cde4dfc60d510b455">GetPolygonMeshColldet</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a polygon mesh representing the geometry of the object.  <a href="#b02851d83412748cde4dfc60d510b455"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#c7f54b7459f6ffa648951b76e832ddf8">GetPolygonMeshShadows</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a polygon mesh specifically for shadow casting (to be used by the shadow manager).  <a href="#c7f54b7459f6ffa648951b76e832ddf8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#5528fd7528ecc252ce64b3a660fe6f26">GetPolygonMeshViscull</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a polygon mesh specifically for visibility culling (to be used as an occluder).  <a href="#5528fd7528ecc252ce64b3a660fe6f26"></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="structiObjectModel.html#3464f62b8d1efdedf06456adacabf008">GetRadius</a> (float &amp;radius, <a class="el" href="classcsVector3.html">csVector3</a> &amp;center)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the radius and center of this object in object space.  <a href="#3464f62b8d1efdedf06456adacabf008"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#8d196b0037222cc8681ed8e3a8ce521e">GetShapeNumber</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a number that will change whenever the shape of this object changes.  <a href="#8d196b0037222cc8681ed8e3a8ce521e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTerraFormer.html">iTerraFormer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#b61f3ce7ac7c7cc03df5a44ede426e89">GetTerraFormerColldet</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a terra former representing the geometry of the object.  <a href="#b61f3ce7ac7c7cc03df5a44ede426e89"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTerrainSystem.html">iTerrainSystem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#d13b1400daf472fe6f784e27f793d38f">GetTerrainColldet</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a terrain representing the geometry of the object.  <a href="#d13b1400daf472fe6f784e27f793d38f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTriangleMesh.html">iTriangleMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#c894706a83d6c33d9a204e0638c63f1c">GetTriangleData</a> (<a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> id)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a triangle mesh representing the geometry of the object.  <a href="#c894706a83d6c33d9a204e0638c63f1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br>
&lt; <a class="el" href="structiTriangleMeshIterator.html">iTriangleMeshIterator</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiObjectModel.html#95886556b647054f7859d72fd6960dc1">GetTriangleDataIterator</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to iterate over all triangle meshes in this object model.  <a href="#95886556b647054f7859d72fd6960dc1"></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="structiObjectModel.html#5c10076948d3cf0d5ed1ca938fc8caac">IsTriangleDataSet</a> (<a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> id)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if the triangle data was set for this id.  <a href="#5c10076948d3cf0d5ed1ca938fc8caac"></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="structiObjectModel.html#2e3bd16e0501cf6657f7da4c9af6159a">RemoveListener</a> (<a class="el" href="structiObjectModelListener.html">iObjectModelListener</a> *listener)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a listener from this object model.  <a href="#2e3bd16e0501cf6657f7da4c9af6159a"></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="structiObjectModel.html#74918d313bef5bdc88e0a15c31e5ae04">ResetTriangleData</a> (<a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> id)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset triangle data.  <a href="#74918d313bef5bdc88e0a15c31e5ae04"></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="structiObjectModel.html#0fbd58df3a157434eca28b045d15cde8">SetObjectBoundingBox</a> (const <a class="el" href="classcsBox3.html">csBox3</a> &amp;bbox)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Override the bounding box of this mesh object in object space.  <a href="#0fbd58df3a157434eca28b045d15cde8"></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="structiObjectModel.html#291883b516d389d11fa38ffa07770d64">SetPolygonMeshColldet</a> (<a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *polymesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a polygon mesh representing the geometry of the object.  <a href="#291883b516d389d11fa38ffa07770d64"></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="structiObjectModel.html#2d344f39d9825d06b020cbb36c94fd19">SetPolygonMeshShadows</a> (<a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *polymesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a polygon mesh representing the geometry of the object.  <a href="#2d344f39d9825d06b020cbb36c94fd19"></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="structiObjectModel.html#7cda7638f30c6f8140ecb5f773e930a6">SetPolygonMeshViscull</a> (<a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *polymesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a polygon mesh representing the geometry of the object.  <a href="#7cda7638f30c6f8140ecb5f773e930a6"></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="structiObjectModel.html#bc5a25e0308c3e5984765eab2d4bb895">SetTriangleData</a> (<a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a> id, <a class="el" href="structiTriangleMesh.html">iTriangleMesh</a> *trimesh)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a triangle mesh representing the geometry of the object.  <a href="#bc5a25e0308c3e5984765eab2d4bb895"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This interface represents data related to some geometry in object space. 
<p>
It is a generic way to describe meshes in the engine. By using this interface you can make sure your code works on all engine geometry. The data returned by this class is in local object space.<p>
Main creators of instances implementing this interface:<ul>
<li>All mesh objects implement this interface.</li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="structiMeshObject.html#6d9cdc0093694cf3977740d72168b6cc" title="Get the generic interface describing the geometry of this mesh.">iMeshObject::GetObjectModel()</a></li><li><a class="el" href="structiMeshObjectFactory.html#673f9d5ef6930be8bddb228122e66826" title="Get the generic interface describing the geometry of this mesh factory.">iMeshObjectFactory::GetObjectModel()</a> </li></ul>

<p>Definition at line <a class="el" href="imesh_2objmodel_8h-source.html#l00093">93</a> of file <a class="el" href="imesh_2objmodel_8h-source.html">objmodel.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="461d6857b46d7112c0a91a802255da35"></a><!-- doxytag: member="iObjectModel::AddListener" ref="461d6857b46d7112c0a91a802255da35" args="(iObjectModelListener *listener)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::AddListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectModelListener.html">iObjectModelListener</a> *&nbsp;</td>
          <td class="paramname"> <em>listener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add a listener to this object model. 
<p>
This listener will be called whenever the object model changes or right before it is destroyed. 
<p>Implemented in <a class="el" href="classcsObjectModel.html#bef7c5bcb13ca768d5fe1a4990ae8e1a">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="221eb0db0e001c4f29c3495e83bb8f24"></a><!-- doxytag: member="iObjectModel::CreateLowerDetailPolygonMesh" ref="221eb0db0e001c4f29c3495e83bb8f24" args="(float detail)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiPolygonMesh.html">iPolygonMesh</a>&gt; iObjectModel::CreateLowerDetailPolygonMesh           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>detail</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a polygon mesh representing a lower detail version of the object but without the restrictions of <a class="el" href="structiObjectModel.html#5528fd7528ecc252ce64b3a660fe6f26" title="Get a polygon mesh specifically for visibility culling (to be used as an occluder)...">GetPolygonMeshViscull()</a>. 
<p>
The floating point input number is 0 for minimum detail and 1 for highest detail. This function may return the same polygon mesh as <a class="el" href="structiObjectModel.html#b02851d83412748cde4dfc60d510b455" title="Get a polygon mesh representing the geometry of the object.">GetPolygonMeshColldet()</a> (but with ref count incremented by one). Can return 0 if this object model doesn't support that. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000095">Deprecated:</a></b></dt><dd>This method was never implemented and is misplaced. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#1d0a475b79e1557ca0e5bf42b8d1efa7">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="78960c01493abf081e0b8257405138c2"></a><!-- doxytag: member="iObjectModel::GetObjectBoundingBox" ref="78960c01493abf081e0b8257405138c2" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classcsBox3.html">csBox3</a>&amp; iObjectModel::GetObjectBoundingBox           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the bounding box in object space for this mesh object. 
<p>

<p>Implemented in <a class="el" href="classcsParticleSystem.html#bb6824591c88d75a462680c30ac0065b">csParticleSystem</a>, and <a class="el" href="classcsMeshObject.html#6b12a1613e96da40db30c4d4df243b1e">csMeshObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="3cda3f14f08428ecc897134f3b27f80a"></a><!-- doxytag: member="iObjectModel::GetObjectBoundingBox" ref="3cda3f14f08428ecc897134f3b27f80a" args="(csBox3 &amp;bbox)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::GetObjectBoundingBox           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bbox</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the bounding box in object space for this mesh object. 
<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000096">Deprecated:</a></b></dt><dd>Use <a class="el" href="structiObjectModel.html#78960c01493abf081e0b8257405138c2" title="Get the bounding box in object space for this mesh object.">GetObjectBoundingBox()</a> (without parameters) instead. </dd></dl>

<p>Implemented in <a class="el" href="classcsParticleSystem.html#517abb6bbfa95b9d083ce6a87d376534">csParticleSystem</a>, and <a class="el" href="classcsMeshObject.html#b92ebdbe8387c1052ffc5022fd87a8f0">csMeshObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="c05db2d15b7eeb3d894d946ab8e524a8"></a><!-- doxytag: member="iObjectModel::GetPolygonMeshBase" ref="c05db2d15b7eeb3d894d946ab8e524a8" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a>* iObjectModel::GetPolygonMeshBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a polygon mesh representing the basic geometry of the object. 
<p>
Can return 0 if this object model doesn't support that. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000088">Deprecated:</a></b></dt><dd>Use GetTriangleData(id) with id the interned string 'base'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#3e7d9f3e30351576fd2efa2f5e159374">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="b02851d83412748cde4dfc60d510b455"></a><!-- doxytag: member="iObjectModel::GetPolygonMeshColldet" ref="b02851d83412748cde4dfc60d510b455" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a>* iObjectModel::GetPolygonMeshColldet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a polygon mesh representing the geometry of the object. 
<p>
This mesh is useful for collision detection. Can return 0 if this object model doesn't support that. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000089">Deprecated:</a></b></dt><dd>Use GetTriangleData(id) with id the interned string 'colldet'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#7c2f79db00917dd10135440b8439c99f">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="c7f54b7459f6ffa648951b76e832ddf8"></a><!-- doxytag: member="iObjectModel::GetPolygonMeshShadows" ref="c7f54b7459f6ffa648951b76e832ddf8" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a>* iObjectModel::GetPolygonMeshShadows           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a polygon mesh specifically for shadow casting (to be used by the shadow manager). 
<p>
This polygon mesh is guaranteed to be smaller or equal to the real object. In other words: if you would render the original mesh in red and this one in blue you should not see any blue anywhere. Can return 0 if this object model doesn't support that. In that case the object will not be used for shadow casting. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000093">Deprecated:</a></b></dt><dd>Use GetTriangleData(id) with id the interned string 'shadows'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#8fed3c44ae3261fa450a8c09c2cde20a">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="5528fd7528ecc252ce64b3a660fe6f26"></a><!-- doxytag: member="iObjectModel::GetPolygonMeshViscull" ref="5528fd7528ecc252ce64b3a660fe6f26" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiPolygonMesh.html">iPolygonMesh</a>* iObjectModel::GetPolygonMeshViscull           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a polygon mesh specifically for visibility culling (to be used as an occluder). 
<p>
This polygon mesh is guaranteed to be smaller or equal to the real object. In other words: if you would render the original mesh in red and this one in blue you should not see any blue anywhere. This kind of lower detail version can be used for occlusion writing in a visibility culling system. Can return 0 if this object model doesn't support that. In that case the object will not be used for visibility culling. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000091">Deprecated:</a></b></dt><dd>Use GetTriangleData(id) with id the interned string 'viscull'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#42fc04cf312b1405fc0f9064e9d0dd7a">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="3464f62b8d1efdedf06456adacabf008"></a><!-- doxytag: member="iObjectModel::GetRadius" ref="3464f62b8d1efdedf06456adacabf008" args="(float &amp;radius, csVector3 &amp;center)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::GetRadius           </td>
          <td>(</td>
          <td class="paramtype">float &amp;&nbsp;</td>
          <td class="paramname"> <em>radius</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsVector3.html">csVector3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>center</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the radius and center of this object in object space. 
<p>

<p>Implemented in <a class="el" href="classcsParticleSystem.html#0427cf5bd18d9044f82140678b23349e">csParticleSystem</a>, and <a class="el" href="classcsMeshObject.html#a3da2433e42166e84c4038241ee70698">csMeshObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="8d196b0037222cc8681ed8e3a8ce521e"></a><!-- doxytag: member="iObjectModel::GetShapeNumber" ref="8d196b0037222cc8681ed8e3a8ce521e" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual long iObjectModel::GetShapeNumber           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a number that will change whenever the shape of this object changes. 
<p>
If that happens then the data in all the returned polygon meshes and bounding volumes will be invalid. 
<p>Implemented in <a class="el" href="classcsObjectModel.html#ac1075c91da02e10642b326c5f6af701">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="b61f3ce7ac7c7cc03df5a44ede426e89"></a><!-- doxytag: member="iObjectModel::GetTerraFormerColldet" ref="b61f3ce7ac7c7cc03df5a44ede426e89" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTerraFormer.html">iTerraFormer</a>* iObjectModel::GetTerraFormerColldet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a terra former representing the geometry of the object. 
<p>
This class is useful for collision detection. Can return 0 if this object model doesn't support that. 
<p>Implemented in <a class="el" href="classcsParticleSystem.html#68d77c097d1ec09be6de89d9a7073c17">csParticleSystem</a>, <a class="el" href="classcsMeshObject.html#27632054cc980e5c59eab9e92c9b2b32">csMeshObject</a>, and <a class="el" href="classcsObjectModel.html#4cffdad0c34be68df1fce291195c3d91">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="d13b1400daf472fe6f784e27f793d38f"></a><!-- doxytag: member="iObjectModel::GetTerrainColldet" ref="d13b1400daf472fe6f784e27f793d38f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTerrainSystem.html">iTerrainSystem</a>* iObjectModel::GetTerrainColldet           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a terrain representing the geometry of the object. 
<p>
This class is useful for collision detection. Can return 0 if this object model doesn't support that. 
<p>Implemented in <a class="el" href="classcsParticleSystem.html#dc63fc1ae8314c263604780329b04cd2">csParticleSystem</a>, <a class="el" href="classcsMeshObject.html#e70dd21501643528c7fbfbfae068f92a">csMeshObject</a>, and <a class="el" href="classcsObjectModel.html#8f92cd29ac8d2f9a7452986dccc1c554">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="c894706a83d6c33d9a204e0638c63f1c"></a><!-- doxytag: member="iObjectModel::GetTriangleData" ref="c894706a83d6c33d9a204e0638c63f1c" args="(csStringID id)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTriangleMesh.html">iTriangleMesh</a>* iObjectModel::GetTriangleData           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a>&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a triangle mesh representing the geometry of the object. 
<p>
The ID indicates the type of mesh that is desired. Use the string registry (<a class="el" href="structiStringSet.html" title="The string set is a collection of unique strings.">iStringSet</a> from object registry with tag 'crystalspace.shared.stringset') to convert the ID string to a csStringID identification. Some common possibilities are:<ul>
<li>'base'</li><li>'colldet'</li><li>'viscull'</li><li>'shadows' <dl class="return" compact><dt><b>Returns:</b></dt><dd>the triangle mesh for that id. If this is 0 then there are two possibilities: either the mesh was never set and in this case the subsystem can pick the base mesh as a fallback. Another possibility is that the triangle data was explicitelly cleared with SetTriangleData(id,0). In that case the mesh is assumed to be empty and usually that means that the specific subsystem will ignore it. To distinguish between these two cases use IsTriangleDataSet(id). </dd></dl>
</li></ul>

<p>Implemented in <a class="el" href="classcsObjectModel.html#8f619970982e6ba2edc32ef36d13ce30">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="95886556b647054f7859d72fd6960dc1"></a><!-- doxytag: member="iObjectModel::GetTriangleDataIterator" ref="95886556b647054f7859d72fd6960dc1" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a>&lt;<a class="el" href="structiTriangleMeshIterator.html">iTriangleMeshIterator</a>&gt; iObjectModel::GetTriangleDataIterator           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an iterator to iterate over all triangle meshes in this object model. 
<p>
This includes triangle meshes that are 0. 
<p>Implemented in <a class="el" href="classcsObjectModel.html#8248d73ac5f36b68ac617a3544b17fe6">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="5c10076948d3cf0d5ed1ca938fc8caac"></a><!-- doxytag: member="iObjectModel::IsTriangleDataSet" ref="5c10076948d3cf0d5ed1ca938fc8caac" args="(csStringID id)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool iObjectModel::IsTriangleDataSet           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a>&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if the triangle data was set for this id. 
<p>
This can be used to distinguish between an empty mesh as set with <a class="el" href="structiObjectModel.html#bc5a25e0308c3e5984765eab2d4bb895" title="Set a triangle mesh representing the geometry of the object.">SetTriangleData()</a> or <a class="el" href="structiObjectModel.html#bc5a25e0308c3e5984765eab2d4bb895" title="Set a triangle mesh representing the geometry of the object.">SetTriangleData()</a> not being called at all. Calling <a class="el" href="structiObjectModel.html#74918d313bef5bdc88e0a15c31e5ae04" title="Reset triangle data.">ResetTriangleData()</a> will clear this. 
<p>Implemented in <a class="el" href="classcsObjectModel.html#e3834345d01321df7d9c6233414606c4">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="2e3bd16e0501cf6657f7da4c9af6159a"></a><!-- doxytag: member="iObjectModel::RemoveListener" ref="2e3bd16e0501cf6657f7da4c9af6159a" args="(iObjectModelListener *listener)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::RemoveListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectModelListener.html">iObjectModelListener</a> *&nbsp;</td>
          <td class="paramname"> <em>listener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a listener from this object model. 
<p>

<p>Implemented in <a class="el" href="classcsObjectModel.html#088c1c38c9ae9c7d1493ed6c45521690">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="74918d313bef5bdc88e0a15c31e5ae04"></a><!-- doxytag: member="iObjectModel::ResetTriangleData" ref="74918d313bef5bdc88e0a15c31e5ae04" args="(csStringID id)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::ResetTriangleData           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a>&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reset triangle data. 
<p>
After calling this it is as if the triangle data was never set. 
<p>Implemented in <a class="el" href="classcsObjectModel.html#f4f8f4e54ebc46042c62612fd723f79b">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="0fbd58df3a157434eca28b045d15cde8"></a><!-- doxytag: member="iObjectModel::SetObjectBoundingBox" ref="0fbd58df3a157434eca28b045d15cde8" args="(const csBox3 &amp;bbox)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::SetObjectBoundingBox           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsBox3.html">csBox3</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bbox</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Override the bounding box of this mesh object in object space. 
<p>
Note that some mesh objects don't have a bounding box on their own and may delegate this call to their factory (like genmesh). 
<p>Implemented in <a class="el" href="classcsParticleSystem.html#d9cb30fd5ebce817edfba40ec9709c77">csParticleSystem</a>, and <a class="el" href="classcsMeshObject.html#89fa6d5e00ff5d19410b6d4041477c67">csMeshObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="291883b516d389d11fa38ffa07770d64"></a><!-- doxytag: member="iObjectModel::SetPolygonMeshColldet" ref="291883b516d389d11fa38ffa07770d64" args="(iPolygonMesh *polymesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::SetPolygonMeshColldet           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td>
          <td class="paramname"> <em>polymesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a polygon mesh representing the geometry of the object. 
<p>
This mesh is useful for collision detection. This can be used to replace the default polygon mesh returned by <a class="el" href="structiObjectModel.html#b02851d83412748cde4dfc60d510b455" title="Get a polygon mesh representing the geometry of the object.">GetPolygonMeshColldet()</a> with one that has less detail or even to support polygon mesh for mesh objects that otherwise don't support it. The object model will keep a reference to the given polymesh. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000090">Deprecated:</a></b></dt><dd>Use SetTriangleData(id) with id the interned string 'colldet'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#c09f022e071f526cbcb7c5ed1d15ab87">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="2d344f39d9825d06b020cbb36c94fd19"></a><!-- doxytag: member="iObjectModel::SetPolygonMeshShadows" ref="2d344f39d9825d06b020cbb36c94fd19" args="(iPolygonMesh *polymesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::SetPolygonMeshShadows           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td>
          <td class="paramname"> <em>polymesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a polygon mesh representing the geometry of the object. 
<p>
This mesh is useful for shadow casting. This can be used to replace the default polygon mesh returned by <a class="el" href="structiObjectModel.html#c7f54b7459f6ffa648951b76e832ddf8" title="Get a polygon mesh specifically for shadow casting (to be used by the shadow manager)...">GetPolygonMeshShadows()</a> with one that has less detail or even to support polygon mesh for mesh objects that otherwise don't support it. The object model will keep a reference to the given polymesh. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000094">Deprecated:</a></b></dt><dd>Use SetTriangleData(id) with id the interned string 'shadows'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#ec3504936a543de2fea9a131568ba8f8">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="7cda7638f30c6f8140ecb5f773e930a6"></a><!-- doxytag: member="iObjectModel::SetPolygonMeshViscull" ref="7cda7638f30c6f8140ecb5f773e930a6" args="(iPolygonMesh *polymesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::SetPolygonMeshViscull           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiPolygonMesh.html">iPolygonMesh</a> *&nbsp;</td>
          <td class="paramname"> <em>polymesh</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a polygon mesh representing the geometry of the object. 
<p>
This mesh is useful for visibility culling. This can be used to replace the default polygon mesh returned by <a class="el" href="structiObjectModel.html#5528fd7528ecc252ce64b3a660fe6f26" title="Get a polygon mesh specifically for visibility culling (to be used as an occluder)...">GetPolygonMeshViscull()</a> with one that has less detail or even to support polygon mesh for mesh objects that otherwise don't support it. The object model will keep a reference to the given polymesh. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000092">Deprecated:</a></b></dt><dd>Use SetTriangleData(id) with id the interned string 'viscull'. </dd></dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#6d415ef8523621d82bd3b540994a1df1">csObjectModel</a>.</p>

</div>
</div><p>
<a class="anchor" name="bc5a25e0308c3e5984765eab2d4bb895"></a><!-- doxytag: member="iObjectModel::SetTriangleData" ref="bc5a25e0308c3e5984765eab2d4bb895" args="(csStringID id, iTriangleMesh *trimesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iObjectModel::SetTriangleData           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#gbe4f44c93bfeee85c507a999dccf21dd">csStringID</a>&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiTriangleMesh.html">iTriangleMesh</a> *&nbsp;</td>
          <td class="paramname"> <em>trimesh</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a triangle mesh representing the geometry of the object. 
<p>
The ID indicates the type of mesh that you want to change. Note that the base mesh (ID equal to 'base') cannot be modified. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>is a numer id you can fetch from the string registry (<a class="el" href="structiStringSet.html" title="The string set is a collection of unique strings.">iStringSet</a> from object registry with tag\ 'crystalspace.shared.stringset'). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>trimesh</em>&nbsp;</td><td>is the new mesh. The reference count will be increased. If you pass in 0 here then this means that the mesh for this specific ID is disabled. If you want to reset this then call ResetTriangleData(id). When no mesh is set or <a class="el" href="structiObjectModel.html#74918d313bef5bdc88e0a15c31e5ae04" title="Reset triangle data.">ResetTriangleData()</a> is called many subsystems will use the base mesh instead. However if you set 0 here then this means that this mesh is disabled. </td></tr>
  </table>
</dl>

<p>Implemented in <a class="el" href="classcsObjectModel.html#5bf9f9b5642ee1f06fc24d9f570f5244">csObjectModel</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>imesh/<a class="el" href="imesh_2objmodel_8h-source.html">objmodel.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>