Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 58828b263d8f56d90ac336dea07a4586 > files > 653

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::ISceneNodeAnimatorCollisionResponse 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_scene_node_animator_collision_response.html">ISceneNodeAnimatorCollisionResponse</a>
  </div>
<div class="contents">
<h1>irr::scene::ISceneNodeAnimatorCollisionResponse Class Reference</h1><!-- doxytag: class="irr::scene::ISceneNodeAnimatorCollisionResponse" --><!-- doxytag: inherits="irr::scene::ISceneNodeAnimator" -->Special <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node animator for doing automatic collision detection and response.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="_i_scene_node_animator_collision_response_8h-source.html">ISceneNodeAnimatorCollisionResponse.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for irr::scene::ISceneNodeAnimatorCollisionResponse:</div>
<div class="dynsection">

<p><center><img src="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.png" usemap="#irr::scene::ISceneNodeAnimatorCollisionResponse_map" border="0" alt=""></center>
<map name="irr::scene::ISceneNodeAnimatorCollisionResponse_map">
<area href="classirr_1_1scene_1_1_i_scene_node_animator.html" alt="irr::scene::ISceneNodeAnimator" shape="rect" coords="151,112,444,136">
<area href="classirr_1_1io_1_1_i_attribute_exchanging_object.html" alt="irr::io::IAttributeExchangingObject" shape="rect" coords="0,56,293,80">
<area href="classirr_1_1_i_event_receiver.html" alt="irr::IEventReceiver" shape="rect" coords="303,56,596,80">
<area href="classirr_1_1_i_reference_counted.html" alt="irr::IReferenceCounted" shape="rect" coords="0,0,293,24">
</map>
</div>

