Sophie

Sophie

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

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: iGeneralMeshState 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>iGeneralMeshState Struct Reference<br>
<small>
[<a class="el" href="group__meshplugins.html">Mesh plugins</a>]</small>
</h1><!-- doxytag: class="iGeneralMeshState" --><!-- doxytag: inherits="iGeneralMeshCommonState" -->This interface describes the API for the general mesh object.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="genmesh_8h-source.html">imesh/genmesh.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for iGeneralMeshState:</div>
<div class="dynsection">
<p><center><img src="structiGeneralMeshState__inherit__graph.png" border="0" usemap="#iGeneralMeshState__inherit__map" alt="Inheritance graph"></center>
<map name="iGeneralMeshState__inherit__map">
<area shape="rect" href="structiGeneralMeshCommonState.html" title="The common interface between genmesh meshes and factories." alt="" coords="5,84,211,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="80,7,136,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="structiGeneralMeshState-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 <br>
<a class="el" href="structiGenMeshAnimationControl.html">iGenMeshAnimationControl</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiGeneralMeshState.html#9f457ff313594fb0c41c368f1fae0432">GetAnimationControl</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current animation control for this object.  <a href="#9f457ff313594fb0c41c368f1fae0432"></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="structiGeneralMeshState.html#7f19f18d4223b460c70f0ced898fd86b">SetAnimationControl</a> (<a class="el" href="structiGenMeshAnimationControl.html">iGenMeshAnimationControl</a> *anim_ctrl)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the animation control to use for this mesh object.  <a href="#7f19f18d4223b460c70f0ced898fd86b"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Legacy submesh support</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiGeneralMeshState.html#a7027c960f3769b56902c39d6969eea7">AddSubMesh</a> (unsigned int *triangles, int tricount, <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *material, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> mixmode)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a submesh to this object.  <a href="#a7027c960f3769b56902c39d6969eea7"></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="structiGeneralMeshState.html#80e63fca9db3d46bf1a58376d1a94206">AddSubMesh</a> (unsigned int *triangles, int tricount, <a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *material)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a submesh to this object.  <a href="#80e63fca9db3d46bf1a58376d1a94206"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">SubMesh handling</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiGeneralMeshSubMesh.html">iGeneralMeshSubMesh</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiGeneralMeshState.html#ec04f25abbea1d1eac9048d5ecb99ab6">FindSubMesh</a> (const char *name) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the index of a submesh.  <a href="#ec04f25abbea1d1eac9048d5ecb99ab6"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This interface describes the API for the general mesh object. 
<p>
Main creators of instances implementing this interface:<ul>
<li>Genmesh mesh object plugin (crystalspace.mesh.object.genmesh)</li><li><a class="el" href="structiMeshObjectFactory.html#82872458683c8e520026e59111f249ce" title="Create an instance of iMeshObject.">iMeshObjectFactory::NewInstance()</a></li></ul>
<p>
Main ways to get pointers to this interface:<ul>
<li><a class="el" href="group__scf.html#g2e8cf383ca5045f2b0c05374ff0107c3" title="Helper function around iBase::QueryInterface.">scfQueryInterface()</a> on <a class="el" href="structiMeshWrapper.html#941b6ca24a1560e9c7d54b317c743316" title="Get the iMeshObject.">iMeshWrapper::GetMeshObject()</a></li></ul>
<p>
Main users of this interface:<ul>
<li>Genmesh Loader plugin (crystalspace.mesh.loader.genmesh) </li></ul>

