Sophie

Sophie

distrib > Mandriva > 2011.0 > i586 > by-pkgid > a16d689bc65aac5d987d5129109e6de5 > files > 668

irrlicht-doc-1.7.2-1.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>Irrlicht Engine: irr::scene::ISceneNodeAnimatorFactory 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.6.2 -->
  <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_scene_node_animator_factory.html">ISceneNodeAnimatorFactory</a>
  </div>
<div class="contents">
<h1>irr::scene::ISceneNodeAnimatorFactory Class Reference</h1><!-- doxytag: class="irr::scene::ISceneNodeAnimatorFactory" --><!-- doxytag: inherits="irr::IReferenceCounted" -->
<p>Interface for dynamic creation of scene node animators.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_i_scene_node_animator_factory_8h_source.html">ISceneNodeAnimatorFactory.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for irr::scene::ISceneNodeAnimatorFactory:</div>
<div class="dynsection">
 <div class="center">
  <img src="classirr_1_1scene_1_1_i_scene_node_animator_factory.png" usemap="#irr::scene::ISceneNodeAnimatorFactory_map" alt=""/>
  <map id="irr::scene::ISceneNodeAnimatorFactory_map" name="irr::scene::ISceneNodeAnimatorFactory_map">
<area href="classirr_1_1_i_reference_counted.html" alt="irr::IReferenceCounted" shape="rect" coords="0,0,234,24"/>
</map>
 </div>
</div>

<p><a href="classirr_1_1scene_1_1_i_scene_node_animator_factory-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator.html">ISceneNodeAnimator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a093f1fb03d8e1c73ff60c8612b0ba778">createSceneNodeAnimator</a> (const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *typeName, <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *target)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a scene node animator based on its type name  <a href="#a093f1fb03d8e1c73ff60c8612b0ba778"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator.html">ISceneNodeAnimator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a509845a16fa1fdd7241bb10416327eb2">createSceneNodeAnimator</a> (<a class="el" href="namespaceirr_1_1scene.html#a327a1e43872705cf8f3f3342fb307d19">ESCENE_NODE_ANIMATOR_TYPE</a> type, <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *target)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">creates a scene node animator based on its type id  <a href="#a509845a16fa1fdd7241bb10416327eb2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a7b6f10b1e602714652636763e8617691">getCreatableSceneNodeAnimatorTypeCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns amount of scene node animator types this factory is able to create  <a href="#a7b6f10b1e602714652636763e8617691"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceirr_1_1scene.html#a327a1e43872705cf8f3f3342fb307d19">ESCENE_NODE_ANIMATOR_TYPE</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a6b423730b46154f5e0c3bcfd21e41755">getCreateableSceneNodeAnimatorType</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> idx) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns type of a createable scene node animator type  <a href="#a6b423730b46154f5e0c3bcfd21e41755"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a905e896d9fbb0821dd4bf4214b786116">getCreateableSceneNodeAnimatorTypeName</a> (<a class="el" href="namespaceirr_1_1scene.html#a327a1e43872705cf8f3f3342fb307d19">ESCENE_NODE_ANIMATOR_TYPE</a> type) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns type name of a createable scene node animator type  <a href="#a905e896d9fbb0821dd4bf4214b786116"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#af33905c1ad6cd478bfbcbda33c82e3bd">getCreateableSceneNodeAnimatorTypeName</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> idx) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns type name of a createable scene node animator type  <a href="#af33905c1ad6cd478bfbcbda33c82e3bd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a0d4cea06353351227fb0960b4ae8001e">~ISceneNodeAnimatorFactory</a> ()</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Interface for dynamic creation of scene node animators. </p>
<p>To be able to add custom scene node animators to Irrlicht and to make it possible for the scene manager to save and load those external animators, simply implement this interface and register it in you scene manager via <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html#af48c93cc41f986f08ed964cc575ee7a0" title="Adds a scene node animator factory to the scene manager.">ISceneManager::registerSceneNodeAnimatorFactory</a>. Note: When implementing your own scene node factory, don't call ISceneNodeManager::grab() to increase the reference counter of the scene node manager. This is not necessary because the scene node manager will <a class="el" href="classirr_1_1_i_reference_counted.html#a2b7a035532e5f409ca9482dab79185f4" title="Grabs the object. Increments the reference counter by one.">grab()</a> the factory anyway, and otherwise cyclic references will be created and the scene manager and all its nodes won't get deallocated. </p>