<p>
<a href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response-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 bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#8bb04bc4d7de2203879a8392d024f466">collisionOccurred</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a collision occurred during the last <a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator.html#b2170d133db16de148d0f6841c06bc84" title="Animates a scene node.">animateNode()</a>.  <a href="#8bb04bc4d7de2203879a8392d024f466"></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_scene_node_animator_collision_response.html#d08e1d7fa77326c299f42a325a7edefb">getAnimateTarget</a> () const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#f6a271ebd61f57f2fceaa0076b53093c">getCollisionNode</a> (void) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the node that was collided with.  <a href="#f6a271ebd61f57f2fceaa0076b53093c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#cb39b68d18f721960ac73dc158968479">getCollisionPoint</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last point of collision.  <a href="#cb39b68d18f721960ac73dc158968479"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#788542083dda874c63e278891535a9f4">getCollisionResultPosition</a> (void) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the position that the target node will be moved to, unless the collision is consumed in a callback).  <a href="#788542083dda874c63e278891535a9f4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classirr_1_1core_1_1triangle3d.html">core::triangle3df</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#bb9d0576446a64e9944ef15a04722591">getCollisionTriangle</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last triangle that caused a collision.  <a href="#bb9d0576446a64e9944ef15a04722591"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#92965919db3dfbaab2d1f4987a2c52c1">getEllipsoidRadius</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the radius of the ellipsoid for collision detection and response.  <a href="#92965919db3dfbaab2d1f4987a2c52c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#ff0a2ad6ff375a85e08a3226e3267286">getEllipsoidTranslation</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the translation of the ellipsoid for collision detection.  <a href="#ff0a2ad6ff375a85e08a3226e3267286"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">*virtual <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#b9fdc94d0c9b32f20bc0b61a14748b09">getGravity</a> () const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#11b1c54ec705f4ba8b0bb3facb0f09cb">getTargetNode</a> (void) const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the single node that this animator is acting on.  <a href="#11b1c54ec705f4ba8b0bb3facb0f09cb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classirr_1_1scene_1_1_i_triangle_selector.html">ITriangleSelector</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#58e106171ca57a4877d7a6f0edd9762f">getWorld</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current triangle selector containing all triangles for collision detection.  <a href="#58e106171ca57a4877d7a6f0edd9762f"></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_scene_node_animator_collision_response.html#66f5534c1d2ac0e2ea52e7b21a3c91d7">isFalling</a> () const =0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the attached <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node is falling.  <a href="#66f5534c1d2ac0e2ea52e7b21a3c91d7"></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_scene_node_animator_collision_response.html#409b98d04be89fb06cce3384e0188abf">jump</a> (<a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a> jumpSpeed)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">'Jump' the animator, by adding a jump speed opposite to its gravity  <a href="#409b98d04be89fb06cce3384e0188abf"></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_scene_node_animator_collision_response.html#402cbe4934ad10f18762001458c939d9">setAnimateTarget</a> (bool enable)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Should the Target react on collision ( default = true ).  <a href="#402cbe4934ad10f18762001458c939d9"></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_scene_node_animator_collision_response.html#2b97f977b446200c5dd22230aec5d275">setCollisionCallback</a> (<a class="el" href="classirr_1_1scene_1_1_i_collision_callback.html">ICollisionCallback</a> *callback)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a callback interface which will be called if a collision occurs.  <a href="#2b97f977b446200c5dd22230aec5d275"></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_scene_node_animator_collision_response.html#71af73590016ba936340a79467690d3f">setEllipsoidRadius</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;radius)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the radius of the ellipsoid for collision detection and response.  <a href="#71af73590016ba936340a79467690d3f"></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_scene_node_animator_collision_response.html#234ec747d320d70dd3e2a4143782ffc7">setEllipsoidTranslation</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;translation)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set translation of the collision ellipsoid.  <a href="#234ec747d320d70dd3e2a4143782ffc7"></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_scene_node_animator_collision_response.html#f366695a82153c144b58c65cb4d092f3">setGravity</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;gravity)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the gravity of the environment.  <a href="#f366695a82153c144b58c65cb4d092f3"></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_scene_node_animator_collision_response.html#5b291ba9249c451779f76ab2154aa3c2">setTargetNode</a> (<a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *node)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the single node that this animator will act on.  <a href="#5b291ba9249c451779f76ab2154aa3c2"></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_scene_node_animator_collision_response.html#42aa84d4843a734f8dd1f20b5c92ef06">setWorld</a> (<a class="el" href="classirr_1_1scene_1_1_i_triangle_selector.html">ITriangleSelector</a> *newWorld)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a triangle selector holding all triangles of the world with which 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> node may collide.  <a href="#42aa84d4843a734f8dd1f20b5c92ef06"></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_scene_node_animator_collision_response.html#b6b85fb4f76e2d0c03cf2c6b326bddde">~ISceneNodeAnimatorCollisionResponse</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor.  <a href="#b6b85fb4f76e2d0c03cf2c6b326bddde"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Special <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node animator for doing automatic collision detection and response. 
<p>
This <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node animator can be attached to any single <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node and will then prevent it from moving through specified collision geometry (e.g. walls and floors of the) world, as well as having it fall under gravity. This animator provides a simple implementation of first person shooter cameras. Attach it to a camera, and the camera will behave as the player control in a first person shooter game: The camera stops and slides at walls, walks up stairs, falls down if there is no floor under it, and so on.<p>
The animator will treat any change in the position of its target <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node as movement, including a setPosition(), as movement. If you want to teleport the target <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node manually to a location without it being effected by collision geometry, then call setTargetNode(node) after calling node-&gt;setPosition(). 
<p>Definition at line <a class="el" href="_i_scene_node_animator_collision_response_8h-source.html#l00053">53</a> of file <a class="el" href="_i_scene_node_animator_collision_response_8h-source.html">ISceneNodeAnimatorCollisionResponse.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="b6b85fb4f76e2d0c03cf2c6b326bddde"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::~ISceneNodeAnimatorCollisionResponse" ref="b6b85fb4f76e2d0c03cf2c6b326bddde" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual irr::scene::ISceneNodeAnimatorCollisionResponse::~ISceneNodeAnimatorCollisionResponse           </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_scene_node_animator_collision_response_8h-source.html#l00058">58</a> of file <a class="el" href="_i_scene_node_animator_collision_response_8h-source.html">ISceneNodeAnimatorCollisionResponse.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="8bb04bc4d7de2203879a8392d024f466"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::collisionOccurred" ref="8bb04bc4d7de2203879a8392d024f466" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::ISceneNodeAnimatorCollisionResponse::collisionOccurred           </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 true if a collision occurred during the last <a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator.html#b2170d133db16de148d0f6841c06bc84" title="Animates a scene node.">animateNode()</a>. 
<p>

</div>
</div><p>
<a class="anchor" name="d08e1d7fa77326c299f42a325a7edefb"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getAnimateTarget" ref="d08e1d7fa77326c299f42a325a7edefb" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::ISceneNodeAnimatorCollisionResponse::getAnimateTarget           </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>