<p>Definition at line <a class="el" href="genmesh_8h-source.html#l00150">150</a> of file <a class="el" href="genmesh_8h-source.html">genmesh.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a7027c960f3769b56902c39d6969eea7"></a><!-- doxytag: member="iGeneralMeshState::AddSubMesh" ref="a7027c960f3769b56902c39d6969eea7" args="(unsigned int *triangles, int tricount, iMaterialWrapper *material, uint mixmode)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iGeneralMeshState::AddSubMesh           </td>
          <td>(</td>
          <td class="paramtype">unsigned int *&nbsp;</td>
          <td class="paramname"> <em>triangles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>tricount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>material</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>mixmode</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>
Add a submesh to this object. 
<p>
A submesh is a subset of the mesh triangles rendered with a certain material. When a mesh has one or more submeshes, only submeshes are drawn and not original geometry. That means submeshes should cover all original triangles to avoid holes in the mesh. triangles is an array of indices into the factory triangle list tricount is the number of triangles in "triangles" material is a material to assign to the mesh Note! SubMeshes added to an instance of a genmesh will override the submeshes from the factory (i.e. the submeshes of the factory will be completely ignored as soon as the instance has submeshes). This version overrides the parent mixmode. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000087">Deprecated:</a></b></dt><dd>Use AddSubMesh from <a class="el" href="structiGeneralFactoryState.html" title="This interface describes the API for the general mesh factory.">iGeneralFactoryState</a> instead </dd></dl>

</div>
</div><p>
<a class="anchor" name="80e63fca9db3d46bf1a58376d1a94206"></a><!-- doxytag: member="iGeneralMeshState::AddSubMesh" ref="80e63fca9db3d46bf1a58376d1a94206" args="(unsigned int *triangles, int tricount, iMaterialWrapper *material)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void iGeneralMeshState::AddSubMesh           </td>
          <td>(</td>
          <td class="paramtype">unsigned int *&nbsp;</td>
          <td class="paramname"> <em>triangles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>tricount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td>
          <td class="paramname"> <em>material</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>
Add a submesh to this object. 
<p>
A submesh is a subset of the mesh triangles rendered with a certain material. When a mesh has one or more submeshes, only submeshes are drawn and not original geometry. That means submeshes should cover all original triangles to avoid holes in the mesh. triangles is an array of indices into the factory triangle list tricount is the number of triangles in "triangles" material is a material to assign to the mesh Note! SubMeshes added to an instance of a genmesh will override the submeshes from the factory (i.e. the submeshes of the factory will be completely ignored as soon as the instance has submeshes). <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000086">Deprecated:</a></b></dt><dd>Use AddSubMesh from <a class="el" href="structiGeneralFactoryState.html" title="This interface describes the API for the general mesh factory.">iGeneralFactoryState</a> instead </dd></dl>

</div>
</div><p>
<a class="anchor" name="ec04f25abbea1d1eac9048d5ecb99ab6"></a><!-- doxytag: member="iGeneralMeshState::FindSubMesh" ref="ec04f25abbea1d1eac9048d5ecb99ab6" args="(const char *name) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiGeneralMeshSubMesh.html">iGeneralMeshSubMesh</a>* iGeneralMeshState::FindSubMesh           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the index of a submesh. 
<p>
The index can be used with DeleteSubMesh() and the GetSubMesh...() methods. Returns 0 if the submesh was not found.<p>
The returned interface can be used for limited per-object variation of the submeshes as defined in the factory. Currently the following aspects can be overridden:<ul>
<li>Shader variables (by querying the <a class="el" href="structiShaderVariableContext.html" title="This is a baseclass for all interfaces which provides shadervariables both dynamically...">iShaderVariableContext</a> interface) </li></ul>

</div>
</div><p>
<a class="anchor" name="9f457ff313594fb0c41c368f1fae0432"></a><!-- doxytag: member="iGeneralMeshState::GetAnimationControl" ref="9f457ff313594fb0c41c368f1fae0432" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiGenMeshAnimationControl.html">iGenMeshAnimationControl</a>* iGeneralMeshState::GetAnimationControl           </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>
Get the current animation control for this object. 
<p>

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

<p>
Set the animation control to use for this mesh object. 
<p>
See <a class="el" href="structiGenMeshAnimationControl.html" title="Implementing this class allows the creation of classes that control animation of...">iGenMeshAnimationControl</a> for more information. 
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>imesh/<a class="el" href="genmesh_8h-source.html">genmesh.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>