class_ragdoll_settings.html 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=11"/>
  6. <meta name="generator" content="Doxygen 1.12.0"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Jolt Physics: RagdollSettings Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <script type="text/javascript" src="clipboard.js"></script>
  13. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <script type="text/javascript" src="resize.js"></script>
  17. <script type="text/javascript" src="cookie.js"></script>
  18. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  19. <script type="text/javascript" src="search/searchdata.js"></script>
  20. <script type="text/javascript" src="search/search.js"></script>
  21. <script type="text/x-mathjax-config">
  22. MathJax.Hub.Config({
  23. extensions: ["tex2jax.js"],
  24. jax: ["input/TeX","output/HTML-CSS"],
  25. });
  26. </script>
  27. <script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
  28. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  29. </head>
  30. <body>
  31. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  32. <div id="titlearea">
  33. <table cellspacing="0" cellpadding="0">
  34. <tbody>
  35. <tr id="projectrow">
  36. <td id="projectlogo"><img alt="Logo" src="LogoSmall.png"/></td>
  37. <td id="projectalign">
  38. <div id="projectname">Jolt Physics
  39. </div>
  40. <div id="projectbrief">A multi core friendly Game Physics Engine</div>
  41. </td>
  42. </tr>
  43. </tbody>
  44. </table>
  45. </div>
  46. <!-- end header part -->
  47. <!-- Generated by Doxygen 1.12.0 -->
  48. <script type="text/javascript">
  49. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  50. var searchBox = new SearchBox("searchBox", "search/",'.html');
  51. /* @license-end */
  52. </script>
  53. <script type="text/javascript">
  54. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  55. $(function() { codefold.init(0); });
  56. /* @license-end */
  57. </script>
  58. <script type="text/javascript" src="menudata.js"></script>
  59. <script type="text/javascript" src="menu.js"></script>
  60. <script type="text/javascript">
  61. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  62. $(function() {
  63. initMenu('',true,false,'search.php','Search',true);
  64. $(function() { init_search(); });
  65. });
  66. /* @license-end */
  67. </script>
  68. <div id="main-nav"></div>
  69. </div><!-- top -->
  70. <div id="side-nav" class="ui-resizable side-nav-resizable">
  71. <div id="nav-tree">
  72. <div id="nav-tree-contents">
  73. <div id="nav-sync" class="sync"></div>
  74. </div>
  75. </div>
  76. <div id="splitbar" style="-moz-user-select:none;"
  77. class="ui-resizable-handle">
  78. </div>
  79. </div>
  80. <script type="text/javascript">
  81. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  82. $(function(){initNavTree('class_ragdoll_settings.html',''); initResizable(true); });
  83. /* @license-end */
  84. </script>
  85. <div id="doc-content">
  86. <!-- window showing the filter options -->
  87. <div id="MSearchSelectWindow"
  88. onmouseover="return searchBox.OnSearchSelectShow()"
  89. onmouseout="return searchBox.OnSearchSelectHide()"
  90. onkeydown="return searchBox.OnSearchSelectKey(event)">
  91. </div>
  92. <!-- iframe showing the search results (closed by default) -->
  93. <div id="MSearchResultsWindow">
  94. <div id="MSearchResults">
  95. <div class="SRPage">
  96. <div id="SRIndex">
  97. <div id="SRResults"></div>
  98. <div class="SRStatus" id="Loading">Loading...</div>
  99. <div class="SRStatus" id="Searching">Searching...</div>
  100. <div class="SRStatus" id="NoMatches">No Matches</div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="header">
  106. <div class="summary">
  107. <a href="#nested-classes">Classes</a> &#124;
  108. <a href="#pub-types">Public Types</a> &#124;
  109. <a href="#pub-methods">Public Member Functions</a> &#124;
  110. <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
  111. <a href="#pub-attribs">Public Attributes</a> &#124;
  112. <a href="class_ragdoll_settings-members.html">List of all members</a> </div>
  113. <div class="headertitle"><div class="title">RagdollSettings Class Reference</div></div>
  114. </div><!--header-->
  115. <div class="contents">
  116. <p>Contains the structure of a ragdoll.
  117. <a href="#details">More...</a></p>
  118. <p><code>#include &lt;<a class="el" href="_ragdoll_8h_source.html">Ragdoll.h</a>&gt;</code></p>
  119. <div class="dynheader">
  120. Inheritance diagram for RagdollSettings:</div>
  121. <div class="dyncontent">
  122. <div class="center">
  123. <img src="class_ragdoll_settings.png" usemap="#RagdollSettings_map" alt=""/>
  124. <map id="RagdollSettings_map" name="RagdollSettings_map">
  125. <area href="class_ref_target.html" alt="RefTarget&lt; RagdollSettings &gt;" shape="rect" coords="0,0,177,24"/>
  126. </map>
  127. </div></div>
  128. <table class="memberdecls">
  129. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
  130. Classes</h2></td></tr>
  131. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ragdoll_settings_1_1_additional_constraint.html">AdditionalConstraint</a></td></tr>
  132. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A constraint that connects two bodies in a ragdoll (for non parent child related constraints) <a href="class_ragdoll_settings_1_1_additional_constraint.html#details">More...</a><br /></td></tr>
  133. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ragdoll_settings_1_1_part.html">Part</a></td></tr>
  135. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A single rigid body sub part of the ragdoll. <a href="class_ragdoll_settings_1_1_part.html#details">More...</a><br /></td></tr>
  136. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. </table><table class="memberdecls">
  138. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
  139. Public Types</h2></td></tr>
  140. <tr class="memitem:ad2b989f53b88c787a1904213452f80c8" id="r_ad2b989f53b88c787a1904213452f80c8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2b989f53b88c787a1904213452f80c8">RagdollResult</a> = <a class="el" href="class_result.html">Result</a>&lt;<a class="el" href="class_ref.html">Ref</a>&lt;<a class="el" href="class_ragdoll_settings.html">RagdollSettings</a>&gt;&gt;</td></tr>
  141. <tr class="separator:ad2b989f53b88c787a1904213452f80c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a0da5c4d89547347411dec1e51295b576" id="r_a0da5c4d89547347411dec1e51295b576"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0da5c4d89547347411dec1e51295b576">BodyIdxPair</a> = std::pair&lt;int, int&gt;</td></tr>
  143. <tr class="separator:a0da5c4d89547347411dec1e51295b576"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:afe45741614c7194437ffcafdd2552b7d" id="r_afe45741614c7194437ffcafdd2552b7d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afe45741614c7194437ffcafdd2552b7d">PartVector</a> = <a class="el" href="class_array.html">Array</a>&lt;<a class="el" href="class_ragdoll_settings_1_1_part.html">Part</a>&gt;</td></tr>
  145. <tr class="memdesc:afe45741614c7194437ffcafdd2552b7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of ragdoll parts. <br /></td></tr>
  146. <tr class="separator:afe45741614c7194437ffcafdd2552b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:a9b2cdf3b1dc8ca01105aed3e626dce7f" id="r_a9b2cdf3b1dc8ca01105aed3e626dce7f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b2cdf3b1dc8ca01105aed3e626dce7f">AdditionalConstraintVector</a> = <a class="el" href="class_array.html">Array</a>&lt;<a class="el" href="class_ragdoll_settings_1_1_additional_constraint.html">AdditionalConstraint</a>&gt;</td></tr>
  148. <tr class="memdesc:a9b2cdf3b1dc8ca01105aed3e626dce7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of additional constraints. <br /></td></tr>
  149. <tr class="separator:a9b2cdf3b1dc8ca01105aed3e626dce7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. </table><table class="memberdecls">
  151. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  152. Public Member Functions</h2></td></tr>
  153. <tr class="memitem:ab47bfb4b4c4c9dc780307449f9907bae" id="r_ab47bfb4b4c4c9dc780307449f9907bae"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab47bfb4b4c4c9dc780307449f9907bae">Stabilize</a> ()</td></tr>
  154. <tr class="separator:ab47bfb4b4c4c9dc780307449f9907bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:a2abfef1ce2210e7459fb5c412ed94b21" id="r_a2abfef1ce2210e7459fb5c412ed94b21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2abfef1ce2210e7459fb5c412ed94b21">CalculateConstraintPriorities</a> (<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inBasePriority=0)</td></tr>
  156. <tr class="separator:a2abfef1ce2210e7459fb5c412ed94b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a4fa33727be725de16620f446fbb420f6" id="r_a4fa33727be725de16620f446fbb420f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4fa33727be725de16620f446fbb420f6">DisableParentChildCollisions</a> (const <a class="el" href="class_mat44.html">Mat44</a> *inJointMatrices=nullptr, float inMinSeparationDistance=0.0f)</td></tr>
  158. <tr class="separator:a4fa33727be725de16620f446fbb420f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:a5ac758eeeb02faf2d90dbf70c874fda5" id="r_a5ac758eeeb02faf2d90dbf70c874fda5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ac758eeeb02faf2d90dbf70c874fda5">SaveBinaryState</a> (<a class="el" href="class_stream_out.html">StreamOut</a> &amp;inStream, bool inSaveShapes, bool inSaveGroupFilter) const</td></tr>
  160. <tr class="separator:a5ac758eeeb02faf2d90dbf70c874fda5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:a6f5c2dd947c77b071431f91a1f1b6251" id="r_a6f5c2dd947c77b071431f91a1f1b6251"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ragdoll.html">Ragdoll</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f5c2dd947c77b071431f91a1f1b6251">CreateRagdoll</a> (<a class="el" href="class_collision_group.html#ab44e31c9fa83c4818b1560d71c15dddd">CollisionGroup::GroupID</a> inCollisionGroup, <a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> inUserData, <a class="el" href="class_physics_system.html">PhysicsSystem</a> *inSystem) const</td></tr>
  162. <tr class="separator:a6f5c2dd947c77b071431f91a1f1b6251"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a5f7c10c07d5cdaa2800bda61897f8852" id="r_a5f7c10c07d5cdaa2800bda61897f8852"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_skeleton.html">Skeleton</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f7c10c07d5cdaa2800bda61897f8852">GetSkeleton</a> () const</td></tr>
  164. <tr class="memdesc:a5f7c10c07d5cdaa2800bda61897f8852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the skeleton of this ragdoll. <br /></td></tr>
  165. <tr class="separator:a5f7c10c07d5cdaa2800bda61897f8852"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:a10ee1dfde20a1031ba99268be5b60157" id="r_a10ee1dfde20a1031ba99268be5b60157"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_skeleton.html">Skeleton</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a10ee1dfde20a1031ba99268be5b60157">GetSkeleton</a> ()</td></tr>
  167. <tr class="separator:a10ee1dfde20a1031ba99268be5b60157"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr class="memitem:a1e23b51741e51dd17319254ab2314e8f" id="r_a1e23b51741e51dd17319254ab2314e8f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1e23b51741e51dd17319254ab2314e8f">CalculateBodyIndexToConstraintIndex</a> ()</td></tr>
  169. <tr class="memdesc:a1e23b51741e51dd17319254ab2314e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the map needed for <a class="el" href="#a0d32abac6067ec311bb89c65f1fd6e3e">GetBodyIndexToConstraintIndex()</a> <br /></td></tr>
  170. <tr class="separator:a1e23b51741e51dd17319254ab2314e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:a0d32abac6067ec311bb89c65f1fd6e3e" id="r_a0d32abac6067ec311bb89c65f1fd6e3e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_array.html">Array</a>&lt; int &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d32abac6067ec311bb89c65f1fd6e3e">GetBodyIndexToConstraintIndex</a> () const</td></tr>
  172. <tr class="separator:a0d32abac6067ec311bb89c65f1fd6e3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  173. <tr class="memitem:a1749cda0e9b21d71951d950561eed206" id="r_a1749cda0e9b21d71951d950561eed206"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1749cda0e9b21d71951d950561eed206">GetConstraintIndexForBodyIndex</a> (int inBodyIndex) const</td></tr>
  174. <tr class="memdesc:a1749cda0e9b21d71951d950561eed206"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a single body index to a constraint index. <br /></td></tr>
  175. <tr class="separator:a1749cda0e9b21d71951d950561eed206"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a549e9e4d95b8bb57fa1feb91fa142002" id="r_a549e9e4d95b8bb57fa1feb91fa142002"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a549e9e4d95b8bb57fa1feb91fa142002">CalculateConstraintIndexToBodyIdxPair</a> ()</td></tr>
  177. <tr class="memdesc:a549e9e4d95b8bb57fa1feb91fa142002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the map needed for <a class="el" href="#a7e1760aeb58718b818dc1c30f7049678" title="Table that maps a constraint index (index in mConstraints) to the indices of the bodies that the cons...">GetConstraintIndexToBodyIdxPair()</a> <br /></td></tr>
  178. <tr class="separator:a549e9e4d95b8bb57fa1feb91fa142002"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a7e1760aeb58718b818dc1c30f7049678" id="r_a7e1760aeb58718b818dc1c30f7049678"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_array.html">Array</a>&lt; <a class="el" href="#a0da5c4d89547347411dec1e51295b576">BodyIdxPair</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7e1760aeb58718b818dc1c30f7049678">GetConstraintIndexToBodyIdxPair</a> () const</td></tr>
  180. <tr class="memdesc:a7e1760aeb58718b818dc1c30f7049678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Table that maps a constraint index (index in mConstraints) to the indices of the bodies that the constraint is connected to (index in mBodyIDs) <br /></td></tr>
  181. <tr class="separator:a7e1760aeb58718b818dc1c30f7049678"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:abf5abd1cf5ac17cd649c7ad69366b63e" id="r_abf5abd1cf5ac17cd649c7ad69366b63e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a0da5c4d89547347411dec1e51295b576">BodyIdxPair</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abf5abd1cf5ac17cd649c7ad69366b63e">GetBodyIndicesForConstraintIndex</a> (int inConstraintIndex) const</td></tr>
  183. <tr class="memdesc:abf5abd1cf5ac17cd649c7ad69366b63e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map a single constraint index (index in mConstraints) to the indices of the bodies that the constraint is connected to (index in mBodyIDs) <br /></td></tr>
  184. <tr class="separator:abf5abd1cf5ac17cd649c7ad69366b63e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="inherit_header pub_methods_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_ref_target')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_ref_target.html">RefTarget&lt; RagdollSettings &gt;</a></td></tr>
  186. <tr class="memitem:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target" id="r_a4c8a23738e2e1dd6369520a30e250b17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a4c8a23738e2e1dd6369520a30e250b17">RefTarget</a> ()=default</td></tr>
  187. <tr class="memdesc:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  188. <tr class="separator:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target" id="r_a50444e3b659c6f93c64aee224a93f6ab"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a50444e3b659c6f93c64aee224a93f6ab">RefTarget</a> (const <a class="el" href="class_ref_target.html">RefTarget</a> &amp;)</td></tr>
  190. <tr class="separator:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target" id="r_ac3110b9f511287f881d7afaf26871e1b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#ac3110b9f511287f881d7afaf26871e1b">~RefTarget</a> ()</td></tr>
  192. <tr class="memdesc:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">assert no one is referencing us <br /></td></tr>
  193. <tr class="separator:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  194. <tr class="memitem:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target" id="r_a3befa746ea517453572f6f4f5fc3b099"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a3befa746ea517453572f6f4f5fc3b099">SetEmbedded</a> () const</td></tr>
  195. <tr class="separator:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target" id="r_a1fc15bfe979bc43a7fa71c7c34f87ed0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref_target.html">RefTarget</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a1fc15bfe979bc43a7fa71c7c34f87ed0">operator=</a> (const <a class="el" href="class_ref_target.html">RefTarget</a> &amp;)</td></tr>
  197. <tr class="memdesc:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br /></td></tr>
  198. <tr class="separator:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target" id="r_acaf07366183c51cd8460c7d3dcd07c2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#acaf07366183c51cd8460c7d3dcd07c2d">GetRefCount</a> () const</td></tr>
  200. <tr class="memdesc:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current refcount of this object. <br /></td></tr>
  201. <tr class="separator:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target" id="r_acf02c18a343bc9de9d6afb7c966f0363"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#acf02c18a343bc9de9d6afb7c966f0363">AddRef</a> () const</td></tr>
  203. <tr class="memdesc:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add or release a reference to this object. <br /></td></tr>
  204. <tr class="separator:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target" id="r_a0451661dd5d85b01f969319e767993eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a0451661dd5d85b01f969319e767993eb">Release</a> () const</td></tr>
  206. <tr class="separator:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  207. </table><table class="memberdecls">
  208. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
  209. Static Public Member Functions</h2></td></tr>
  210. <tr class="memitem:a290920d5a22f05282117b81a842504b0" id="r_a290920d5a22f05282117b81a842504b0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="#ad2b989f53b88c787a1904213452f80c8">RagdollResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a290920d5a22f05282117b81a842504b0">sRestoreFromBinaryState</a> (<a class="el" href="class_stream_in.html">StreamIn</a> &amp;inStream)</td></tr>
  211. <tr class="memdesc:a290920d5a22f05282117b81a842504b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore a saved ragdoll from inStream. <br /></td></tr>
  212. <tr class="separator:a290920d5a22f05282117b81a842504b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  213. <tr class="inherit_header pub_static_methods_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_methods_class_ref_target')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_ref_target.html">RefTarget&lt; RagdollSettings &gt;</a></td></tr>
  214. <tr class="memitem:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target" id="r_a58b5a94748691b18ecf651ce918ae743"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a58b5a94748691b18ecf651ce918ae743">sInternalGetRefCountOffset</a> ()</td></tr>
  215. <tr class="memdesc:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">INTERNAL HELPER FUNCTION USED BY SERIALIZATION. <br /></td></tr>
  216. <tr class="separator:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  217. </table><table class="memberdecls">
  218. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
  219. Public Attributes</h2></td></tr>
  220. <tr class="memitem:ad4fed891ce9688ea6e65b84d913be3b8" id="r_ad4fed891ce9688ea6e65b84d913be3b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref.html">Ref</a>&lt; <a class="el" href="class_skeleton.html">Skeleton</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad4fed891ce9688ea6e65b84d913be3b8">mSkeleton</a></td></tr>
  221. <tr class="memdesc:ad4fed891ce9688ea6e65b84d913be3b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The skeleton for this ragdoll. <br /></td></tr>
  222. <tr class="separator:ad4fed891ce9688ea6e65b84d913be3b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  223. <tr class="memitem:acf5a663278bc571eb621e180abc67a3b" id="r_acf5a663278bc571eb621e180abc67a3b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#afe45741614c7194437ffcafdd2552b7d">PartVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acf5a663278bc571eb621e180abc67a3b">mParts</a></td></tr>
  224. <tr class="memdesc:acf5a663278bc571eb621e180abc67a3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">For each of the joints, the body and constraint attaching it to its parent body (1-on-1 with mSkeleton.GetJoints()) <br /></td></tr>
  225. <tr class="separator:acf5a663278bc571eb621e180abc67a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. <tr class="memitem:aa5b99482d05587d747351f962780f91f" id="r_aa5b99482d05587d747351f962780f91f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a9b2cdf3b1dc8ca01105aed3e626dce7f">AdditionalConstraintVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5b99482d05587d747351f962780f91f">mAdditionalConstraints</a></td></tr>
  227. <tr class="memdesc:aa5b99482d05587d747351f962780f91f"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of constraints that connects two bodies in a ragdoll (for non parent child related constraints) <br /></td></tr>
  228. <tr class="separator:aa5b99482d05587d747351f962780f91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  229. </table><table class="memberdecls">
  230. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
  231. Additional Inherited Members</h2></td></tr>
  232. <tr class="inherit_header pro_attribs_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_class_ref_target')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_ref_target.html">RefTarget&lt; RagdollSettings &gt;</a></td></tr>
  233. <tr class="memitem:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target" id="r_a12afba0bdae7706a0afd4d96ac128231"><td class="memItemLeft" align="right" valign="top">atomic&lt; <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#a12afba0bdae7706a0afd4d96ac128231">mRefCount</a></td></tr>
  234. <tr class="memdesc:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current reference count. <br /></td></tr>
  235. <tr class="separator:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="inherit_header pro_static_attribs_class_ref_target"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_static_attribs_class_ref_target')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_ref_target.html">RefTarget&lt; RagdollSettings &gt;</a></td></tr>
  237. <tr class="memitem:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target" id="r_ad37db773efa3c8756f6d95df3862b875"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ref_target.html#ad37db773efa3c8756f6d95df3862b875">cEmbedded</a></td></tr>
  238. <tr class="memdesc:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">A large value that gets added to the refcount to mark the object as embedded. <br /></td></tr>
  239. <tr class="separator:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  240. </table>
  241. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  242. <div class="textblock"><p>Contains the structure of a ragdoll. </p>
  243. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  244. <a id="a9b2cdf3b1dc8ca01105aed3e626dce7f" name="a9b2cdf3b1dc8ca01105aed3e626dce7f"></a>
  245. <h2 class="memtitle"><span class="permalink"><a href="#a9b2cdf3b1dc8ca01105aed3e626dce7f">&#9670;&#160;</a></span>AdditionalConstraintVector</h2>
  246. <div class="memitem">
  247. <div class="memproto">
  248. <table class="memname">
  249. <tr>
  250. <td class="memname">using <a class="el" href="#a9b2cdf3b1dc8ca01105aed3e626dce7f">RagdollSettings::AdditionalConstraintVector</a> = <a class="el" href="class_array.html">Array</a>&lt;<a class="el" href="class_ragdoll_settings_1_1_additional_constraint.html">AdditionalConstraint</a>&gt;</td>
  251. </tr>
  252. </table>
  253. </div><div class="memdoc">
  254. <p>List of additional constraints. </p>
  255. </div>
  256. </div>
  257. <a id="a0da5c4d89547347411dec1e51295b576" name="a0da5c4d89547347411dec1e51295b576"></a>
  258. <h2 class="memtitle"><span class="permalink"><a href="#a0da5c4d89547347411dec1e51295b576">&#9670;&#160;</a></span>BodyIdxPair</h2>
  259. <div class="memitem">
  260. <div class="memproto">
  261. <table class="memname">
  262. <tr>
  263. <td class="memname">using <a class="el" href="#a0da5c4d89547347411dec1e51295b576">RagdollSettings::BodyIdxPair</a> = std::pair&lt;int, int&gt;</td>
  264. </tr>
  265. </table>
  266. </div><div class="memdoc">
  267. </div>
  268. </div>
  269. <a id="afe45741614c7194437ffcafdd2552b7d" name="afe45741614c7194437ffcafdd2552b7d"></a>
  270. <h2 class="memtitle"><span class="permalink"><a href="#afe45741614c7194437ffcafdd2552b7d">&#9670;&#160;</a></span>PartVector</h2>
  271. <div class="memitem">
  272. <div class="memproto">
  273. <table class="memname">
  274. <tr>
  275. <td class="memname">using <a class="el" href="#afe45741614c7194437ffcafdd2552b7d">RagdollSettings::PartVector</a> = <a class="el" href="class_array.html">Array</a>&lt;<a class="el" href="class_ragdoll_settings_1_1_part.html">Part</a>&gt;</td>
  276. </tr>
  277. </table>
  278. </div><div class="memdoc">
  279. <p>List of ragdoll parts. </p>
  280. <p>The constraint that connects this part to its parent part (should be null for the root) </p>
  281. </div>
  282. </div>
  283. <a id="ad2b989f53b88c787a1904213452f80c8" name="ad2b989f53b88c787a1904213452f80c8"></a>
  284. <h2 class="memtitle"><span class="permalink"><a href="#ad2b989f53b88c787a1904213452f80c8">&#9670;&#160;</a></span>RagdollResult</h2>
  285. <div class="memitem">
  286. <div class="memproto">
  287. <table class="memname">
  288. <tr>
  289. <td class="memname">using <a class="el" href="#ad2b989f53b88c787a1904213452f80c8">RagdollSettings::RagdollResult</a> = <a class="el" href="class_result.html">Result</a>&lt;<a class="el" href="class_ref.html">Ref</a>&lt;<a class="el" href="class_ragdoll_settings.html">RagdollSettings</a>&gt;&gt;</td>
  290. </tr>
  291. </table>
  292. </div><div class="memdoc">
  293. </div>
  294. </div>
  295. <h2 class="groupheader">Member Function Documentation</h2>
  296. <a id="a1e23b51741e51dd17319254ab2314e8f" name="a1e23b51741e51dd17319254ab2314e8f"></a>
  297. <h2 class="memtitle"><span class="permalink"><a href="#a1e23b51741e51dd17319254ab2314e8f">&#9670;&#160;</a></span>CalculateBodyIndexToConstraintIndex()</h2>
  298. <div class="memitem">
  299. <div class="memproto">
  300. <table class="memname">
  301. <tr>
  302. <td class="memname">void RagdollSettings::CalculateBodyIndexToConstraintIndex </td>
  303. <td>(</td>
  304. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  305. <td></td>
  306. </tr>
  307. </table>
  308. </div><div class="memdoc">
  309. <p>Calculate the map needed for <a class="el" href="#a0d32abac6067ec311bb89c65f1fd6e3e">GetBodyIndexToConstraintIndex()</a> </p>
  310. </div>
  311. </div>
  312. <a id="a549e9e4d95b8bb57fa1feb91fa142002" name="a549e9e4d95b8bb57fa1feb91fa142002"></a>
  313. <h2 class="memtitle"><span class="permalink"><a href="#a549e9e4d95b8bb57fa1feb91fa142002">&#9670;&#160;</a></span>CalculateConstraintIndexToBodyIdxPair()</h2>
  314. <div class="memitem">
  315. <div class="memproto">
  316. <table class="memname">
  317. <tr>
  318. <td class="memname">void RagdollSettings::CalculateConstraintIndexToBodyIdxPair </td>
  319. <td>(</td>
  320. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  321. <td></td>
  322. </tr>
  323. </table>
  324. </div><div class="memdoc">
  325. <p>Calculate the map needed for <a class="el" href="#a7e1760aeb58718b818dc1c30f7049678" title="Table that maps a constraint index (index in mConstraints) to the indices of the bodies that the cons...">GetConstraintIndexToBodyIdxPair()</a> </p>
  326. </div>
  327. </div>
  328. <a id="a2abfef1ce2210e7459fb5c412ed94b21" name="a2abfef1ce2210e7459fb5c412ed94b21"></a>
  329. <h2 class="memtitle"><span class="permalink"><a href="#a2abfef1ce2210e7459fb5c412ed94b21">&#9670;&#160;</a></span>CalculateConstraintPriorities()</h2>
  330. <div class="memitem">
  331. <div class="memproto">
  332. <table class="memname">
  333. <tr>
  334. <td class="memname">void RagdollSettings::CalculateConstraintPriorities </td>
  335. <td>(</td>
  336. <td class="paramtype"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a></td> <td class="paramname"><span class="paramname"><em>inBasePriority</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span></td><td>)</td>
  337. <td></td>
  338. </tr>
  339. </table>
  340. </div><div class="memdoc">
  341. <p>Initializes the constraint priorities so that constraints near the leaves of the ragdoll have a lower priority than constraints near the root of the ragdoll. </p><dl class="params"><dt>Parameters</dt><dd>
  342. <table class="params">
  343. <tr><td class="paramname">inBasePriority</td><td>The lowest priority that will be used in the ragdoll. </td></tr>
  344. </table>
  345. </dd>
  346. </dl>
  347. </div>
  348. </div>
  349. <a id="a6f5c2dd947c77b071431f91a1f1b6251" name="a6f5c2dd947c77b071431f91a1f1b6251"></a>
  350. <h2 class="memtitle"><span class="permalink"><a href="#a6f5c2dd947c77b071431f91a1f1b6251">&#9670;&#160;</a></span>CreateRagdoll()</h2>
  351. <div class="memitem">
  352. <div class="memproto">
  353. <table class="memname">
  354. <tr>
  355. <td class="memname"><a class="el" href="class_ragdoll.html">Ragdoll</a> * RagdollSettings::CreateRagdoll </td>
  356. <td>(</td>
  357. <td class="paramtype"><a class="el" href="class_collision_group.html#ab44e31c9fa83c4818b1560d71c15dddd">CollisionGroup::GroupID</a></td> <td class="paramname"><span class="paramname"><em>inCollisionGroup</em></span>, </td>
  358. </tr>
  359. <tr>
  360. <td class="paramkey"></td>
  361. <td></td>
  362. <td class="paramtype"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a></td> <td class="paramname"><span class="paramname"><em>inUserData</em></span>, </td>
  363. </tr>
  364. <tr>
  365. <td class="paramkey"></td>
  366. <td></td>
  367. <td class="paramtype"><a class="el" href="class_physics_system.html">PhysicsSystem</a> *</td> <td class="paramname"><span class="paramname"><em>inSystem</em></span>&#160;) const</td>
  368. </tr>
  369. </table>
  370. </div><div class="memdoc">
  371. <p>Create ragdoll instance from these settings </p><dl class="section return"><dt>Returns</dt><dd>Newly created ragdoll or null when out of bodies </dd></dl>
  372. </div>
  373. </div>
  374. <a id="a4fa33727be725de16620f446fbb420f6" name="a4fa33727be725de16620f446fbb420f6"></a>
  375. <h2 class="memtitle"><span class="permalink"><a href="#a4fa33727be725de16620f446fbb420f6">&#9670;&#160;</a></span>DisableParentChildCollisions()</h2>
  376. <div class="memitem">
  377. <div class="memproto">
  378. <table class="memname">
  379. <tr>
  380. <td class="memname">void RagdollSettings::DisableParentChildCollisions </td>
  381. <td>(</td>
  382. <td class="paramtype">const <a class="el" href="class_mat44.html">Mat44</a> *</td> <td class="paramname"><span class="paramname"><em>inJointMatrices</em></span><span class="paramdefsep"> = </span><span class="paramdefval">nullptr</span>, </td>
  383. </tr>
  384. <tr>
  385. <td class="paramkey"></td>
  386. <td></td>
  387. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMinSeparationDistance</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0.0f</span>&#160;)</td>
  388. </tr>
  389. </table>
  390. </div><div class="memdoc">
  391. <p>After the ragdoll has been fully configured, call this function to automatically create and add a <a class="el" href="class_group_filter_table.html">GroupFilterTable</a> collision filter to all bodies and configure them so that parent and children don't collide.</p>
  392. <p>This will:</p><ul>
  393. <li>Create a <a class="el" href="class_group_filter_table.html">GroupFilterTable</a> and assign it to all of the bodies in a ragdoll.</li>
  394. <li>Each body in your ragdoll will get a SubGroupID that is equal to the joint index in the <a class="el" href="class_skeleton.html" title="Resource that contains the joint hierarchy for a skeleton.">Skeleton</a> that it is attached to.</li>
  395. <li>Loop over all joints in the <a class="el" href="class_skeleton.html" title="Resource that contains the joint hierarchy for a skeleton.">Skeleton</a> and call GroupFilterTable::DisableCollision(joint index, parent joint index).</li>
  396. <li>When a pose is provided through inJointMatrices the function will detect collisions between joints (they must be separated by more than inMinSeparationDistance to be treated as not colliding) and automatically disable collisions.</li>
  397. </ul>
  398. <p>When you create an instance using Ragdoll::CreateRagdoll pass in a unique GroupID for each ragdoll (e.g. a simple counter), note that this number should be unique throughout the <a class="el" href="class_physics_system.html">PhysicsSystem</a>, so if you have different types of ragdolls they should not share the same GroupID. </p>
  399. </div>
  400. </div>
  401. <a id="a0d32abac6067ec311bb89c65f1fd6e3e" name="a0d32abac6067ec311bb89c65f1fd6e3e"></a>
  402. <h2 class="memtitle"><span class="permalink"><a href="#a0d32abac6067ec311bb89c65f1fd6e3e">&#9670;&#160;</a></span>GetBodyIndexToConstraintIndex()</h2>
  403. <div class="memitem">
  404. <div class="memproto">
  405. <table class="mlabels">
  406. <tr>
  407. <td class="mlabels-left">
  408. <table class="memname">
  409. <tr>
  410. <td class="memname">const <a class="el" href="class_array.html">Array</a>&lt; int &gt; &amp; RagdollSettings::GetBodyIndexToConstraintIndex </td>
  411. <td>(</td>
  412. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  413. <td> const</td>
  414. </tr>
  415. </table>
  416. </td>
  417. <td class="mlabels-right">
  418. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  419. </tr>
  420. </table>
  421. </div><div class="memdoc">
  422. <p>Get table that maps a body index to the constraint index with which it is connected to its parent. -1 if there is no constraint associated with the body. Note that this will only tell you which constraint connects the body to its parent, it will not look in the additional constraint list. </p>
  423. </div>
  424. </div>
  425. <a id="abf5abd1cf5ac17cd649c7ad69366b63e" name="abf5abd1cf5ac17cd649c7ad69366b63e"></a>
  426. <h2 class="memtitle"><span class="permalink"><a href="#abf5abd1cf5ac17cd649c7ad69366b63e">&#9670;&#160;</a></span>GetBodyIndicesForConstraintIndex()</h2>
  427. <div class="memitem">
  428. <div class="memproto">
  429. <table class="mlabels">
  430. <tr>
  431. <td class="mlabels-left">
  432. <table class="memname">
  433. <tr>
  434. <td class="memname"><a class="el" href="#a0da5c4d89547347411dec1e51295b576">BodyIdxPair</a> RagdollSettings::GetBodyIndicesForConstraintIndex </td>
  435. <td>(</td>
  436. <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inConstraintIndex</em></span></td><td>)</td>
  437. <td> const</td>
  438. </tr>
  439. </table>
  440. </td>
  441. <td class="mlabels-right">
  442. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  443. </tr>
  444. </table>
  445. </div><div class="memdoc">
  446. <p>Map a single constraint index (index in mConstraints) to the indices of the bodies that the constraint is connected to (index in mBodyIDs) </p>
  447. </div>
  448. </div>
  449. <a id="a1749cda0e9b21d71951d950561eed206" name="a1749cda0e9b21d71951d950561eed206"></a>
  450. <h2 class="memtitle"><span class="permalink"><a href="#a1749cda0e9b21d71951d950561eed206">&#9670;&#160;</a></span>GetConstraintIndexForBodyIndex()</h2>
  451. <div class="memitem">
  452. <div class="memproto">
  453. <table class="mlabels">
  454. <tr>
  455. <td class="mlabels-left">
  456. <table class="memname">
  457. <tr>
  458. <td class="memname">int RagdollSettings::GetConstraintIndexForBodyIndex </td>
  459. <td>(</td>
  460. <td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>inBodyIndex</em></span></td><td>)</td>
  461. <td> const</td>
  462. </tr>
  463. </table>
  464. </td>
  465. <td class="mlabels-right">
  466. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  467. </tr>
  468. </table>
  469. </div><div class="memdoc">
  470. <p>Map a single body index to a constraint index. </p>
  471. </div>
  472. </div>
  473. <a id="a7e1760aeb58718b818dc1c30f7049678" name="a7e1760aeb58718b818dc1c30f7049678"></a>
  474. <h2 class="memtitle"><span class="permalink"><a href="#a7e1760aeb58718b818dc1c30f7049678">&#9670;&#160;</a></span>GetConstraintIndexToBodyIdxPair()</h2>
  475. <div class="memitem">
  476. <div class="memproto">
  477. <table class="mlabels">
  478. <tr>
  479. <td class="mlabels-left">
  480. <table class="memname">
  481. <tr>
  482. <td class="memname">const <a class="el" href="class_array.html">Array</a>&lt; <a class="el" href="#a0da5c4d89547347411dec1e51295b576">BodyIdxPair</a> &gt; &amp; RagdollSettings::GetConstraintIndexToBodyIdxPair </td>
  483. <td>(</td>
  484. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  485. <td> const</td>
  486. </tr>
  487. </table>
  488. </td>
  489. <td class="mlabels-right">
  490. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  491. </tr>
  492. </table>
  493. </div><div class="memdoc">
  494. <p>Table that maps a constraint index (index in mConstraints) to the indices of the bodies that the constraint is connected to (index in mBodyIDs) </p>
  495. </div>
  496. </div>
  497. <a id="a10ee1dfde20a1031ba99268be5b60157" name="a10ee1dfde20a1031ba99268be5b60157"></a>
  498. <h2 class="memtitle"><span class="permalink"><a href="#a10ee1dfde20a1031ba99268be5b60157">&#9670;&#160;</a></span>GetSkeleton() <span class="overload">[1/2]</span></h2>
  499. <div class="memitem">
  500. <div class="memproto">
  501. <table class="mlabels">
  502. <tr>
  503. <td class="mlabels-left">
  504. <table class="memname">
  505. <tr>
  506. <td class="memname"><a class="el" href="class_skeleton.html">Skeleton</a> * RagdollSettings::GetSkeleton </td>
  507. <td>(</td>
  508. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  509. <td></td>
  510. </tr>
  511. </table>
  512. </td>
  513. <td class="mlabels-right">
  514. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  515. </tr>
  516. </table>
  517. </div><div class="memdoc">
  518. </div>
  519. </div>
  520. <a id="a5f7c10c07d5cdaa2800bda61897f8852" name="a5f7c10c07d5cdaa2800bda61897f8852"></a>
  521. <h2 class="memtitle"><span class="permalink"><a href="#a5f7c10c07d5cdaa2800bda61897f8852">&#9670;&#160;</a></span>GetSkeleton() <span class="overload">[2/2]</span></h2>
  522. <div class="memitem">
  523. <div class="memproto">
  524. <table class="mlabels">
  525. <tr>
  526. <td class="mlabels-left">
  527. <table class="memname">
  528. <tr>
  529. <td class="memname">const <a class="el" href="class_skeleton.html">Skeleton</a> * RagdollSettings::GetSkeleton </td>
  530. <td>(</td>
  531. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  532. <td> const</td>
  533. </tr>
  534. </table>
  535. </td>
  536. <td class="mlabels-right">
  537. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  538. </tr>
  539. </table>
  540. </div><div class="memdoc">
  541. <p>Access to the skeleton of this ragdoll. </p>
  542. </div>
  543. </div>
  544. <a id="a5ac758eeeb02faf2d90dbf70c874fda5" name="a5ac758eeeb02faf2d90dbf70c874fda5"></a>
  545. <h2 class="memtitle"><span class="permalink"><a href="#a5ac758eeeb02faf2d90dbf70c874fda5">&#9670;&#160;</a></span>SaveBinaryState()</h2>
  546. <div class="memitem">
  547. <div class="memproto">
  548. <table class="memname">
  549. <tr>
  550. <td class="memname">void RagdollSettings::SaveBinaryState </td>
  551. <td>(</td>
  552. <td class="paramtype"><a class="el" href="class_stream_out.html">StreamOut</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span>, </td>
  553. </tr>
  554. <tr>
  555. <td class="paramkey"></td>
  556. <td></td>
  557. <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>inSaveShapes</em></span>, </td>
  558. </tr>
  559. <tr>
  560. <td class="paramkey"></td>
  561. <td></td>
  562. <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>inSaveGroupFilter</em></span>&#160;) const</td>
  563. </tr>
  564. </table>
  565. </div><div class="memdoc">
  566. <p>Saves the state of this object in binary form to inStream. </p><dl class="params"><dt>Parameters</dt><dd>
  567. <table class="params">
  568. <tr><td class="paramname">inStream</td><td>The stream to save the state to </td></tr>
  569. <tr><td class="paramname">inSaveShapes</td><td>If the shapes should be saved as well (these could be shared between ragdolls, in which case the calling application may want to write custom code to restore them) </td></tr>
  570. <tr><td class="paramname">inSaveGroupFilter</td><td>If the group filter should be saved as well (these could be shared) </td></tr>
  571. </table>
  572. </dd>
  573. </dl>
  574. </div>
  575. </div>
  576. <a id="a290920d5a22f05282117b81a842504b0" name="a290920d5a22f05282117b81a842504b0"></a>
  577. <h2 class="memtitle"><span class="permalink"><a href="#a290920d5a22f05282117b81a842504b0">&#9670;&#160;</a></span>sRestoreFromBinaryState()</h2>
  578. <div class="memitem">
  579. <div class="memproto">
  580. <table class="mlabels">
  581. <tr>
  582. <td class="mlabels-left">
  583. <table class="memname">
  584. <tr>
  585. <td class="memname"><a class="el" href="#ad2b989f53b88c787a1904213452f80c8">RagdollSettings::RagdollResult</a> RagdollSettings::sRestoreFromBinaryState </td>
  586. <td>(</td>
  587. <td class="paramtype"><a class="el" href="class_stream_in.html">StreamIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
  588. <td></td>
  589. </tr>
  590. </table>
  591. </td>
  592. <td class="mlabels-right">
  593. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  594. </tr>
  595. </table>
  596. </div><div class="memdoc">
  597. <p>Restore a saved ragdoll from inStream. </p>
  598. </div>
  599. </div>
  600. <a id="ab47bfb4b4c4c9dc780307449f9907bae" name="ab47bfb4b4c4c9dc780307449f9907bae"></a>
  601. <h2 class="memtitle"><span class="permalink"><a href="#ab47bfb4b4c4c9dc780307449f9907bae">&#9670;&#160;</a></span>Stabilize()</h2>
  602. <div class="memitem">
  603. <div class="memproto">
  604. <table class="memname">
  605. <tr>
  606. <td class="memname">bool RagdollSettings::Stabilize </td>
  607. <td>(</td>
  608. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  609. <td></td>
  610. </tr>
  611. </table>
  612. </div><div class="memdoc">
  613. <p>Stabilize the constraints of the ragdoll </p><dl class="section return"><dt>Returns</dt><dd>True on success, false on failure. </dd></dl>
  614. </div>
  615. </div>
  616. <h2 class="groupheader">Member Data Documentation</h2>
  617. <a id="aa5b99482d05587d747351f962780f91f" name="aa5b99482d05587d747351f962780f91f"></a>
  618. <h2 class="memtitle"><span class="permalink"><a href="#aa5b99482d05587d747351f962780f91f">&#9670;&#160;</a></span>mAdditionalConstraints</h2>
  619. <div class="memitem">
  620. <div class="memproto">
  621. <table class="memname">
  622. <tr>
  623. <td class="memname"><a class="el" href="#a9b2cdf3b1dc8ca01105aed3e626dce7f">AdditionalConstraintVector</a> RagdollSettings::mAdditionalConstraints</td>
  624. </tr>
  625. </table>
  626. </div><div class="memdoc">
  627. <p>A list of constraints that connects two bodies in a ragdoll (for non parent child related constraints) </p>
  628. </div>
  629. </div>
  630. <a id="acf5a663278bc571eb621e180abc67a3b" name="acf5a663278bc571eb621e180abc67a3b"></a>
  631. <h2 class="memtitle"><span class="permalink"><a href="#acf5a663278bc571eb621e180abc67a3b">&#9670;&#160;</a></span>mParts</h2>
  632. <div class="memitem">
  633. <div class="memproto">
  634. <table class="memname">
  635. <tr>
  636. <td class="memname"><a class="el" href="#afe45741614c7194437ffcafdd2552b7d">PartVector</a> RagdollSettings::mParts</td>
  637. </tr>
  638. </table>
  639. </div><div class="memdoc">
  640. <p>For each of the joints, the body and constraint attaching it to its parent body (1-on-1 with mSkeleton.GetJoints()) </p>
  641. </div>
  642. </div>
  643. <a id="ad4fed891ce9688ea6e65b84d913be3b8" name="ad4fed891ce9688ea6e65b84d913be3b8"></a>
  644. <h2 class="memtitle"><span class="permalink"><a href="#ad4fed891ce9688ea6e65b84d913be3b8">&#9670;&#160;</a></span>mSkeleton</h2>
  645. <div class="memitem">
  646. <div class="memproto">
  647. <table class="memname">
  648. <tr>
  649. <td class="memname"><a class="el" href="class_ref.html">Ref</a>&lt;<a class="el" href="class_skeleton.html">Skeleton</a>&gt; RagdollSettings::mSkeleton</td>
  650. </tr>
  651. </table>
  652. </div><div class="memdoc">
  653. <p>The skeleton for this ragdoll. </p>
  654. </div>
  655. </div>
  656. <hr/>The documentation for this class was generated from the following files:<ul>
  657. <li>Jolt/Physics/Ragdoll/<a class="el" href="_ragdoll_8h_source.html">Ragdoll.h</a></li>
  658. <li>Jolt/Physics/Ragdoll/<a class="el" href="_ragdoll_8cpp.html">Ragdoll.cpp</a></li>
  659. </ul>
  660. </div><!-- contents -->
  661. </div><!-- doc-content -->
  662. <!-- start footer part -->
  663. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  664. <ul>
  665. <li class="navelem"><a class="el" href="class_ragdoll_settings.html">RagdollSettings</a></li>
  666. <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
  667. </ul>
  668. </div>
  669. </body>
  670. </html>