irrdynamics/doc/html/classirr_dynamics.html

502 lines
25 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>irrDynamics: irrDynamics Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">irrDynamics
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classirr_dynamics-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">irrDynamics Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a91c08601f94a477c54b06e9e1447cacc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91c08601f94a477c54b06e9e1447cacc"></a>
static <a class="el" href="classirr_dynamics.html">irrDynamics</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getInstance</b> ()</td></tr>
<tr class="separator:a91c08601f94a477c54b06e9e1447cacc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ef5052cb94a12e98579c7c296131ba7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ef5052cb94a12e98579c7c296131ba7"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>simStep</b> (const irr::u32 &amp;curTimeStamp)</td></tr>
<tr class="separator:a1ef5052cb94a12e98579c7c296131ba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7195d45792d0d8b3f77d99c37c407fa3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7195d45792d0d8b3f77d99c37c407fa3"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>shutdown</b> ()</td></tr>
<tr class="separator:a7195d45792d0d8b3f77d99c37c407fa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa48e00d29759bcbb8300bbb5a1e47512"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa48e00d29759bcbb8300bbb5a1e47512"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>addTerrain</b> (irr::scene::ITerrainSceneNode *terrain, irr::u32 lodLevel=2)</td></tr>
<tr class="separator:aa48e00d29759bcbb8300bbb5a1e47512"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7744a583c48c37deaf629da9b6769bad"><td class="memItemLeft" align="right" valign="top">static class btRigidBody *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#a7744a583c48c37deaf629da9b6769bad">addSphericalObject</a> (irr::scene::ISceneNode *node, irr::f32 radius, irr::f32 mass)</td></tr>
<tr class="memdesc:a7744a583c48c37deaf629da9b6769bad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a scene node that is represented as spherical behavior. <a href="#a7744a583c48c37deaf629da9b6769bad">More...</a><br/></td></tr>
<tr class="separator:a7744a583c48c37deaf629da9b6769bad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae57a380934ec217890202db55c29be60"><td class="memItemLeft" align="right" valign="top">static class btRigidBody *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#ae57a380934ec217890202db55c29be60">addBoxObject</a> (irr::scene::ISceneNode *node, irr::f32 mass)</td></tr>
<tr class="memdesc:ae57a380934ec217890202db55c29be60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a scene node that is represented as a sturdy box. <a href="#ae57a380934ec217890202db55c29be60">More...</a><br/></td></tr>
<tr class="separator:ae57a380934ec217890202db55c29be60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e23a5d4515b38b473fbd538c8d30517"><td class="memItemLeft" align="right" valign="top">static class btRigidBody *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#a7e23a5d4515b38b473fbd538c8d30517">addFloor</a> (const irr::core::vector3df &amp;normal=irr::core::vector3df(0.f, 1.f, 0.f), const irr::core::vector3df &amp;offset=irr::core::vector3df(0.f, 0.f, 0.f))</td></tr>
<tr class="memdesc:a7e23a5d4515b38b473fbd538c8d30517"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an infinite floor plane to the scene. <a href="#a7e23a5d4515b38b473fbd538c8d30517">More...</a><br/></td></tr>
<tr class="separator:a7e23a5d4515b38b473fbd538c8d30517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae130aee5eb7647617e59c888e5a1acbb"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#ae130aee5eb7647617e59c888e5a1acbb">createHingeConstraint</a> (irr::scene::ISceneNode *nodeA, irr::scene::ISceneNode *nodeB, const irr::core::vector3df &amp;pivotInA, const irr::core::vector3df &amp;pivotInB, const irr::core::vector3df &amp;axisInA, const irr::core::vector3df &amp;axisInB)</td></tr>
<tr class="memdesc:ae130aee5eb7647617e59c888e5a1acbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a hinge relation between two objects. <a href="#ae130aee5eb7647617e59c888e5a1acbb">More...</a><br/></td></tr>
<tr class="separator:ae130aee5eb7647617e59c888e5a1acbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b0ce9bd5b1057857b5d99495e9cab41"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#a1b0ce9bd5b1057857b5d99495e9cab41">createPoint2PointConstraint</a> (irr::scene::ISceneNode *nodeA, irr::scene::ISceneNode *nodeB, const irr::core::vector3df &amp;pivotInA, const irr::core::vector3df &amp;pivotInB)</td></tr>
<tr class="memdesc:a1b0ce9bd5b1057857b5d99495e9cab41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a point-to-point relation between two objects. <a href="#a1b0ce9bd5b1057857b5d99495e9cab41">More...</a><br/></td></tr>
<tr class="separator:a1b0ce9bd5b1057857b5d99495e9cab41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9373fe3504096f6f6c17eca2be9bb459"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#a9373fe3504096f6f6c17eca2be9bb459">removeObject</a> (irr::scene::ISceneNode *node)</td></tr>
<tr class="memdesc:a9373fe3504096f6f6c17eca2be9bb459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an object from the physics. <a href="#a9373fe3504096f6f6c17eca2be9bb459">More...</a><br/></td></tr>
<tr class="separator:a9373fe3504096f6f6c17eca2be9bb459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b5f4c6732caadddeb3589e321fc9551"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classirr_dynamics.html#a2b5f4c6732caadddeb3589e321fc9551">applyCentralForce</a> (irr::scene::ISceneNode *node, const irr::core::vector3df &amp;force)</td></tr>
<tr class="memdesc:a2b5f4c6732caadddeb3589e321fc9551"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies a pushing force to the object. <a href="#a2b5f4c6732caadddeb3589e321fc9551">More...</a><br/></td></tr>
<tr class="separator:a2b5f4c6732caadddeb3589e321fc9551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a065d0b0ac1ba5b475587b20d837a1ceb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a065d0b0ac1ba5b475587b20d837a1ceb"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>setDamping</b> (irr::scene::ISceneNode *node, irr::f32 linearDamping, irr::f32 angularDamping)</td></tr>
<tr class="separator:a065d0b0ac1ba5b475587b20d837a1ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b65dad3b5bd0541880011bf5c8ee940"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b65dad3b5bd0541880011bf5c8ee940"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>setPosition</b> (irr::scene::ISceneNode *node, const irr::core::vector3df &amp;newPos)</td></tr>
<tr class="separator:a2b65dad3b5bd0541880011bf5c8ee940"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaea07b3d0edf22827bfd104808fa66d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaea07b3d0edf22827bfd104808fa66d"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>debugDraw</b> ()</td></tr>
<tr class="separator:abaea07b3d0edf22827bfd104808fa66d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae57a380934ec217890202db55c29be60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static class btRigidBody* irrDynamics::addBoxObject </td>
<td>(</td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">irr::f32&#160;</td>
<td class="paramname"><em>mass</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a scene node that is represented as a sturdy box. </p>
<p>This method adds an object with block-like behavior to the physics, such as a CubeSceneNode. Its dimensions are calculated using the current axis-aligned bounding box. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>The scene node to be animated by Bullet. </td></tr>
<tr><td class="paramname">mass</td><td>The mass in units assigned to the object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corresponding btRigidBody, if addidional parameters are desired to be set. </dd></dl>
</div>
</div>
<a class="anchor" id="a7e23a5d4515b38b473fbd538c8d30517"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static class btRigidBody* irrDynamics::addFloor </td>
<td>(</td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>normal</em> = <code>irr::core::vector3df(0.f,&#160;1.f,&#160;0.f)</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>offset</em> = <code>irr::core::vector3df(0.f,&#160;0.f,&#160;0.f)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add an infinite floor plane to the scene. </p>
<p>Whenever an infinite floor catching all your objects is needed, use this method </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">normal</td><td>The normal vector of the floor plane. Default lays the plane along x- and z-axis (y up). </td></tr>
<tr><td class="paramname">offset</td><td>The offset from the origin. If normal is default, only the y-value matters here (vert offset). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corresponding btRigidBody, if addidional parameters are desired to be set. </dd></dl>
</div>
</div>
<a class="anchor" id="a7744a583c48c37deaf629da9b6769bad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static class btRigidBody* irrDynamics::addSphericalObject </td>
<td>(</td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">irr::f32&#160;</td>
<td class="paramname"><em>radius</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">irr::f32&#160;</td>
<td class="paramname"><em>mass</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a scene node that is represented as spherical behavior. </p>
<p>This method adds an object with ball-like behavior to the physics, such as a SphereSceneNode. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>The scene node to be animated by Bullet. </td></tr>
<tr><td class="paramname">radius</td><td>The radius of the sphere in irrlicht units. </td></tr>
<tr><td class="paramname">mass</td><td>The mass in units assigned to the object. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The corresponding btRigidBody, if addidional parameters are desired to be set. </dd></dl>
</div>
</div>
<a class="anchor" id="a2b5f4c6732caadddeb3589e321fc9551"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void irrDynamics::applyCentralForce </td>
<td>(</td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>force</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Applies a pushing force to the object. </p>
<p>To move an object in a physics engine you do not set its position but you push it towards that place. Use this method to apply such a push represented as a 3D vector. As expected, the 'longer' the vector, the more powerful the push will be. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>The scene node the force should be applied to. </td></tr>
<tr><td class="paramname">force</td><td>The force to apply, the vector represents its direction, the vector length its power. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ae130aee5eb7647617e59c888e5a1acbb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool irrDynamics::createHingeConstraint </td>
<td>(</td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>nodeA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>nodeB</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>pivotInA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>pivotInB</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>axisInA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>axisInB</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a hinge relation between two objects. </p>
<p>This method physically attaches one scene node to the other in a hinge-like (swinging) relation. </p>
<dl class="section note"><dt>Note</dt><dd>Both scene nodes have to be already added to the sim. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">nodeA</td><td>The "parent" node the swinging one is attached to. </td></tr>
<tr><td class="paramname">nodeB</td><td>The child element that will be animated by that relation. </td></tr>
<tr><td class="paramname">pivotInA</td><td>A position relative to nodeA where the hinge relation will be placed. </td></tr>
<tr><td class="paramname">pivotInB</td><td>A position relative to nodeB where the hinge relation will be placed. </td></tr>
<tr><td class="paramname">axisInA</td><td>The axis in nodeA the hinge rotates around. </td></tr>
<tr><td class="paramname">axisInB</td><td>The axis in nodeB the hinge rotates around. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True, when both nodes were found in the physics representation and the relation was created. </dd></dl>
</div>
</div>
<a class="anchor" id="a1b0ce9bd5b1057857b5d99495e9cab41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool irrDynamics::createPoint2PointConstraint </td>
<td>(</td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>nodeA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>nodeB</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>pivotInA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const irr::core::vector3df &amp;&#160;</td>
<td class="paramname"><em>pivotInB</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a point-to-point relation between two objects. </p>
<p>More general than a hinge relation, the p2p can freely swing around all axis. </p>
<dl class="section note"><dt>Note</dt><dd>Both scene nodes have to be already added to the sim. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">nodeA</td><td>The "parent" node the swinging one is attached to. </td></tr>
<tr><td class="paramname">nodeB</td><td>The child element that will be animated by that relation. </td></tr>
<tr><td class="paramname">pivotInA</td><td>A position relative to nodeA where the hinge relation will be placed. </td></tr>
<tr><td class="paramname">pivotInB</td><td>A position relative to nodeB where the hinge relation will be placed. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True, when both nodes were found in the physics representation and the relation was created. </dd></dl>
</div>
</div>
<a class="anchor" id="a9373fe3504096f6f6c17eca2be9bb459"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void irrDynamics::removeObject </td>
<td>(</td>
<td class="paramtype">irr::scene::ISceneNode *&#160;</td>
<td class="paramname"><em>node</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove an object from the physics. </p>
<p>Call this whenever you either remove the corresponding scene node from the ISceneManager or you don't want to have it animated by the physics anymore. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">node</td><td>The scene node to be removed from the physics. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/ottona/Projekte/irrdynamics/include/<a class="el" href="irr_dynamics_8h_source.html">irrDynamics.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Mar 12 2014 13:48:35 for irrDynamics by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>