</div>
</div><p>
<a class="anchor" name="f6a271ebd61f57f2fceaa0076b53093c"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionNode" ref="f6a271ebd61f57f2fceaa0076b53093c" args="(void) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a>* irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionNode           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the node that was collided with. 
<p>

</div>
</div><p>
<a class="anchor" name="cb39b68d18f721960ac73dc158968479"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionPoint" ref="cb39b68d18f721960ac73dc158968479" args="() 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_1vector3d.html">core::vector3df</a>&amp; irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionPoint           </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 the last point of collision. 
<p>

</div>
</div><p>
<a class="anchor" name="788542083dda874c63e278891535a9f4"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionResultPosition" ref="788542083dda874c63e278891535a9f4" args="(void) 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_1vector3d.html">core::vector3df</a>&amp; irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionResultPosition           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the position that the target node will be moved to, unless the collision is consumed in a callback). 
<p>
If you have a collision callback registered, and it consumes the collision, then the node will ignore the collision and will not stop at this position. Instead, it will move fully to the position that caused the collision to occur. 
</div>
</div><p>
<a class="anchor" name="bb9d0576446a64e9944ef15a04722591"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionTriangle" ref="bb9d0576446a64e9944ef15a04722591" args="() 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_1triangle3d.html">core::triangle3df</a>&amp; irr::scene::ISceneNodeAnimatorCollisionResponse::getCollisionTriangle           </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 the last triangle that caused a collision. 
<p>

</div>
</div><p>
<a class="anchor" name="92965919db3dfbaab2d1f4987a2c52c1"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoidRadius" ref="92965919db3dfbaab2d1f4987a2c52c1" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoidRadius           </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 the radius of the ellipsoid for collision detection and response. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Radius of the ellipsoid. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ff0a2ad6ff375a85e08a3226e3267286"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoidTranslation" ref="ff0a2ad6ff375a85e08a3226e3267286" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> irr::scene::ISceneNodeAnimatorCollisionResponse::getEllipsoidTranslation           </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>
Get the translation of the ellipsoid for collision detection. 
<p>
See <a class="el" href="classirr_1_1scene_1_1_i_scene_node_animator_collision_response.html#234ec747d320d70dd3e2a4143782ffc7" title="Set translation of the collision ellipsoid.">ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation()</a> for more details. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Translation of the ellipsoid relative to the position of 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> node. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b9fdc94d0c9b32f20bc0b61a14748b09"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getGravity" ref="b9fdc94d0c9b32f20bc0b61a14748b09" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">* virtual <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> irr::scene::ISceneNodeAnimatorCollisionResponse::getGravity           </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>
Get current vector of gravity. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Gravity vector. </dd></dl>

</div>
</div><p>
<a class="anchor" name="11b1c54ec705f4ba8b0bb3facb0f09cb"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getTargetNode" ref="11b1c54ec705f4ba8b0bb3facb0f09cb" args="(void) const =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.html">ISceneNode</a>* irr::scene::ISceneNodeAnimatorCollisionResponse::getTargetNode           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the single node that this animator is acting on. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The node that this animator is acting on. </dd></dl>

</div>
</div><p>
<a class="anchor" name="58e106171ca57a4877d7a6f0edd9762f"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::getWorld" ref="58e106171ca57a4877d7a6f0edd9762f" args="() const =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_triangle_selector.html">ITriangleSelector</a>* irr::scene::ISceneNodeAnimatorCollisionResponse::getWorld           </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>
Get the current triangle selector containing all triangles for collision detection. 
<p>

</div>
</div><p>
<a class="anchor" name="66f5534c1d2ac0e2ea52e7b21a3c91d7"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::isFalling" ref="66f5534c1d2ac0e2ea52e7b21a3c91d7" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::ISceneNodeAnimatorCollisionResponse::isFalling           </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>
Check if the attached <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node is falling. 
<p>
Falling means that there is no blocking wall from 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> node in the direction of the gravity. The implementation of this method is very fast, no collision detection is done when invoking it. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if 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> node is falling, false if not. </dd></dl>

</div>
</div><p>
<a class="anchor" name="409b98d04be89fb06cce3384e0188abf"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::jump" ref="409b98d04be89fb06cce3384e0188abf" args="(f32 jumpSpeed)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::jump           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#0277be98d67dc26ff93b1a6a1d086b07">f32</a>&nbsp;</td>
          <td class="paramname"> <em>jumpSpeed</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
