Files
PhysX4.1/physx/documentation/PhysXAPI/files/classPxArticulationBase.html
2025-11-28 23:13:44 +05:30

1186 lines
79 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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxArticulationBase 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classPxArticulationBase.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</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 class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classPxArticulationBase-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PxArticulationBase Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__physics.html">Physics</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver
<a href="classPxArticulationBase.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="PxArticulationBase_8h_source.html">PxArticulationBase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for PxArticulationBase:</div>
<div class="dyncontent">
<div class="center"><img src="classPxArticulationBase__inherit__graph.png" border="0" usemap="#PxArticulationBase_inherit__map" alt="Inheritance graph"/></div>
<map name="PxArticulationBase_inherit__map" id="PxArticulationBase_inherit__map">
<area shape="rect" id="node3" href="classPxArticulation.html" title="a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ..." alt="" coords="5,155,108,181"/>
<area shape="rect" id="node4" href="classPxArticulationReducedCoordinate.html" title="a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver ..." alt="" coords="133,155,349,181"/>
<area shape="rect" id="node2" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection. " alt="" coords="115,5,183,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for PxArticulationBase:</div>
<div class="dyncontent">
<div class="center"><img src="classPxArticulationBase__coll__graph.png" border="0" usemap="#PxArticulationBase_coll__map" alt="Collaboration graph"/></div>
<map name="PxArticulationBase_coll__map" id="PxArticulationBase_coll__map">
<area shape="rect" id="node2" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection. " alt="" coords="48,109,116,136"/>
<area shape="rect" id="node3" href="classPxFlags.html" title="PxFlags\&lt; PxBaseFlag\l::Enum, PxU16 \&gt;" alt="" coords="5,5,159,47"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af760fbc18ace5571c97b7da64c5fbe7c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxScene.html">PxScene</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#af760fbc18ace5571c97b7da64c5fbe7c">getScene</a> () const =0</td></tr>
<tr class="memdesc:af760fbc18ace5571c97b7da64c5fbe7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the scene which this articulation belongs to. <a href="#af760fbc18ace5571c97b7da64c5fbe7c">More...</a><br /></td></tr>
<tr class="separator:af760fbc18ace5571c97b7da64c5fbe7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8059735ba075c0839c4ebfeab34906dc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a8059735ba075c0839c4ebfeab34906dc">setSolverIterationCounts</a> (<a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> minPositionIters, <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> minVelocityIters=1)=0</td></tr>
<tr class="memdesc:a8059735ba075c0839c4ebfeab34906dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the solver iteration counts for the articulation. <a href="#a8059735ba075c0839c4ebfeab34906dc">More...</a><br /></td></tr>
<tr class="separator:a8059735ba075c0839c4ebfeab34906dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae292db93f6052f91036b3bbf56286739"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#ae292db93f6052f91036b3bbf56286739">getSolverIterationCounts</a> (<a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> &amp;minPositionIters, <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> &amp;minVelocityIters) const =0</td></tr>
<tr class="memdesc:ae292db93f6052f91036b3bbf56286739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the solver iteration counts. <a href="#ae292db93f6052f91036b3bbf56286739">More...</a><br /></td></tr>
<tr class="separator:ae292db93f6052f91036b3bbf56286739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4689e7adf28a83f73301ea4eec0ca98"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98">isSleeping</a> () const =0</td></tr>
<tr class="memdesc:aa4689e7adf28a83f73301ea4eec0ca98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if this articulation is sleeping. <a href="#aa4689e7adf28a83f73301ea4eec0ca98">More...</a><br /></td></tr>
<tr class="separator:aa4689e7adf28a83f73301ea4eec0ca98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae9b8704f26ec7e60582774d9a38ef6b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#aae9b8704f26ec7e60582774d9a38ef6b">setSleepThreshold</a> (PxReal threshold)=0</td></tr>
<tr class="memdesc:aae9b8704f26ec7e60582774d9a38ef6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mass-normalized energy threshold below which an articulation may go to sleep. <a href="#aae9b8704f26ec7e60582774d9a38ef6b">More...</a><br /></td></tr>
<tr class="separator:aae9b8704f26ec7e60582774d9a38ef6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27983cb67e45e167edc2c698a2c125a5"><td class="memItemLeft" align="right" valign="top">virtual PxReal&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a27983cb67e45e167edc2c698a2c125a5">getSleepThreshold</a> () const =0</td></tr>
<tr class="memdesc:a27983cb67e45e167edc2c698a2c125a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the mass-normalized energy below which an articulation may go to sleep. <a href="#a27983cb67e45e167edc2c698a2c125a5">More...</a><br /></td></tr>
<tr class="separator:a27983cb67e45e167edc2c698a2c125a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cf09f7f818b312205a29fb8e7f39f7f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a1cf09f7f818b312205a29fb8e7f39f7f">setStabilizationThreshold</a> (PxReal threshold)=0</td></tr>
<tr class="memdesc:a1cf09f7f818b312205a29fb8e7f39f7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the mass-normalized kinetic energy threshold below which an articulation may participate in stabilization. <a href="#a1cf09f7f818b312205a29fb8e7f39f7f">More...</a><br /></td></tr>
<tr class="separator:a1cf09f7f818b312205a29fb8e7f39f7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c460c0dc44c8170b0b494c38c13d1dc"><td class="memItemLeft" align="right" valign="top">virtual PxReal&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a3c460c0dc44c8170b0b494c38c13d1dc">getStabilizationThreshold</a> () const =0</td></tr>
<tr class="memdesc:a3c460c0dc44c8170b0b494c38c13d1dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the mass-normalized kinetic energy below which an articulation may participate in stabilization. <a href="#a3c460c0dc44c8170b0b494c38c13d1dc">More...</a><br /></td></tr>
<tr class="separator:a3c460c0dc44c8170b0b494c38c13d1dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a556ddf37be3668fa9d1202db6ae48e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a8a556ddf37be3668fa9d1202db6ae48e">setWakeCounter</a> (PxReal wakeCounterValue)=0</td></tr>
<tr class="memdesc:a8a556ddf37be3668fa9d1202db6ae48e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the wake counter for the articulation. <a href="#a8a556ddf37be3668fa9d1202db6ae48e">More...</a><br /></td></tr>
<tr class="separator:a8a556ddf37be3668fa9d1202db6ae48e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb872fa8ecea5c1bc226a8e4ba0b2256"><td class="memItemLeft" align="right" valign="top">virtual PxReal&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#afb872fa8ecea5c1bc226a8e4ba0b2256">getWakeCounter</a> () const =0</td></tr>
<tr class="memdesc:afb872fa8ecea5c1bc226a8e4ba0b2256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the wake counter of the articulation. <a href="#afb872fa8ecea5c1bc226a8e4ba0b2256">More...</a><br /></td></tr>
<tr class="separator:afb872fa8ecea5c1bc226a8e4ba0b2256"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a236592b36cced8478b3e4385c54007af"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a236592b36cced8478b3e4385c54007af">wakeUp</a> ()=0</td></tr>
<tr class="memdesc:a236592b36cced8478b3e4385c54007af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wakes up the articulation if it is sleeping. <a href="#a236592b36cced8478b3e4385c54007af">More...</a><br /></td></tr>
<tr class="separator:a236592b36cced8478b3e4385c54007af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91d189e3561c992ea46f9d8d5aae60cc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a91d189e3561c992ea46f9d8d5aae60cc">putToSleep</a> ()=0</td></tr>
<tr class="memdesc:a91d189e3561c992ea46f9d8d5aae60cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forces the articulation to sleep. <a href="#a91d189e3561c992ea46f9d8d5aae60cc">More...</a><br /></td></tr>
<tr class="separator:a91d189e3561c992ea46f9d8d5aae60cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91b5f47213dc7bff2250f4fe6035fbdc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a91b5f47213dc7bff2250f4fe6035fbdc">createLink</a> (<a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> *parent, const <a class="el" href="classPxTransform.html">PxTransform</a> &amp;pose)=0</td></tr>
<tr class="memdesc:a91b5f47213dc7bff2250f4fe6035fbdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">adds a link to the articulation with default attribute values. <a href="#a91b5f47213dc7bff2250f4fe6035fbdc">More...</a><br /></td></tr>
<tr class="separator:a91b5f47213dc7bff2250f4fe6035fbdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1684813dd10ffd15630b9a94bfc84c7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#ae1684813dd10ffd15630b9a94bfc84c7">getNbLinks</a> () const =0</td></tr>
<tr class="memdesc:ae1684813dd10ffd15630b9a94bfc84c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the number of links in the articulation <a href="#ae1684813dd10ffd15630b9a94bfc84c7">More...</a><br /></td></tr>
<tr class="separator:ae1684813dd10ffd15630b9a94bfc84c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f24f5c1efdf092602ee6e689827133"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a03f24f5c1efdf092602ee6e689827133">getLinks</a> (<a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> **userBuffer, <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> bufferSize, <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> startIndex=0) const =0</td></tr>
<tr class="memdesc:a03f24f5c1efdf092602ee6e689827133"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the set of links in the articulation <a href="#a03f24f5c1efdf092602ee6e689827133">More...</a><br /></td></tr>
<tr class="separator:a03f24f5c1efdf092602ee6e689827133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c5af081a9ec2c7f1e2a828d3a969900"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a1c5af081a9ec2c7f1e2a828d3a969900">setName</a> (const char *name)=0</td></tr>
<tr class="memdesc:a1c5af081a9ec2c7f1e2a828d3a969900"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a name string for the object that can be retrieved with <a class="el" href="classPxArticulationBase.html#abad70eeaf8b979d399639339290c217c" title="Retrieves the name string set with setName(). ">getName()</a>. <a href="#a1c5af081a9ec2c7f1e2a828d3a969900">More...</a><br /></td></tr>
<tr class="separator:a1c5af081a9ec2c7f1e2a828d3a969900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abad70eeaf8b979d399639339290c217c"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#abad70eeaf8b979d399639339290c217c">getName</a> () const =0</td></tr>
<tr class="memdesc:abad70eeaf8b979d399639339290c217c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the name string set with <a class="el" href="classPxArticulationBase.html#a1c5af081a9ec2c7f1e2a828d3a969900" title="Sets a name string for the object that can be retrieved with getName(). ">setName()</a>. <a href="#abad70eeaf8b979d399639339290c217c">More...</a><br /></td></tr>
<tr class="separator:abad70eeaf8b979d399639339290c217c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77173436aa4210cfa9f29e33dce66d1b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a77173436aa4210cfa9f29e33dce66d1b">getWorldBounds</a> (float inflation=1.01f) const =0</td></tr>
<tr class="memdesc:a77173436aa4210cfa9f29e33dce66d1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the axis aligned bounding box enclosing the articulation. <a href="#a77173436aa4210cfa9f29e33dce66d1b">More...</a><br /></td></tr>
<tr class="separator:a77173436aa4210cfa9f29e33dce66d1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9242439cf2029279f6301d0d0dd51f5f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxAggregate.html">PxAggregate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a9242439cf2029279f6301d0d0dd51f5f">getAggregate</a> () const =0</td></tr>
<tr class="memdesc:a9242439cf2029279f6301d0d0dd51f5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the aggregate the articulation might be a part of. <a href="#a9242439cf2029279f6301d0d0dd51f5f">More...</a><br /></td></tr>
<tr class="separator:a9242439cf2029279f6301d0d0dd51f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dfdf6a47b558607d7f2a3d008de34fa"><td class="memItemLeft" align="right" valign="top">virtual PxArticulationImpl *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a5dfdf6a47b558607d7f2a3d008de34fa">getImpl</a> ()=0</td></tr>
<tr class="separator:a5dfdf6a47b558607d7f2a3d008de34fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92f5205563e2476ace6f1c0eff22de51"><td class="memItemLeft" align="right" valign="top">virtual const PxArticulationImpl *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a92f5205563e2476ace6f1c0eff22de51">getImpl</a> () const =0</td></tr>
<tr class="separator:a92f5205563e2476ace6f1c0eff22de51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fe7170f2077b283b7da5dfb23b25ba0"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a6fe7170f2077b283b7da5dfb23b25ba0">~PxArticulationBase</a> ()</td></tr>
<tr class="separator:a6fe7170f2077b283b7da5dfb23b25ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5778c701bdf495e8563828927a68aa05"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxArticulationJointBase.html">PxArticulationJointBase</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a5778c701bdf495e8563828927a68aa05">createArticulationJoint</a> (<a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> &amp;parent, const <a class="el" href="classPxTransform.html">PxTransform</a> &amp;parentFrame, <a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> &amp;child, const <a class="el" href="classPxTransform.html">PxTransform</a> &amp;childFrame)=0</td></tr>
<tr class="separator:a5778c701bdf495e8563828927a68aa05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa9cfef0b929c0bbe4b6fa8811249fd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#aaaa9cfef0b929c0bbe4b6fa8811249fd">releaseArticulationJoint</a> (<a class="el" href="classPxArticulationJointBase.html">PxArticulationJointBase</a> *joint)=0</td></tr>
<tr class="separator:aaaa9cfef0b929c0bbe4b6fa8811249fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classPxBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classPxBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classPxBase.html">PxBase</a></td></tr>
<tr class="memitem:afe6aedda1df0d6d29b1a28213a5ee25a inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#afe6aedda1df0d6d29b1a28213a5ee25a">release</a> ()=0</td></tr>
<tr class="memdesc:afe6aedda1df0d6d29b1a28213a5ee25a inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the <a class="el" href="classPxBase.html" title="Base class for objects that can be members of a PxCollection. ">PxBase</a> instance, please check documentation of release in derived class. <a href="classPxBase.html#afe6aedda1df0d6d29b1a28213a5ee25a">More...</a><br /></td></tr>
<tr class="separator:afe6aedda1df0d6d29b1a28213a5ee25a inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67fe206d8897ddce896c371ac8d789a9 inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#a67fe206d8897ddce896c371ac8d789a9">getConcreteTypeName</a> () const =0</td></tr>
<tr class="memdesc:a67fe206d8897ddce896c371ac8d789a9 inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns string name of dynamic type. <a href="classPxBase.html#a67fe206d8897ddce896c371ac8d789a9">More...</a><br /></td></tr>
<tr class="separator:a67fe206d8897ddce896c371ac8d789a9 inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bc720adef86ea68bfb5845f0e104d23 inherit pub_methods_classPxBase"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a4bc720adef86ea68bfb5845f0e104d23 inherit pub_methods_classPxBase"><td class="memTemplItemLeft" align="right" valign="top">T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classPxBase.html#a4bc720adef86ea68bfb5845f0e104d23">is</a> ()</td></tr>
<tr class="separator:a4bc720adef86ea68bfb5845f0e104d23 inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85aa50ac0e5670a2be64411fea62b5e3 inherit pub_methods_classPxBase"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a85aa50ac0e5670a2be64411fea62b5e3 inherit pub_methods_classPxBase"><td class="memTemplItemLeft" align="right" valign="top">const T *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classPxBase.html#a85aa50ac0e5670a2be64411fea62b5e3">is</a> () const</td></tr>
<tr class="separator:a85aa50ac0e5670a2be64411fea62b5e3 inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4e0691a08e49631dc60014d49c7585f inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="el" href="group__common.html#gac1fb4b256a5d900d394e89db170a2b79">PxType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#ab4e0691a08e49631dc60014d49c7585f">getConcreteType</a> () const</td></tr>
<tr class="memdesc:ab4e0691a08e49631dc60014d49c7585f inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns concrete type of object. <a href="classPxBase.html#ab4e0691a08e49631dc60014d49c7585f">More...</a><br /></td></tr>
<tr class="separator:ab4e0691a08e49631dc60014d49c7585f inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd20bb574075df904e1878f2e771ef9 inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#a1dd20bb574075df904e1878f2e771ef9">setBaseFlag</a> (<a class="el" href="structPxBaseFlag.html#ac258de0c7adaa37f81b6ab1b0c86a6ee">PxBaseFlag::Enum</a> flag, bool value)</td></tr>
<tr class="memdesc:a1dd20bb574075df904e1878f2e771ef9 inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <a class="el" href="structPxBaseFlag.html" title="Flags for PxBase. ">PxBaseFlag</a>. <a href="classPxBase.html#a1dd20bb574075df904e1878f2e771ef9">More...</a><br /></td></tr>
<tr class="separator:a1dd20bb574075df904e1878f2e771ef9 inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb391b692c561df0a54c413785e4ebd0 inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#afb391b692c561df0a54c413785e4ebd0">setBaseFlags</a> (<a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a> inFlags)</td></tr>
<tr class="memdesc:afb391b692c561df0a54c413785e4ebd0 inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set PxBaseFlags. <a href="classPxBase.html#afb391b692c561df0a54c413785e4ebd0">More...</a><br /></td></tr>
<tr class="separator:afb391b692c561df0a54c413785e4ebd0 inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9b10efae7733ff9c8b8d3b7d90a9a5f inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#ad9b10efae7733ff9c8b8d3b7d90a9a5f">getBaseFlags</a> () const</td></tr>
<tr class="memdesc:ad9b10efae7733ff9c8b8d3b7d90a9a5f inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns PxBaseFlags. <a href="classPxBase.html#ad9b10efae7733ff9c8b8d3b7d90a9a5f">More...</a><br /></td></tr>
<tr class="separator:ad9b10efae7733ff9c8b8d3b7d90a9a5f inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38952fcb80e99f1f5dbf774a75ac2c3d inherit pub_methods_classPxBase"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#a38952fcb80e99f1f5dbf774a75ac2c3d">isReleasable</a> () const</td></tr>
<tr class="memdesc:a38952fcb80e99f1f5dbf774a75ac2c3d inherit pub_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the object is subordinate. <a href="classPxBase.html#a38952fcb80e99f1f5dbf774a75ac2c3d">More...</a><br /></td></tr>
<tr class="separator:a38952fcb80e99f1f5dbf774a75ac2c3d inherit pub_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ae8ee210b8b3867a8a0803875c6e53014"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#ae8ee210b8b3867a8a0803875c6e53014">userData</a></td></tr>
<tr class="memdesc:ae8ee210b8b3867a8a0803875c6e53014"><td class="mdescLeft">&#160;</td><td class="mdescRight">user can assign this to whatever, usually to create a 1:1 relationship with a user object. <a href="#ae8ee210b8b3867a8a0803875c6e53014">More...</a><br /></td></tr>
<tr class="separator:ae8ee210b8b3867a8a0803875c6e53014"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:abdd331a2b48fd30ad35af280772996d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#abdd331a2b48fd30ad35af280772996d9">PxArticulationBase</a> (<a class="el" href="group__common.html#gac1fb4b256a5d900d394e89db170a2b79">PxType</a> concreteType, <a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a> baseFlags)</td></tr>
<tr class="separator:abdd331a2b48fd30ad35af280772996d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07f4354244d4d6dbc0adec96ccf2ab85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxArticulationBase.html#a07f4354244d4d6dbc0adec96ccf2ab85">PxArticulationBase</a> (<a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a> baseFlags)</td></tr>
<tr class="separator:a07f4354244d4d6dbc0adec96ccf2ab85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classPxBase"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classPxBase')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classPxBase.html">PxBase</a></td></tr>
<tr class="memitem:a263f1ef821c74058ce9335e06cb842a4 inherit pro_methods_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#a263f1ef821c74058ce9335e06cb842a4">PxBase</a> (<a class="el" href="group__common.html#gac1fb4b256a5d900d394e89db170a2b79">PxType</a> concreteType, <a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a> baseFlags)</td></tr>
<tr class="memdesc:a263f1ef821c74058ce9335e06cb842a4 inherit pro_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor setting concrete type and base flags. <a href="classPxBase.html#a263f1ef821c74058ce9335e06cb842a4">More...</a><br /></td></tr>
<tr class="separator:a263f1ef821c74058ce9335e06cb842a4 inherit pro_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58b979202e7382701f74977fe3dd5c6f inherit pro_methods_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#a58b979202e7382701f74977fe3dd5c6f">PxBase</a> (<a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a> baseFlags)</td></tr>
<tr class="memdesc:a58b979202e7382701f74977fe3dd5c6f inherit pro_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserialization constructor setting base flags. <a href="classPxBase.html#a58b979202e7382701f74977fe3dd5c6f">More...</a><br /></td></tr>
<tr class="separator:a58b979202e7382701f74977fe3dd5c6f inherit pro_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfbf62dc32775b068db1c74c7fd3d982 inherit pro_methods_classPxBase"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#adfbf62dc32775b068db1c74c7fd3d982">~PxBase</a> ()</td></tr>
<tr class="memdesc:adfbf62dc32775b068db1c74c7fd3d982 inherit pro_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classPxBase.html#adfbf62dc32775b068db1c74c7fd3d982">More...</a><br /></td></tr>
<tr class="separator:adfbf62dc32775b068db1c74c7fd3d982 inherit pro_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addfc067afca2f67bda6c497b14424962 inherit pro_methods_classPxBase"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#addfc067afca2f67bda6c497b14424962">isKindOf</a> (const char *superClass) const</td></tr>
<tr class="memdesc:addfc067afca2f67bda6c497b14424962 inherit pro_methods_classPxBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether a given type name matches with the type of this instance. <a href="classPxBase.html#addfc067afca2f67bda6c497b14424962">More...</a><br /></td></tr>
<tr class="separator:addfc067afca2f67bda6c497b14424962 inherit pro_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3782ca64c8f12c41443f604e300fc207 inherit pro_methods_classPxBase"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a3782ca64c8f12c41443f604e300fc207 inherit pro_methods_classPxBase"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classPxBase.html#a3782ca64c8f12c41443f604e300fc207">typeMatch</a> () const</td></tr>
<tr class="separator:a3782ca64c8f12c41443f604e300fc207 inherit pro_methods_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_attribs_classPxBase"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classPxBase')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classPxBase.html">PxBase</a></td></tr>
<tr class="memitem:a1abe9d19726e1f8f8e56abeb2269b5d4 inherit pro_attribs_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#gac1fb4b256a5d900d394e89db170a2b79">PxType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#a1abe9d19726e1f8f8e56abeb2269b5d4">mConcreteType</a></td></tr>
<tr class="separator:a1abe9d19726e1f8f8e56abeb2269b5d4 inherit pro_attribs_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff7105f65905ecb9f6f7993ba28b712d inherit pro_attribs_classPxBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxBase.html#aff7105f65905ecb9f6f7993ba28b712d">mBaseFlags</a></td></tr>
<tr class="separator:aff7105f65905ecb9f6f7993ba28b712d inherit pro_attribs_classPxBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>a tree structure of bodies connected by joints that is treated as a unit by the dynamics solver </p>
<p>Articulations are more expensive to simulate than the equivalent collection of <a class="el" href="classPxRigidDynamic.html" title="PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK. ">PxRigidDynamic</a> and <a class="el" href="classPxJoint.html" title="a base interface providing common functionality for PhysX joints ">PxJoint</a> structures, but because the dynamics solver treats each articulation as a single object, they are much less prone to separation and have better support for actuation. An articulation may have at most 64 links.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationJoint.html" title="a joint between two links in an articulation. ">PxArticulationJoint</a> <a class="el" href="classPxArticulationLink.html" title="a component of an articulation that represents a rigid body ">PxArticulationLink</a> <a class="el" href="classPxPhysics.html#aa65bf245c40886f007b7cda86dee9f3f" title="Creates an articulation with all fields initialized to their default values. ">PxPhysics.createArticulation</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6fe7170f2077b283b7da5dfb23b25ba0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fe7170f2077b283b7da5dfb23b25ba0">&#9670;&nbsp;</a></span>~PxArticulationBase()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual PxArticulationBase::~PxArticulationBase </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abdd331a2b48fd30ad35af280772996d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd331a2b48fd30ad35af280772996d9">&#9670;&nbsp;</a></span>PxArticulationBase() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxArticulationBase::PxArticulationBase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__common.html#gac1fb4b256a5d900d394e89db170a2b79">PxType</a>&#160;</td>
<td class="paramname"><em>concreteType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a>&#160;</td>
<td class="paramname"><em>baseFlags</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">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a07f4354244d4d6dbc0adec96ccf2ab85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07f4354244d4d6dbc0adec96ccf2ab85">&#9670;&nbsp;</a></span>PxArticulationBase() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxArticulationBase::PxArticulationBase </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__common.html#ga1e3721588799f5fbb18d76e4aab7d018">PxBaseFlags</a>&#160;</td>
<td class="paramname"><em>baseFlags</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a5778c701bdf495e8563828927a68aa05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5778c701bdf495e8563828927a68aa05">&#9670;&nbsp;</a></span>createArticulationJoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classPxArticulationJointBase.html">PxArticulationJointBase</a>* PxArticulationBase::createArticulationJoint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> &amp;&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> &amp;&#160;</td>
<td class="paramname"><em>parentFrame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> &amp;&#160;</td>
<td class="paramname"><em>child</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> &amp;&#160;</td>
<td class="paramname"><em>childFrame</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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a91b5f47213dc7bff2250f4fe6035fbdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91b5f47213dc7bff2250f4fe6035fbdc">&#9670;&nbsp;</a></span>createLink()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classPxArticulationLink.html">PxArticulationLink</a>* PxArticulationBase::createLink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classPxTransform.html">PxTransform</a> &amp;&#160;</td>
<td class="paramname"><em>pose</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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>adds a link to the articulation with default attribute values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">parent</td><td>the parent link of the articulation. Should be NULL if (and only if) this is the root link </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pose</td><td>the initial pose of the new link. Must be a valid transform</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new link, or NULL if the link cannot be created because the articulation has reached its maximum link count (currently 64).</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationLink.html" title="a component of an articulation that represents a rigid body ">PxArticulationLink</a> </dd></dl>
</div>
</div>
<a id="a9242439cf2029279f6301d0d0dd51f5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9242439cf2029279f6301d0d0dd51f5f">&#9670;&nbsp;</a></span>getAggregate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classPxAggregate.html">PxAggregate</a>* PxArticulationBase::getAggregate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the aggregate the articulation might be a part of. </p>
<dl class="section return"><dt>Returns</dt><dd>The aggregate the articulation is a part of, or NULL if the articulation does not belong to an aggregate.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxAggregate.html" title="Class to aggregate actors into a single broad-phase entry. ">PxAggregate</a> </dd></dl>
</div>
</div>
<a id="a5dfdf6a47b558607d7f2a3d008de34fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dfdf6a47b558607d7f2a3d008de34fa">&#9670;&nbsp;</a></span>getImpl() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual PxArticulationImpl* PxArticulationBase::getImpl </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a92f5205563e2476ace6f1c0eff22de51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92f5205563e2476ace6f1c0eff22de51">&#9670;&nbsp;</a></span>getImpl() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const PxArticulationImpl* PxArticulationBase::getImpl </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a03f24f5c1efdf092602ee6e689827133"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03f24f5c1efdf092602ee6e689827133">&#9670;&nbsp;</a></span>getLinks()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> PxArticulationBase::getLinks </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPxArticulationLink.html">PxArticulationLink</a> **&#160;</td>
<td class="paramname"><em>userBuffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td>
<td class="paramname"><em>bufferSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td>
<td class="paramname"><em>startIndex</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>returns the set of links in the articulation </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">userBuffer</td><td>buffer into which to write an array of articulation link pointers </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">bufferSize</td><td>the size of the buffer. If this is not large enough to contain all the pointers to links, only as many as will fit are written. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">startIndex</td><td>Index of first link pointer to be retrieved</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of links written into the buffer.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>ArticulationLink </dd></dl>
</div>
</div>
<a id="abad70eeaf8b979d399639339290c217c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abad70eeaf8b979d399639339290c217c">&#9670;&nbsp;</a></span>getName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* PxArticulationBase::getName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the name string set with <a class="el" href="classPxArticulationBase.html#a1c5af081a9ec2c7f1e2a828d3a969900" title="Sets a name string for the object that can be retrieved with getName(). ">setName()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>Name string associated with object.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#a1c5af081a9ec2c7f1e2a828d3a969900" title="Sets a name string for the object that can be retrieved with getName(). ">setName()</a> </dd></dl>
</div>
</div>
<a id="ae1684813dd10ffd15630b9a94bfc84c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1684813dd10ffd15630b9a94bfc84c7">&#9670;&nbsp;</a></span>getNbLinks()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> PxArticulationBase::getNbLinks </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>returns the number of links in the articulation </p>
</div>
</div>
<a id="af760fbc18ace5571c97b7da64c5fbe7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af760fbc18ace5571c97b7da64c5fbe7c">&#9670;&nbsp;</a></span>getScene()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classPxScene.html">PxScene</a>* PxArticulationBase::getScene </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the scene which this articulation belongs to. </p>
<dl class="section return"><dt>Returns</dt><dd>Owner Scene. NULL if not part of a scene.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxScene.html" title="A scene is a collection of bodies and constraints which can interact. ">PxScene</a> </dd></dl>
</div>
</div>
<a id="a27983cb67e45e167edc2c698a2c125a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27983cb67e45e167edc2c698a2c125a5">&#9670;&nbsp;</a></span>getSleepThreshold()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual PxReal PxArticulationBase::getSleepThreshold </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the mass-normalized energy below which an articulation may go to sleep. </p>
<dl class="section return"><dt>Returns</dt><dd>The energy threshold for sleeping.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#a236592b36cced8478b3e4385c54007af" title="Wakes up the articulation if it is sleeping. ">wakeUp()</a> <a class="el" href="classPxArticulationBase.html#a91d189e3561c992ea46f9d8d5aae60cc" title="Forces the articulation to sleep. ">putToSleep()</a> <a class="el" href="classPxArticulationBase.html#aae9b8704f26ec7e60582774d9a38ef6b" title="Sets the mass-normalized energy threshold below which an articulation may go to sleep. ">setSleepThreshold()</a> </dd></dl>
</div>
</div>
<a id="ae292db93f6052f91036b3bbf56286739"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae292db93f6052f91036b3bbf56286739">&#9670;&nbsp;</a></span>getSolverIterationCounts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::getSolverIterationCounts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> &amp;&#160;</td>
<td class="paramname"><em>minPositionIters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a> &amp;&#160;</td>
<td class="paramname"><em>minVelocityIters</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the solver iteration counts. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#a8059735ba075c0839c4ebfeab34906dc" title="Sets the solver iteration counts for the articulation. ">setSolverIterationCounts()</a> </dd></dl>
</div>
</div>
<a id="a3c460c0dc44c8170b0b494c38c13d1dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c460c0dc44c8170b0b494c38c13d1dc">&#9670;&nbsp;</a></span>getStabilizationThreshold()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual PxReal PxArticulationBase::getStabilizationThreshold </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the mass-normalized kinetic energy below which an articulation may participate in stabilization. </p>
<p>Articulations whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.</p>
<dl class="section return"><dt>Returns</dt><dd>The energy threshold for participating in stabilization.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#a1cf09f7f818b312205a29fb8e7f39f7f" title="Sets the mass-normalized kinetic energy threshold below which an articulation may participate in stab...">setStabilizationThreshold()</a> <a class="el" href="structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a909e1cb63ea9c0394e2c2b3a526f47fe" title="Enables additional stabilization pass in solver. ">PxSceneFlag::eENABLE_STABILIZATION</a> </dd></dl>
</div>
</div>
<a id="afb872fa8ecea5c1bc226a8e4ba0b2256"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb872fa8ecea5c1bc226a8e4ba0b2256">&#9670;&nbsp;</a></span>getWakeCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual PxReal PxArticulationBase::getWakeCounter </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the wake counter of the articulation. </p>
<dl class="section return"><dt>Returns</dt><dd>The wake counter of the articulation.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#a8a556ddf37be3668fa9d1202db6ae48e" title="Sets the wake counter for the articulation. ">setWakeCounter()</a> </dd></dl>
</div>
</div>
<a id="a77173436aa4210cfa9f29e33dce66d1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77173436aa4210cfa9f29e33dce66d1b">&#9670;&nbsp;</a></span>getWorldBounds()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classPxBounds3.html">PxBounds3</a> PxArticulationBase::getWorldBounds </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>inflation</em> = <code>1.01f</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Retrieves the axis aligned bounding box enclosing the articulation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">inflation</td><td>Scale factor for computed world bounds. Box extents are multiplied by this value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The articulation's bounding box.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxBounds3.html" title="Class representing 3D range or axis aligned bounding box. ">PxBounds3</a> </dd></dl>
</div>
</div>
<a id="aa4689e7adf28a83f73301ea4eec0ca98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4689e7adf28a83f73301ea4eec0ca98">&#9670;&nbsp;</a></span>isSleeping()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool PxArticulationBase::isSleeping </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if this articulation is sleeping. </p>
<p>When an actor does not move for a period of time, it is no longer simulated in order to save time. This state is called sleeping. However, because the object automatically wakes up when it is either touched by an awake object, or a sleep-affecting property is changed by the user, the entire sleep mechanism should be transparent to the user.</p>
<p>An articulation can only go to sleep if all links are ready for sleeping. An articulation is guaranteed to be awake if at least one of the following holds:</p>
<ul>
<li>The wake counter is positive (see <a class="el" href="classPxArticulationBase.html#a8a556ddf37be3668fa9d1202db6ae48e" title="Sets the wake counter for the articulation. ">setWakeCounter()</a>). </li>
<li>The linear or angular velocity of any link is non-zero. </li>
<li>A non-zero force or torque has been applied to the articulation or any of its links.</li>
</ul>
<p>If an articulation is sleeping, the following state is guaranteed:</p>
<ul>
<li>The wake counter is zero. </li>
<li>The linear and angular velocity of all links is zero. </li>
<li>There is no force update pending.</li>
</ul>
<p>When an articulation gets inserted into a scene, it will be considered asleep if all the points above hold, else it will be treated as awake.</p>
<p>If an articulation is asleep after the call to <a class="el" href="classPxScene.html#ab34e054ccf428a1cdbd81bf1e2b87fae">PxScene::fetchResults()</a> returns, it is guaranteed that the poses of the links were not changed. You can use this information to avoid updating the transforms of associated of dependent objects.</p>
<dl class="section note"><dt>Note</dt><dd>It is invalid to use this method if the articulation has not been added to a scene already.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>True if the articulation is sleeping.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#a236592b36cced8478b3e4385c54007af" title="Wakes up the articulation if it is sleeping. ">wakeUp()</a> <a class="el" href="classPxArticulationBase.html#a91d189e3561c992ea46f9d8d5aae60cc" title="Forces the articulation to sleep. ">putToSleep()</a> <a class="el" href="classPxArticulationBase.html#a27983cb67e45e167edc2c698a2c125a5" title="Returns the mass-normalized energy below which an articulation may go to sleep. ">getSleepThreshold()</a> </dd></dl>
</div>
</div>
<a id="a91d189e3561c992ea46f9d8d5aae60cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91d189e3561c992ea46f9d8d5aae60cc">&#9670;&nbsp;</a></span>putToSleep()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::putToSleep </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Forces the articulation to sleep. </p>
<p>The articulation will stay asleep during the next simulation step if not touched by another non-sleeping actor.</p>
<dl class="section note"><dt>Note</dt><dd>This will set any applied force, the velocity and the wake counter of all bodies in the articulation to zero.</dd>
<dd>
It is invalid to use this method if the articulation has not been added to a scene already.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#a236592b36cced8478b3e4385c54007af" title="Wakes up the articulation if it is sleeping. ">wakeUp()</a> </dd></dl>
</div>
</div>
<a id="aaaa9cfef0b929c0bbe4b6fa8811249fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaa9cfef0b929c0bbe4b6fa8811249fd">&#9670;&nbsp;</a></span>releaseArticulationJoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::releaseArticulationJoint </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classPxArticulationJointBase.html">PxArticulationJointBase</a> *&#160;</td>
<td class="paramname"><em>joint</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1c5af081a9ec2c7f1e2a828d3a969900"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c5af081a9ec2c7f1e2a828d3a969900">&#9670;&nbsp;</a></span>setName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::setName </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets a name string for the object that can be retrieved with <a class="el" href="classPxArticulationBase.html#abad70eeaf8b979d399639339290c217c" title="Retrieves the name string set with setName(). ">getName()</a>. </p>
<p>This is for debugging and is not used by the SDK. The string is not copied by the SDK, only the pointer is stored.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>String to set the objects name to.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#abad70eeaf8b979d399639339290c217c" title="Retrieves the name string set with setName(). ">getName()</a> </dd></dl>
</div>
</div>
<a id="aae9b8704f26ec7e60582774d9a38ef6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae9b8704f26ec7e60582774d9a38ef6b">&#9670;&nbsp;</a></span>setSleepThreshold()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::setSleepThreshold </td>
<td>(</td>
<td class="paramtype">PxReal&#160;</td>
<td class="paramname"><em>threshold</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the mass-normalized energy threshold below which an articulation may go to sleep. </p>
<p>The articulation will sleep if the energy of each body is below this threshold.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">threshold</td><td>Energy below which an actor may go to sleep. <b>Range:</b> [0, PX_MAX_F32)</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#a27983cb67e45e167edc2c698a2c125a5" title="Returns the mass-normalized energy below which an articulation may go to sleep. ">getSleepThreshold()</a> <a class="el" href="classPxArticulationBase.html#a236592b36cced8478b3e4385c54007af" title="Wakes up the articulation if it is sleeping. ">wakeUp()</a> <a class="el" href="classPxArticulationBase.html#a91d189e3561c992ea46f9d8d5aae60cc" title="Forces the articulation to sleep. ">putToSleep()</a> </dd></dl>
</div>
</div>
<a id="a8059735ba075c0839c4ebfeab34906dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8059735ba075c0839c4ebfeab34906dc">&#9670;&nbsp;</a></span>setSolverIterationCounts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::setSolverIterationCounts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td>
<td class="paramname"><em>minPositionIters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__foundation.html#gacce5749db3dcfb916e98c253374264ed">PxU32</a>&#160;</td>
<td class="paramname"><em>minVelocityIters</em> = <code>1</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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the solver iteration counts for the articulation. </p>
<p>The solver iteration count determines how accurately joints and contacts are resolved. If you are having trouble with jointed bodies oscillating and behaving erratically, then setting a higher position iteration count may improve their stability.</p>
<p>If intersecting bodies are being depenetrated too violently, increase the number of velocity iterations. More velocity iterations will drive the relative exit velocity of the intersecting objects closer to the correct value given the restitution.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">minPositionIters</td><td>Number of position iterations the solver should perform for this articulation. <b>Range:</b> [1,255] </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">minVelocityIters</td><td>Number of velocity iterations the solver should perform for this articulation. <b>Range:</b> [1,255]</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#ae292db93f6052f91036b3bbf56286739" title="Retrieves the solver iteration counts. ">getSolverIterationCounts()</a> </dd></dl>
</div>
</div>
<a id="a1cf09f7f818b312205a29fb8e7f39f7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cf09f7f818b312205a29fb8e7f39f7f">&#9670;&nbsp;</a></span>setStabilizationThreshold()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::setStabilizationThreshold </td>
<td>(</td>
<td class="paramtype">PxReal&#160;</td>
<td class="paramname"><em>threshold</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the mass-normalized kinetic energy threshold below which an articulation may participate in stabilization. </p>
<p>Articulation whose kinetic energy divided by their mass is above this threshold will not participate in stabilization.</p>
<p>This value has no effect if <a class="el" href="structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a909e1cb63ea9c0394e2c2b3a526f47fe" title="Enables additional stabilization pass in solver. ">PxSceneFlag::eENABLE_STABILIZATION</a> was not enabled on the <a class="el" href="classPxSceneDesc.html" title="Descriptor class for scenes. See PxScene. ">PxSceneDesc</a>.</p>
<p><b>Default:</b> 0.01 * <a class="el" href="classPxTolerancesScale.html#a629358a15988697feaa85759d5c57e33">PxTolerancesScale::speed</a> * <a class="el" href="classPxTolerancesScale.html#a629358a15988697feaa85759d5c57e33">PxTolerancesScale::speed</a></p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">threshold</td><td>Energy below which an actor may participate in stabilization. <b>Range:</b> [0,inf)</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#a3c460c0dc44c8170b0b494c38c13d1dc" title="Returns the mass-normalized kinetic energy below which an articulation may participate in stabilizati...">getStabilizationThreshold()</a> <a class="el" href="structPxSceneFlag.html#ab4c347372b4433d34d983da780916c53a909e1cb63ea9c0394e2c2b3a526f47fe" title="Enables additional stabilization pass in solver. ">PxSceneFlag::eENABLE_STABILIZATION</a> </dd></dl>
</div>
</div>
<a id="a8a556ddf37be3668fa9d1202db6ae48e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a556ddf37be3668fa9d1202db6ae48e">&#9670;&nbsp;</a></span>setWakeCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::setWakeCounter </td>
<td>(</td>
<td class="paramtype">PxReal&#160;</td>
<td class="paramname"><em>wakeCounterValue</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the wake counter for the articulation. </p>
<p>The wake counter value determines the minimum amount of time until the articulation can be put to sleep. Please note that an articulation will not be put to sleep if the energy is above the specified threshold (see <a class="el" href="classPxArticulationBase.html#aae9b8704f26ec7e60582774d9a38ef6b" title="Sets the mass-normalized energy threshold below which an articulation may go to sleep. ">setSleepThreshold()</a>) or if other awake objects are touching it.</p>
<dl class="section note"><dt>Note</dt><dd>Passing in a positive value will wake the articulation up automatically.</dd></dl>
<p><b>Default:</b> 0.4 (which corresponds to 20 frames for a time step of 0.02)</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">wakeCounterValue</td><td>Wake counter value. <b>Range:</b> [0, PX_MAX_F32)</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#afb872fa8ecea5c1bc226a8e4ba0b2256" title="Returns the wake counter of the articulation. ">getWakeCounter()</a> </dd></dl>
</div>
</div>
<a id="a236592b36cced8478b3e4385c54007af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a236592b36cced8478b3e4385c54007af">&#9670;&nbsp;</a></span>wakeUp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PxArticulationBase::wakeUp </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Wakes up the articulation if it is sleeping. </p>
<p>The articulation will get woken up and might cause other touching objects to wake up as well during the next simulation step.</p>
<dl class="section note"><dt>Note</dt><dd>This will set the wake counter of the articulation to the value specified in <a class="el" href="classPxSceneDesc.html#a79e2c9c06f711272a48d7f07451117b7" title="The wake counter reset value. ">PxSceneDesc::wakeCounterResetValue</a>.</dd>
<dd>
It is invalid to use this method if the articulation has not been added to a scene already.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxArticulationBase.html#aa4689e7adf28a83f73301ea4eec0ca98" title="Returns true if this articulation is sleeping. ">isSleeping()</a> <a class="el" href="classPxArticulationBase.html#a91d189e3561c992ea46f9d8d5aae60cc" title="Forces the articulation to sleep. ">putToSleep()</a> </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae8ee210b8b3867a8a0803875c6e53014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8ee210b8b3867a8a0803875c6e53014">&#9670;&nbsp;</a></span>userData</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* PxArticulationBase::userData</td>
</tr>
</table>
</div><div class="memdoc">
<p>user can assign this to whatever, usually to create a 1:1 relationship with a user object. </p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxArticulationBase_8h_source.html">PxArticulationBase.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classPxArticulationBase.html">PxArticulationBase</a></li>
<li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
</ul>
</div>
</body>
</html>