<p>Definition at line <a class="el" href="_i_scene_node_animator_factory_8h_source.html#l00027">27</a> of file <a class="el" href="_i_scene_node_animator_factory_8h_source.html">ISceneNodeAnimatorFactory.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0d4cea06353351227fb0960b4ae8001e"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::~ISceneNodeAnimatorFactory" ref="a0d4cea06353351227fb0960b4ae8001e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual irr::scene::ISceneNodeAnimatorFactory::~ISceneNodeAnimatorFactory </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_i_scene_node_animator_factory_8h_source.html#l00031">31</a> of file <a class="el" href="_i_scene_node_animator_factory_8h_source.html">ISceneNodeAnimatorFactory.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a093f1fb03d8e1c73ff60c8612b0ba778"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::createSceneNodeAnimator" ref="a093f1fb03d8e1c73ff60c8612b0ba778" args="(const c8 *typeName, ISceneNode *target)=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_scene_node_animator.html">ISceneNodeAnimator</a>* irr::scene::ISceneNodeAnimatorFactory::createSceneNodeAnimator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a> *&nbsp;</td>
          <td class="paramname"> <em>typeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *&nbsp;</td>
          <td class="paramname"> <em>target</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>creates a scene node animator based on its type name </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>typeName,:</em>&nbsp;</td><td>Type of the scene node animator to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>target,:</em>&nbsp;</td><td>Target scene node of the new animator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns pointer to the new scene node animator or null if not successful. You need to drop this pointer after calling this, see <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for details. </dd></dl>

</div>
</div>
<a class="anchor" id="a509845a16fa1fdd7241bb10416327eb2"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::createSceneNodeAnimator" ref="a509845a16fa1fdd7241bb10416327eb2" args="(ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode *target)=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_scene_node_animator.html">ISceneNodeAnimator</a>* irr::scene::ISceneNodeAnimatorFactory::createSceneNodeAnimator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr_1_1scene.html#a327a1e43872705cf8f3f3342fb307d19">ESCENE_NODE_ANIMATOR_TYPE</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *&nbsp;</td>
          <td class="paramname"> <em>target</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>creates a scene node animator based on its type id </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type,:</em>&nbsp;</td><td>Type of the scene node animator to add. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>target,:</em>&nbsp;</td><td>Target scene node of the new animator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns pointer to the new scene node animator or null if not successful. You need to drop this pointer after calling this, see <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for details. </dd></dl>

</div>
</div>
<a class="anchor" id="a7b6f10b1e602714652636763e8617691"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::getCreatableSceneNodeAnimatorTypeCount" ref="a7b6f10b1e602714652636763e8617691" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> irr::scene::ISceneNodeAnimatorFactory::getCreatableSceneNodeAnimatorTypeCount </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 scene node animator types this factory is able to create </p>

</div>
</div>
<a class="anchor" id="a6b423730b46154f5e0c3bcfd21e41755"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNodeAnimatorType" ref="a6b423730b46154f5e0c3bcfd21e41755" args="(u32 idx) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceirr_1_1scene.html#a327a1e43872705cf8f3f3342fb307d19">ESCENE_NODE_ANIMATOR_TYPE</a> irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNodeAnimatorType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns type of a createable scene node animator type </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>idx,:</em>&nbsp;</td><td>Index of scene node animator type in this factory. Must be a value between 0 and getCreatableSceneNodeTypeCount() </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a905e896d9fbb0821dd4bf4214b786116"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNodeAnimatorTypeName" ref="a905e896d9fbb0821dd4bf4214b786116" args="(ESCENE_NODE_ANIMATOR_TYPE type) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a>* irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNodeAnimatorTypeName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr_1_1scene.html#a327a1e43872705cf8f3f3342fb307d19">ESCENE_NODE_ANIMATOR_TYPE</a>&nbsp;</td>
          <td class="paramname"> <em>type</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns type name of a createable scene node animator type </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type,:</em>&nbsp;</td><td>Type of scene node animator. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>: Returns name of scene node animator type if this factory can create the type, otherwise 0. </dd></dl>

</div>
</div>
<a class="anchor" id="af33905c1ad6cd478bfbcbda33c82e3bd"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNodeAnimatorTypeName" ref="af33905c1ad6cd478bfbcbda33c82e3bd" args="(u32 idx) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410">c8</a>* irr::scene::ISceneNodeAnimatorFactory::getCreateableSceneNodeAnimatorTypeName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&nbsp;</td>
          <td class="paramname"> <em>idx</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns type name of a createable scene node animator type </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>idx,:</em>&nbsp;</td><td>Index of scene node animator type in this factory. Must be a value between 0 and <a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_factory.html#a7b6f10b1e602714652636763e8617691" title="returns amount of scene node animator types this factory is able to create">getCreatableSceneNodeAnimatorTypeCount()</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_i_scene_node_animator_factory_8h_source.html">ISceneNodeAnimatorFactory.h</a></li>
</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-2010 by Nikolaus Gebhardt. Generated 
        on Sun Oct 24 12:42:08 2010 by <a href="http://www.doxygen.org" target="_blank">Doxygen</a> 
        (1.6.2)</font></em></small></div></td>
  </tr>
</table>
<address style="align: right;">
</address>
</body>
</html>