'Jump' the animator, by adding a jump speed opposite to its gravity 
<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>jumpSpeed</em>&nbsp;</td><td>The initial speed of the jump; the velocity will be opposite to this animator's gravity vector. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="402cbe4934ad10f18762001458c939d9"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setAnimateTarget" ref="402cbe4934ad10f18762001458c939d9" args="(bool enable)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setAnimateTarget           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>enable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Should the Target react on collision ( default = true ). 
<p>

</div>
</div><p>
<a class="anchor" name="2b97f977b446200c5dd22230aec5d275"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setCollisionCallback" ref="2b97f977b446200c5dd22230aec5d275" args="(ICollisionCallback *callback)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setCollisionCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_collision_callback.html">ICollisionCallback</a> *&nbsp;</td>
          <td class="paramname"> <em>callback</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets a callback interface which will be called if a collision occurs. 
<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>callback,:</em>&nbsp;</td><td>collision callback handler that will be called when a collision occurs. Set this to 0 to disable the callback. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="71af73590016ba936340a79467690d3f"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidRadius" ref="71af73590016ba936340a79467690d3f" args="(const core::vector3df &amp;radius)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidRadius           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>radius</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the radius of the ellipsoid for collision detection and response. 
<p>
If you have a <a class="el" href="namespaceirr_1_1scene.html" title="All scene management can be found in this namespace: Mesh loading, special scene...">scene</a> node, and you are unsure about how big the radius should be, you could use the following code to determine it: <div class="fragment"><pre class="fragment">                core::aabbox&lt;f32&gt; box = yourSceneNode-&gt;getBoundingBox();
                <a class="code" href="namespaceirr_1_1core.html#06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a> radius = box.MaxEdge - box.getCenter();
</pre></div> <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>radius,:</em>&nbsp;</td><td>New radius of the ellipsoid. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="234ec747d320d70dd3e2a4143782ffc7"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation" ref="234ec747d320d70dd3e2a4143782ffc7" args="(const core::vector3df &amp;translation)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setEllipsoidTranslation           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>translation</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set translation of the collision ellipsoid. 
<p>
By default, the ellipsoid for collision detection is created around the center of 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> node, which means that the ellipsoid surrounds it completely. If this is not what you want, you may specify a translation for the ellipsoid. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>translation,:</em>&nbsp;</td><td>Translation of the ellipsoid relative to the position of 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> node. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f366695a82153c144b58c65cb4d092f3"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setGravity" ref="f366695a82153c144b58c65cb4d092f3" args="(const core::vector3df &amp;gravity)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setGravity           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>gravity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the gravity of the environment. 
<p>
A good example value would be <a class="el" href="namespaceirr_1_1core.html#06f169d08b5c429f5575acb7edbad811" title="Typedef for a f32 3d vector.">core::vector3df</a>(0,-100.0f,0) for letting gravity affect all object to fall down. For bigger gravity, make increase the length of the vector. You can disable gravity by setting it to core::vector3df(0,0,0); <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>gravity,:</em>&nbsp;</td><td>New gravity vector. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5b291ba9249c451779f76ab2154aa3c2"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setTargetNode" ref="5b291ba9249c451779f76ab2154aa3c2" args="(ISceneNode *node)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setTargetNode           </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>node</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the single node that this animator will act on. 
<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>node</em>&nbsp;</td><td>The new target node. Setting this will force the animator to update its last target position for the node, allowing setPosition() to teleport the node through collision geometry. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="42aa84d4843a734f8dd1f20b5c92ef06"></a><!-- doxytag: member="irr::scene::ISceneNodeAnimatorCollisionResponse::setWorld" ref="42aa84d4843a734f8dd1f20b5c92ef06" args="(ITriangleSelector *newWorld)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::ISceneNodeAnimatorCollisionResponse::setWorld           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_triangle_selector.html">ITriangleSelector</a> *&nbsp;</td>
          <td class="paramname"> <em>newWorld</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets a triangle selector holding all triangles of the world with which 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> node may collide. 
<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>newWorld,:</em>&nbsp;</td><td>New triangle selector containing triangles to let 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> node collide with. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_i_scene_node_animator_collision_response_8h-source.html">ISceneNodeAnimatorCollisionResponse.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:16 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>