class_constraint.html 90 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245
  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: Constraint 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_constraint.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="#pub-methods">Public Member Functions</a> &#124;
  108. <a href="#pro-methods">Protected Member Functions</a> &#124;
  109. <a href="#pro-attribs">Protected Attributes</a> &#124;
  110. <a href="#friends">Friends</a> &#124;
  111. <a href="class_constraint-members.html">List of all members</a> </div>
  112. <div class="headertitle"><div class="title">Constraint Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
  113. </div><!--header-->
  114. <div class="contents">
  115. <p>Base class for all physics constraints. A constraint removes one or more degrees of freedom for a rigid body.
  116. <a href="#details">More...</a></p>
  117. <p><code>#include &lt;<a class="el" href="_constraint_8h_source.html">Constraint.h</a>&gt;</code></p>
  118. <div class="dynheader">
  119. Inheritance diagram for Constraint:</div>
  120. <div class="dyncontent">
  121. <div class="center">
  122. <img src="class_constraint.png" usemap="#Constraint_map" alt=""/>
  123. <map id="Constraint_map" name="Constraint_map">
  124. <area href="class_ref_target.html" alt="RefTarget&lt; Constraint &gt;" shape="rect" coords="0,0,155,24"/>
  125. <area href="class_non_copyable.html" title="Class that makes another class non-copyable. Usage: Inherit from NonCopyable." alt="NonCopyable" shape="rect" coords="165,0,320,24"/>
  126. <area href="class_two_body_constraint.html" title="Base class for all constraints that involve 2 bodies. Body1 is usually considered the parent,..." alt="TwoBodyConstraint" shape="rect" coords="0,112,155,136"/>
  127. <area href="class_vehicle_constraint.html" alt="VehicleConstraint" shape="rect" coords="165,112,320,136"/>
  128. <area href="class_cone_constraint.html" alt="ConeConstraint" shape="rect" coords="165,168,320,192"/>
  129. <area href="class_distance_constraint.html" title="This constraint is a stiff spring that holds 2 points at a fixed distance from each other." alt="DistanceConstraint" shape="rect" coords="165,224,320,248"/>
  130. <area href="class_fixed_constraint.html" alt="FixedConstraint" shape="rect" coords="165,280,320,304"/>
  131. <area href="class_gear_constraint.html" alt="GearConstraint" shape="rect" coords="165,336,320,360"/>
  132. <area href="class_hinge_constraint.html" title="A hinge constraint constrains 2 bodies on a single point and allows only a single axis of rotation." alt="HingeConstraint" shape="rect" coords="165,392,320,416"/>
  133. <area href="class_path_constraint.html" title="Path constraint, used to constrain the degrees of freedom between two bodies to a path." alt="PathConstraint" shape="rect" coords="165,448,320,472"/>
  134. <area href="class_point_constraint.html" title="A point constraint constrains 2 bodies on a single point (removing 3 degrees of freedom)" alt="PointConstraint" shape="rect" coords="165,504,320,528"/>
  135. <area href="class_pulley_constraint.html" title="A pulley constraint." alt="PulleyConstraint" shape="rect" coords="165,560,320,584"/>
  136. <area href="class_rack_and_pinion_constraint.html" alt="RackAndPinionConstraint" shape="rect" coords="165,616,320,640"/>
  137. <area href="class_six_d_o_f_constraint.html" title="6 Degree Of Freedom Constraint. Allows control over each of the 6 degrees of freedom." alt="SixDOFConstraint" shape="rect" coords="165,672,320,696"/>
  138. <area href="class_slider_constraint.html" title="A slider constraint allows movement in only 1 axis (and no rotation). Also known as a prismatic const..." alt="SliderConstraint" shape="rect" coords="165,728,320,752"/>
  139. <area href="class_swing_twist_constraint.html" alt="SwingTwistConstraint" shape="rect" coords="165,784,320,808"/>
  140. </map>
  141. </div></div>
  142. <table class="memberdecls">
  143. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  144. Public Member Functions</h2></td></tr>
  145. <tr class="memitem:ae16420a87c4410ab9586397805c909bb" id="r_ae16420a87c4410ab9586397805c909bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_memory_8h.html#a91074fb218fe28954a0938c099ddd9e0">JPH_OVERRIDE_NEW_DELETE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae16420a87c4410ab9586397805c909bb">Constraint</a> (const <a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &amp;inSettings)</td></tr>
  146. <tr class="memdesc:ae16420a87c4410ab9586397805c909bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  147. <tr class="separator:ae16420a87c4410ab9586397805c909bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:a1608cc2c7d701d0e9dbcb5656d5845bb" id="r_a1608cc2c7d701d0e9dbcb5656d5845bb"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1608cc2c7d701d0e9dbcb5656d5845bb">~Constraint</a> ()=default</td></tr>
  149. <tr class="memdesc:a1608cc2c7d701d0e9dbcb5656d5845bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
  150. <tr class="separator:a1608cc2c7d701d0e9dbcb5656d5845bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a6e290088c6049b1f1d1fb26df96dce3a" id="r_a6e290088c6049b1f1d1fb26df96dce3a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_constraint_8h.html#a2a4cc5b25efd5f8862f80eb2f5fcdc47">EConstraintType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6e290088c6049b1f1d1fb26df96dce3a">GetType</a> () const</td></tr>
  152. <tr class="memdesc:a6e290088c6049b1f1d1fb26df96dce3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of a constraint. <br /></td></tr>
  153. <tr class="separator:a6e290088c6049b1f1d1fb26df96dce3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a632a8161ad49c443c2e3a8b600a730a1" id="r_a632a8161ad49c443c2e3a8b600a730a1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_constraint_8h.html#adfc8350888df0c3a51714b7f372baf2d">EConstraintSubType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a632a8161ad49c443c2e3a8b600a730a1">GetSubType</a> () const =0</td></tr>
  155. <tr class="memdesc:a632a8161ad49c443c2e3a8b600a730a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sub type of a constraint. <br /></td></tr>
  156. <tr class="separator:a632a8161ad49c443c2e3a8b600a730a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a6c75250d651da3854eda9e929193e585" id="r_a6c75250d651da3854eda9e929193e585"><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="#a6c75250d651da3854eda9e929193e585">GetConstraintPriority</a> () const</td></tr>
  158. <tr class="separator:a6c75250d651da3854eda9e929193e585"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:a4b32ce7efd330ecf878f8ace4e0dd151" id="r_a4b32ce7efd330ecf878f8ace4e0dd151"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4b32ce7efd330ecf878f8ace4e0dd151">SetConstraintPriority</a> (<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inPriority)</td></tr>
  160. <tr class="separator:a4b32ce7efd330ecf878f8ace4e0dd151"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:a4c9b56bbae7de5094241daddc6975059" id="r_a4c9b56bbae7de5094241daddc6975059"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4c9b56bbae7de5094241daddc6975059">SetNumVelocityStepsOverride</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inN)</td></tr>
  162. <tr class="memdesc:a4c9b56bbae7de5094241daddc6975059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used only when the constraint is active. Override for the number of solver velocity iterations to run, 0 means use the default in <a class="el" href="struct_physics_settings.html#a66af679ba7f202b402bb23d0a0e117ad">PhysicsSettings::mNumVelocitySteps</a>. The number of iterations to use is the max of all contacts and constraints in the island. <br /></td></tr>
  163. <tr class="separator:a4c9b56bbae7de5094241daddc6975059"><td class="memSeparator" colspan="2">&#160;</td></tr>
  164. <tr class="memitem:a56624d10dcf6dd18fa8903897fcc2a03" id="r_a56624d10dcf6dd18fa8903897fcc2a03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a56624d10dcf6dd18fa8903897fcc2a03">GetNumVelocityStepsOverride</a> () const</td></tr>
  165. <tr class="separator:a56624d10dcf6dd18fa8903897fcc2a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:a746a3c987f34f2573c0add9ddd56f390" id="r_a746a3c987f34f2573c0add9ddd56f390"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a746a3c987f34f2573c0add9ddd56f390">SetNumPositionStepsOverride</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inN)</td></tr>
  167. <tr class="memdesc:a746a3c987f34f2573c0add9ddd56f390"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used only when the constraint is active. Override for the number of solver position iterations to run, 0 means use the default in <a class="el" href="struct_physics_settings.html#a3724f8c1ef9269076dac93c4d7b7cfdb" title="Number of solver position iterations to run.">PhysicsSettings::mNumPositionSteps</a>. The number of iterations to use is the max of all contacts and constraints in the island. <br /></td></tr>
  168. <tr class="separator:a746a3c987f34f2573c0add9ddd56f390"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:ad2530947a5b0c4c24e965ab85fdf9ec8" id="r_ad2530947a5b0c4c24e965ab85fdf9ec8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2530947a5b0c4c24e965ab85fdf9ec8">GetNumPositionStepsOverride</a> () const</td></tr>
  170. <tr class="separator:ad2530947a5b0c4c24e965ab85fdf9ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:aa6621fbefd246003aece1e9be8a169cb" id="r_aa6621fbefd246003aece1e9be8a169cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6621fbefd246003aece1e9be8a169cb">SetEnabled</a> (bool inEnabled)</td></tr>
  172. <tr class="separator:aa6621fbefd246003aece1e9be8a169cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  173. <tr class="memitem:a2e0b8708469ecb3ea071c1b37ca8ea26" id="r_a2e0b8708469ecb3ea071c1b37ca8ea26"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e0b8708469ecb3ea071c1b37ca8ea26">GetEnabled</a> () const</td></tr>
  174. <tr class="memdesc:a2e0b8708469ecb3ea071c1b37ca8ea26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if a constraint is enabled. <br /></td></tr>
  175. <tr class="separator:a2e0b8708469ecb3ea071c1b37ca8ea26"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a51361e09906d05f85d341d1bad2cecd5" id="r_a51361e09906d05f85d341d1bad2cecd5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a51361e09906d05f85d341d1bad2cecd5">GetUserData</a> () const</td></tr>
  177. <tr class="memdesc:a51361e09906d05f85d341d1bad2cecd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the user data, can be used for anything by the application. <br /></td></tr>
  178. <tr class="separator:a51361e09906d05f85d341d1bad2cecd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a2e643bd3c3a9167c70037d3eb87acb75" id="r_a2e643bd3c3a9167c70037d3eb87acb75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e643bd3c3a9167c70037d3eb87acb75">SetUserData</a> (<a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> inUserData)</td></tr>
  180. <tr class="separator:a2e643bd3c3a9167c70037d3eb87acb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:a3072411d2c9da10356f2087cdc02ec70" id="r_a3072411d2c9da10356f2087cdc02ec70"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3072411d2c9da10356f2087cdc02ec70">NotifyShapeChanged</a> (const <a class="el" href="class_body_i_d.html">BodyID</a> &amp;inBodyID, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inDeltaCOM)=0</td></tr>
  182. <tr class="separator:a3072411d2c9da10356f2087cdc02ec70"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:af6f6f7bc9ec10dbaf721515b19241294" id="r_af6f6f7bc9ec10dbaf721515b19241294"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af6f6f7bc9ec10dbaf721515b19241294">ResetWarmStart</a> ()=0</td></tr>
  184. <tr class="separator:af6f6f7bc9ec10dbaf721515b19241294"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:af62388f6f234f8cd7d24af34e49180fd" id="r_af62388f6f234f8cd7d24af34e49180fd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af62388f6f234f8cd7d24af34e49180fd">BuildIslands</a> (<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inConstraintIndex, <a class="el" href="class_island_builder.html">IslandBuilder</a> &amp;ioBuilder, <a class="el" href="class_body_manager.html">BodyManager</a> &amp;inBodyManager)=0</td></tr>
  186. <tr class="memdesc:af62388f6f234f8cd7d24af34e49180fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Link bodies that are connected by this constraint in the island builder. <br /></td></tr>
  187. <tr class="separator:af62388f6f234f8cd7d24af34e49180fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:a6388265dbe8e1a92980d796006879798" id="r_a6388265dbe8e1a92980d796006879798"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6388265dbe8e1a92980d796006879798">BuildIslandSplits</a> (<a class="el" href="class_large_island_splitter.html">LargeIslandSplitter</a> &amp;ioSplitter) const =0</td></tr>
  189. <tr class="memdesc:a6388265dbe8e1a92980d796006879798"><td class="mdescLeft">&#160;</td><td class="mdescRight">Link bodies that are connected by this constraint in the same split. Returns the split index. <br /></td></tr>
  190. <tr class="separator:a6388265dbe8e1a92980d796006879798"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:acd05177b26e3251b1a9aff9dded18701" id="r_acd05177b26e3251b1a9aff9dded18701"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acd05177b26e3251b1a9aff9dded18701">DrawConstraint</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer) const =0</td></tr>
  192. <tr class="separator:acd05177b26e3251b1a9aff9dded18701"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:a528e67a83b796e469b10d5c473dc195f" id="r_a528e67a83b796e469b10d5c473dc195f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a528e67a83b796e469b10d5c473dc195f">DrawConstraintLimits</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer) const</td></tr>
  194. <tr class="separator:a528e67a83b796e469b10d5c473dc195f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr class="memitem:a9789129d9dcf3f78e84322b374d0a2c9" id="r_a9789129d9dcf3f78e84322b374d0a2c9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9789129d9dcf3f78e84322b374d0a2c9">DrawConstraintReferenceFrame</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer) const</td></tr>
  196. <tr class="separator:a9789129d9dcf3f78e84322b374d0a2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:a719b99d4d20e0c67d5412fb40a00ada3" id="r_a719b99d4d20e0c67d5412fb40a00ada3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a719b99d4d20e0c67d5412fb40a00ada3">GetDrawConstraintSize</a> () const</td></tr>
  198. <tr class="memdesc:a719b99d4d20e0c67d5412fb40a00ada3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of constraint when drawing it through the debug renderer. <br /></td></tr>
  199. <tr class="separator:a719b99d4d20e0c67d5412fb40a00ada3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:ae26efcf11518c9b1c2e15821ca7d8937" id="r_ae26efcf11518c9b1c2e15821ca7d8937"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae26efcf11518c9b1c2e15821ca7d8937">SetDrawConstraintSize</a> (float inSize)</td></tr>
  201. <tr class="separator:ae26efcf11518c9b1c2e15821ca7d8937"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:a829eb3dda397de5cc7a7799ce959cc8b" id="r_a829eb3dda397de5cc7a7799ce959cc8b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a829eb3dda397de5cc7a7799ce959cc8b">SaveState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &amp;inStream) const</td></tr>
  203. <tr class="memdesc:a829eb3dda397de5cc7a7799ce959cc8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saving state for replay. <br /></td></tr>
  204. <tr class="separator:a829eb3dda397de5cc7a7799ce959cc8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:a9a8b58f759bee231ebbfc7147041a0b7" id="r_a9a8b58f759bee231ebbfc7147041a0b7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9a8b58f759bee231ebbfc7147041a0b7">RestoreState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &amp;inStream)</td></tr>
  206. <tr class="memdesc:a9a8b58f759bee231ebbfc7147041a0b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restoring state for replay. <br /></td></tr>
  207. <tr class="separator:a9a8b58f759bee231ebbfc7147041a0b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:a2cb32f0fbbc03050fd09c975e01277d2" id="r_a2cb32f0fbbc03050fd09c975e01277d2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_ref.html">Ref</a>&lt; <a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2cb32f0fbbc03050fd09c975e01277d2">GetConstraintSettings</a> () const =0</td></tr>
  209. <tr class="memdesc:a2cb32f0fbbc03050fd09c975e01277d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Debug function to convert a constraint to its settings, note that this will not save to which bodies the constraint is connected to. <br /></td></tr>
  210. <tr class="separator:a2cb32f0fbbc03050fd09c975e01277d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  211. <tr><td colspan="2"><div class="groupHeader">Solver interface</div></td></tr>
  212. <tr class="memitem:a2181f0c1fdc1de4b22afcd42e1b2273a" id="r_a2181f0c1fdc1de4b22afcd42e1b2273a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2181f0c1fdc1de4b22afcd42e1b2273a">IsActive</a> () const</td></tr>
  213. <tr class="separator:a2181f0c1fdc1de4b22afcd42e1b2273a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:a175a388f9989341951507e08876fdf30" id="r_a175a388f9989341951507e08876fdf30"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a175a388f9989341951507e08876fdf30">SetupVelocityConstraint</a> (float inDeltaTime)=0</td></tr>
  215. <tr class="separator:a175a388f9989341951507e08876fdf30"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. <tr class="memitem:abb0ee6b5bf11fb8b8aeb45271b24f1a7" id="r_abb0ee6b5bf11fb8b8aeb45271b24f1a7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abb0ee6b5bf11fb8b8aeb45271b24f1a7">WarmStartVelocityConstraint</a> (float inWarmStartImpulseRatio)=0</td></tr>
  217. <tr class="separator:abb0ee6b5bf11fb8b8aeb45271b24f1a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:a30636bfbf85cd0898a8ee3c543bf675f" id="r_a30636bfbf85cd0898a8ee3c543bf675f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a30636bfbf85cd0898a8ee3c543bf675f">SolveVelocityConstraint</a> (float inDeltaTime)=0</td></tr>
  219. <tr class="separator:a30636bfbf85cd0898a8ee3c543bf675f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  220. <tr class="memitem:adeae5677da3f7d76ca6af382be14e4eb" id="r_adeae5677da3f7d76ca6af382be14e4eb"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adeae5677da3f7d76ca6af382be14e4eb">SolvePositionConstraint</a> (float inDeltaTime, float inBaumgarte)=0</td></tr>
  221. <tr class="separator:adeae5677da3f7d76ca6af382be14e4eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <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; Constraint &gt;</a></td></tr>
  223. <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>
  224. <tr class="memdesc:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  225. <tr class="separator:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. <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>
  227. <tr class="separator:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  228. <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>
  229. <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>
  230. <tr class="separator:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <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>
  232. <tr class="separator:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  233. <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>
  234. <tr class="memdesc:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br /></td></tr>
  235. <tr class="separator:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <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>
  237. <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>
  238. <tr class="separator:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. <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>
  240. <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>
  241. <tr class="separator:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  242. <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>
  243. <tr class="separator:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  244. <tr class="inherit_header pub_methods_class_non_copyable"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_non_copyable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_non_copyable.html">NonCopyable</a></td></tr>
  245. <tr class="memitem:a809b6e4ade7ae32f6d248f2a3b783d45 inherit pub_methods_class_non_copyable" id="r_a809b6e4ade7ae32f6d248f2a3b783d45"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_non_copyable.html#a809b6e4ade7ae32f6d248f2a3b783d45">NonCopyable</a> ()=default</td></tr>
  246. <tr class="separator:a809b6e4ade7ae32f6d248f2a3b783d45 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  247. <tr class="memitem:a501d34ffcc34b30de6d541887a901057 inherit pub_methods_class_non_copyable" id="r_a501d34ffcc34b30de6d541887a901057"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_non_copyable.html#a501d34ffcc34b30de6d541887a901057">NonCopyable</a> (const <a class="el" href="class_non_copyable.html">NonCopyable</a> &amp;)=delete</td></tr>
  248. <tr class="separator:a501d34ffcc34b30de6d541887a901057 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  249. <tr class="memitem:aaf9b12dcaae80c9d304df7a941d4e21f inherit pub_methods_class_non_copyable" id="r_aaf9b12dcaae80c9d304df7a941d4e21f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_non_copyable.html#aaf9b12dcaae80c9d304df7a941d4e21f">operator=</a> (const <a class="el" href="class_non_copyable.html">NonCopyable</a> &amp;)=delete</td></tr>
  250. <tr class="separator:aaf9b12dcaae80c9d304df7a941d4e21f inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  251. </table><table class="memberdecls">
  252. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
  253. Protected Member Functions</h2></td></tr>
  254. <tr class="memitem:aa117730922a803f0a12321bcd68583ab" id="r_aa117730922a803f0a12321bcd68583ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa117730922a803f0a12321bcd68583ab">ToConstraintSettings</a> (<a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &amp;outSettings) const</td></tr>
  255. <tr class="memdesc:aa117730922a803f0a12321bcd68583ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to copy settings back to constraint settings for this base class. <br /></td></tr>
  256. <tr class="separator:aa117730922a803f0a12321bcd68583ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
  257. </table><table class="memberdecls">
  258. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
  259. Protected Attributes</h2></td></tr>
  260. <tr class="memitem:af5f5c736eb3830ff27ec07200399dc46" id="r_af5f5c736eb3830ff27ec07200399dc46"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af5f5c736eb3830ff27ec07200399dc46">mDrawConstraintSize</a></td></tr>
  261. <tr class="memdesc:af5f5c736eb3830ff27ec07200399dc46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of constraint when drawing it through the debug renderer. <br /></td></tr>
  262. <tr class="separator:af5f5c736eb3830ff27ec07200399dc46"><td class="memSeparator" colspan="2">&#160;</td></tr>
  263. <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; Constraint &gt;</a></td></tr>
  264. <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>
  265. <tr class="memdesc:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current reference count. <br /></td></tr>
  266. <tr class="separator:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  267. </table><table class="memberdecls">
  268. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
  269. Friends</h2></td></tr>
  270. <tr class="memitem:ad0bf54a2be7863a42cdd8ee748f89582" id="r_ad0bf54a2be7863a42cdd8ee748f89582"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad0bf54a2be7863a42cdd8ee748f89582">ConstraintManager</a></td></tr>
  271. <tr class="separator:ad0bf54a2be7863a42cdd8ee748f89582"><td class="memSeparator" colspan="2">&#160;</td></tr>
  272. </table><table class="memberdecls">
  273. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
  274. Additional Inherited Members</h2></td></tr>
  275. <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; Constraint &gt;</a></td></tr>
  276. <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>
  277. <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>
  278. <tr class="separator:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  279. <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; Constraint &gt;</a></td></tr>
  280. <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>
  281. <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>
  282. <tr class="separator:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  283. </table>
  284. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  285. <div class="textblock"><p>Base class for all physics constraints. A constraint removes one or more degrees of freedom for a rigid body. </p>
  286. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  287. <a id="ae16420a87c4410ab9586397805c909bb" name="ae16420a87c4410ab9586397805c909bb"></a>
  288. <h2 class="memtitle"><span class="permalink"><a href="#ae16420a87c4410ab9586397805c909bb">&#9670;&#160;</a></span>Constraint()</h2>
  289. <div class="memitem">
  290. <div class="memproto">
  291. <table class="mlabels">
  292. <tr>
  293. <td class="mlabels-left">
  294. <table class="memname">
  295. <tr>
  296. <td class="memname"><a class="el" href="_memory_8h.html#a91074fb218fe28954a0938c099ddd9e0">JPH_OVERRIDE_NEW_DELETE</a> Constraint::Constraint </td>
  297. <td>(</td>
  298. <td class="paramtype">const <a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSettings</em></span></td><td>)</td>
  299. <td></td>
  300. </tr>
  301. </table>
  302. </td>
  303. <td class="mlabels-right">
  304. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
  305. </tr>
  306. </table>
  307. </div><div class="memdoc">
  308. <p>Constructor. </p>
  309. </div>
  310. </div>
  311. <a id="a1608cc2c7d701d0e9dbcb5656d5845bb" name="a1608cc2c7d701d0e9dbcb5656d5845bb"></a>
  312. <h2 class="memtitle"><span class="permalink"><a href="#a1608cc2c7d701d0e9dbcb5656d5845bb">&#9670;&#160;</a></span>~Constraint()</h2>
  313. <div class="memitem">
  314. <div class="memproto">
  315. <table class="mlabels">
  316. <tr>
  317. <td class="mlabels-left">
  318. <table class="memname">
  319. <tr>
  320. <td class="memname">virtual Constraint::~Constraint </td>
  321. <td>(</td>
  322. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  323. <td></td>
  324. </tr>
  325. </table>
  326. </td>
  327. <td class="mlabels-right">
  328. <span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
  329. </tr>
  330. </table>
  331. </div><div class="memdoc">
  332. <p>Virtual destructor. </p>
  333. </div>
  334. </div>
  335. <h2 class="groupheader">Member Function Documentation</h2>
  336. <a id="af62388f6f234f8cd7d24af34e49180fd" name="af62388f6f234f8cd7d24af34e49180fd"></a>
  337. <h2 class="memtitle"><span class="permalink"><a href="#af62388f6f234f8cd7d24af34e49180fd">&#9670;&#160;</a></span>BuildIslands()</h2>
  338. <div class="memitem">
  339. <div class="memproto">
  340. <table class="mlabels">
  341. <tr>
  342. <td class="mlabels-left">
  343. <table class="memname">
  344. <tr>
  345. <td class="memname">virtual void Constraint::BuildIslands </td>
  346. <td>(</td>
  347. <td class="paramtype"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a></td> <td class="paramname"><span class="paramname"><em>inConstraintIndex</em></span>, </td>
  348. </tr>
  349. <tr>
  350. <td class="paramkey"></td>
  351. <td></td>
  352. <td class="paramtype"><a class="el" href="class_island_builder.html">IslandBuilder</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioBuilder</em></span>, </td>
  353. </tr>
  354. <tr>
  355. <td class="paramkey"></td>
  356. <td></td>
  357. <td class="paramtype"><a class="el" href="class_body_manager.html">BodyManager</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inBodyManager</em></span>&#160;)</td>
  358. </tr>
  359. </table>
  360. </td>
  361. <td class="mlabels-right">
  362. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  363. </tr>
  364. </table>
  365. </div><div class="memdoc">
  366. <p>Link bodies that are connected by this constraint in the island builder. </p>
  367. <p>Implemented in <a class="el" href="class_two_body_constraint.html#ae5b2ede88a6180a8bff9fe873ff38619">TwoBodyConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#ad04e72e964c227c63e9c2c264de269c9">VehicleConstraint</a>.</p>
  368. </div>
  369. </div>
  370. <a id="a6388265dbe8e1a92980d796006879798" name="a6388265dbe8e1a92980d796006879798"></a>
  371. <h2 class="memtitle"><span class="permalink"><a href="#a6388265dbe8e1a92980d796006879798">&#9670;&#160;</a></span>BuildIslandSplits()</h2>
  372. <div class="memitem">
  373. <div class="memproto">
  374. <table class="mlabels">
  375. <tr>
  376. <td class="mlabels-left">
  377. <table class="memname">
  378. <tr>
  379. <td class="memname">virtual <a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> Constraint::BuildIslandSplits </td>
  380. <td>(</td>
  381. <td class="paramtype"><a class="el" href="class_large_island_splitter.html">LargeIslandSplitter</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioSplitter</em></span></td><td>)</td>
  382. <td> const</td>
  383. </tr>
  384. </table>
  385. </td>
  386. <td class="mlabels-right">
  387. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  388. </tr>
  389. </table>
  390. </div><div class="memdoc">
  391. <p>Link bodies that are connected by this constraint in the same split. Returns the split index. </p>
  392. <p>Implemented in <a class="el" href="class_two_body_constraint.html#a19ff8913100799b94972336188ed7c7f">TwoBodyConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a3e1637cfc4d982db7ba9116da7986adf">VehicleConstraint</a>.</p>
  393. </div>
  394. </div>
  395. <a id="acd05177b26e3251b1a9aff9dded18701" name="acd05177b26e3251b1a9aff9dded18701"></a>
  396. <h2 class="memtitle"><span class="permalink"><a href="#acd05177b26e3251b1a9aff9dded18701">&#9670;&#160;</a></span>DrawConstraint()</h2>
  397. <div class="memitem">
  398. <div class="memproto">
  399. <table class="mlabels">
  400. <tr>
  401. <td class="mlabels-left">
  402. <table class="memname">
  403. <tr>
  404. <td class="memname">virtual void Constraint::DrawConstraint </td>
  405. <td>(</td>
  406. <td class="paramtype"><a class="el" href="class_debug_renderer.html">DebugRenderer</a> *</td> <td class="paramname"><span class="paramname"><em>inRenderer</em></span></td><td>)</td>
  407. <td> const</td>
  408. </tr>
  409. </table>
  410. </td>
  411. <td class="mlabels-right">
  412. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  413. </tr>
  414. </table>
  415. </div><div class="memdoc">
  416. <p>Implemented in <a class="el" href="class_cone_constraint.html#ab5002a97909c7f2c8d4b7b589ee93a46">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a77a9f420d8b2e91f852af61cbcecceb0">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#afebbb16e9900672eebfcfa9d10e01b5b">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#a235385454fa5996217ddd2f7085f47d5">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#ab73c3ac05525ab37e8dd8875ce74ac74">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a538c03ec9bda5767332e77595d1dab9c">PathConstraint</a>, <a class="el" href="class_point_constraint.html#ab49bd368d3d5042348299f4bf76dd6d7">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a7ae0d37c406ebdf990d0596028945409">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a69a8d281fdc1f250625d718dabbc18ed">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a3e482be52b58ddefa10fd4fe941b4e79">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a09317cd6ab2f56cb7a15a950a420f5f8">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#a7ac554fd24b5b89297f13405808991a6">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#af2493620d3e9d960b3cbf0641c182251">VehicleConstraint</a>.</p>
  417. </div>
  418. </div>
  419. <a id="a528e67a83b796e469b10d5c473dc195f" name="a528e67a83b796e469b10d5c473dc195f"></a>
  420. <h2 class="memtitle"><span class="permalink"><a href="#a528e67a83b796e469b10d5c473dc195f">&#9670;&#160;</a></span>DrawConstraintLimits()</h2>
  421. <div class="memitem">
  422. <div class="memproto">
  423. <table class="mlabels">
  424. <tr>
  425. <td class="mlabels-left">
  426. <table class="memname">
  427. <tr>
  428. <td class="memname">virtual void Constraint::DrawConstraintLimits </td>
  429. <td>(</td>
  430. <td class="paramtype"><a class="el" href="class_debug_renderer.html">DebugRenderer</a> *</td> <td class="paramname"><span class="paramname"><em>inRenderer</em></span></td><td>)</td>
  431. <td> const</td>
  432. </tr>
  433. </table>
  434. </td>
  435. <td class="mlabels-right">
  436. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  437. </tr>
  438. </table>
  439. </div><div class="memdoc">
  440. <p>Reimplemented in <a class="el" href="class_cone_constraint.html#ab9c5d6d9a767242a2d593d5592ca83e2">ConeConstraint</a>, <a class="el" href="class_hinge_constraint.html#a7fbe9f4f52961a1fa196122c735249d7">HingeConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#ad7cf9ea81cc6d05443936cff5f9f63e0">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#ae1378d973e0d535040c6bb36eb368dc5">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#a820235859442463871552b2f24eaf499">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#aa5ecf61104253599b367ce944f9a3dba">VehicleConstraint</a>.</p>
  441. </div>
  442. </div>
  443. <a id="a9789129d9dcf3f78e84322b374d0a2c9" name="a9789129d9dcf3f78e84322b374d0a2c9"></a>
  444. <h2 class="memtitle"><span class="permalink"><a href="#a9789129d9dcf3f78e84322b374d0a2c9">&#9670;&#160;</a></span>DrawConstraintReferenceFrame()</h2>
  445. <div class="memitem">
  446. <div class="memproto">
  447. <table class="mlabels">
  448. <tr>
  449. <td class="mlabels-left">
  450. <table class="memname">
  451. <tr>
  452. <td class="memname">virtual void Constraint::DrawConstraintReferenceFrame </td>
  453. <td>(</td>
  454. <td class="paramtype"><a class="el" href="class_debug_renderer.html">DebugRenderer</a> *</td> <td class="paramname"><span class="paramname"><em>inRenderer</em></span></td><td>)</td>
  455. <td> const</td>
  456. </tr>
  457. </table>
  458. </td>
  459. <td class="mlabels-right">
  460. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  461. </tr>
  462. </table>
  463. </div><div class="memdoc">
  464. <p>Reimplemented in <a class="el" href="class_two_body_constraint.html#aab88ca80622557a5a14cbc1f2e6d0ec0">TwoBodyConstraint</a>.</p>
  465. </div>
  466. </div>
  467. <a id="a6c75250d651da3854eda9e929193e585" name="a6c75250d651da3854eda9e929193e585"></a>
  468. <h2 class="memtitle"><span class="permalink"><a href="#a6c75250d651da3854eda9e929193e585">&#9670;&#160;</a></span>GetConstraintPriority()</h2>
  469. <div class="memitem">
  470. <div class="memproto">
  471. <table class="mlabels">
  472. <tr>
  473. <td class="mlabels-left">
  474. <table class="memname">
  475. <tr>
  476. <td class="memname"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> Constraint::GetConstraintPriority </td>
  477. <td>(</td>
  478. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  479. <td> const</td>
  480. </tr>
  481. </table>
  482. </td>
  483. <td class="mlabels-right">
  484. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  485. </tr>
  486. </table>
  487. </div><div class="memdoc">
  488. <p>Priority of the constraint when solving. Higher numbers have are more likely to be solved correctly. Note that if you want a deterministic simulation and you cannot guarantee the order in which constraints are added/removed, you can make the priority for all constraints unique to get a deterministic ordering. </p>
  489. </div>
  490. </div>
  491. <a id="a2cb32f0fbbc03050fd09c975e01277d2" name="a2cb32f0fbbc03050fd09c975e01277d2"></a>
  492. <h2 class="memtitle"><span class="permalink"><a href="#a2cb32f0fbbc03050fd09c975e01277d2">&#9670;&#160;</a></span>GetConstraintSettings()</h2>
  493. <div class="memitem">
  494. <div class="memproto">
  495. <table class="mlabels">
  496. <tr>
  497. <td class="mlabels-left">
  498. <table class="memname">
  499. <tr>
  500. <td class="memname">virtual <a class="el" href="class_ref.html">Ref</a>&lt; <a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &gt; Constraint::GetConstraintSettings </td>
  501. <td>(</td>
  502. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  503. <td> const</td>
  504. </tr>
  505. </table>
  506. </td>
  507. <td class="mlabels-right">
  508. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  509. </tr>
  510. </table>
  511. </div><div class="memdoc">
  512. <p>Debug function to convert a constraint to its settings, note that this will not save to which bodies the constraint is connected to. </p>
  513. <p>Implemented in <a class="el" href="class_cone_constraint.html#aa88d6b874c14c0bfb2d435100fef4c04">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#adaee116897c67e802f2c294c44df106d">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#a038968466ddd1ca74b02572145a7a7dc">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#a43c6cb408e182a507528fc2397480a62">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#aba9c90a3d3565e738758d6ee5b17dcba">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a88bfac1b3c744a15f78dbce0d31a4b08">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a8214c8380eabc71845572309a3f49f53">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a56ea0bb8295e74fff225c54325df0bb4">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#ade013a7ea7be65d4d9001e852ff4782d">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#aec39d055e72169c5f805a00c16b12ff1">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a79e425837bce0b6d9955ce61fba14c43">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#ad3c1a46d28973d5ce39917aa2b7a32b0">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#af953060386f731482956bb772840262c">VehicleConstraint</a>.</p>
  514. </div>
  515. </div>
  516. <a id="a719b99d4d20e0c67d5412fb40a00ada3" name="a719b99d4d20e0c67d5412fb40a00ada3"></a>
  517. <h2 class="memtitle"><span class="permalink"><a href="#a719b99d4d20e0c67d5412fb40a00ada3">&#9670;&#160;</a></span>GetDrawConstraintSize()</h2>
  518. <div class="memitem">
  519. <div class="memproto">
  520. <table class="mlabels">
  521. <tr>
  522. <td class="mlabels-left">
  523. <table class="memname">
  524. <tr>
  525. <td class="memname">float Constraint::GetDrawConstraintSize </td>
  526. <td>(</td>
  527. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  528. <td> const</td>
  529. </tr>
  530. </table>
  531. </td>
  532. <td class="mlabels-right">
  533. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  534. </tr>
  535. </table>
  536. </div><div class="memdoc">
  537. <p>Size of constraint when drawing it through the debug renderer. </p>
  538. </div>
  539. </div>
  540. <a id="a2e0b8708469ecb3ea071c1b37ca8ea26" name="a2e0b8708469ecb3ea071c1b37ca8ea26"></a>
  541. <h2 class="memtitle"><span class="permalink"><a href="#a2e0b8708469ecb3ea071c1b37ca8ea26">&#9670;&#160;</a></span>GetEnabled()</h2>
  542. <div class="memitem">
  543. <div class="memproto">
  544. <table class="mlabels">
  545. <tr>
  546. <td class="mlabels-left">
  547. <table class="memname">
  548. <tr>
  549. <td class="memname">bool Constraint::GetEnabled </td>
  550. <td>(</td>
  551. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  552. <td> const</td>
  553. </tr>
  554. </table>
  555. </td>
  556. <td class="mlabels-right">
  557. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  558. </tr>
  559. </table>
  560. </div><div class="memdoc">
  561. <p>Test if a constraint is enabled. </p>
  562. </div>
  563. </div>
  564. <a id="ad2530947a5b0c4c24e965ab85fdf9ec8" name="ad2530947a5b0c4c24e965ab85fdf9ec8"></a>
  565. <h2 class="memtitle"><span class="permalink"><a href="#ad2530947a5b0c4c24e965ab85fdf9ec8">&#9670;&#160;</a></span>GetNumPositionStepsOverride()</h2>
  566. <div class="memitem">
  567. <div class="memproto">
  568. <table class="mlabels">
  569. <tr>
  570. <td class="mlabels-left">
  571. <table class="memname">
  572. <tr>
  573. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> Constraint::GetNumPositionStepsOverride </td>
  574. <td>(</td>
  575. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  576. <td> const</td>
  577. </tr>
  578. </table>
  579. </td>
  580. <td class="mlabels-right">
  581. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  582. </tr>
  583. </table>
  584. </div><div class="memdoc">
  585. </div>
  586. </div>
  587. <a id="a56624d10dcf6dd18fa8903897fcc2a03" name="a56624d10dcf6dd18fa8903897fcc2a03"></a>
  588. <h2 class="memtitle"><span class="permalink"><a href="#a56624d10dcf6dd18fa8903897fcc2a03">&#9670;&#160;</a></span>GetNumVelocityStepsOverride()</h2>
  589. <div class="memitem">
  590. <div class="memproto">
  591. <table class="mlabels">
  592. <tr>
  593. <td class="mlabels-left">
  594. <table class="memname">
  595. <tr>
  596. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> Constraint::GetNumVelocityStepsOverride </td>
  597. <td>(</td>
  598. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  599. <td> const</td>
  600. </tr>
  601. </table>
  602. </td>
  603. <td class="mlabels-right">
  604. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  605. </tr>
  606. </table>
  607. </div><div class="memdoc">
  608. </div>
  609. </div>
  610. <a id="a632a8161ad49c443c2e3a8b600a730a1" name="a632a8161ad49c443c2e3a8b600a730a1"></a>
  611. <h2 class="memtitle"><span class="permalink"><a href="#a632a8161ad49c443c2e3a8b600a730a1">&#9670;&#160;</a></span>GetSubType()</h2>
  612. <div class="memitem">
  613. <div class="memproto">
  614. <table class="mlabels">
  615. <tr>
  616. <td class="mlabels-left">
  617. <table class="memname">
  618. <tr>
  619. <td class="memname">virtual <a class="el" href="_constraint_8h.html#adfc8350888df0c3a51714b7f372baf2d">EConstraintSubType</a> Constraint::GetSubType </td>
  620. <td>(</td>
  621. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  622. <td> const</td>
  623. </tr>
  624. </table>
  625. </td>
  626. <td class="mlabels-right">
  627. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  628. </tr>
  629. </table>
  630. </div><div class="memdoc">
  631. <p>Get the sub type of a constraint. </p>
  632. <p>Implemented in <a class="el" href="class_cone_constraint.html#a174c2fdca09d8ceddbf14f71384791b7">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#aca72385bb8b1dede13ca841681e37cae">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#ae4a226e769a4bab140f41f72a2aff9b5">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#ad760c5afd1f0a52d595b4788247d892c">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#ac6c68736fa26f85a973b0aa95daa7674">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a73052367b302ac8b30a9505aa1901795">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a0993bfa066a32b159d45cf54b346163f">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a175acacfe8fcc7518a90d7b29e0ad8eb">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#ae8c15998c1efe563c3153b27c58ab87a">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#ae13f824a4eddf95835fdeffe61c7ffba">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a4655336347868e54cf484f9f43a830fe">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#a259cdffe333947fb29e1455619b81dd5">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a989fc35253ed8da61981107b0fc19fba">VehicleConstraint</a>.</p>
  633. </div>
  634. </div>
  635. <a id="a6e290088c6049b1f1d1fb26df96dce3a" name="a6e290088c6049b1f1d1fb26df96dce3a"></a>
  636. <h2 class="memtitle"><span class="permalink"><a href="#a6e290088c6049b1f1d1fb26df96dce3a">&#9670;&#160;</a></span>GetType()</h2>
  637. <div class="memitem">
  638. <div class="memproto">
  639. <table class="mlabels">
  640. <tr>
  641. <td class="mlabels-left">
  642. <table class="memname">
  643. <tr>
  644. <td class="memname">virtual <a class="el" href="_constraint_8h.html#a2a4cc5b25efd5f8862f80eb2f5fcdc47">EConstraintType</a> Constraint::GetType </td>
  645. <td>(</td>
  646. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  647. <td> const</td>
  648. </tr>
  649. </table>
  650. </td>
  651. <td class="mlabels-right">
  652. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  653. </tr>
  654. </table>
  655. </div><div class="memdoc">
  656. <p>Get the type of a constraint. </p>
  657. <p>Reimplemented in <a class="el" href="class_two_body_constraint.html#a25655ebd463476c1ada660d3a292d3c7">TwoBodyConstraint</a>.</p>
  658. </div>
  659. </div>
  660. <a id="a51361e09906d05f85d341d1bad2cecd5" name="a51361e09906d05f85d341d1bad2cecd5"></a>
  661. <h2 class="memtitle"><span class="permalink"><a href="#a51361e09906d05f85d341d1bad2cecd5">&#9670;&#160;</a></span>GetUserData()</h2>
  662. <div class="memitem">
  663. <div class="memproto">
  664. <table class="mlabels">
  665. <tr>
  666. <td class="mlabels-left">
  667. <table class="memname">
  668. <tr>
  669. <td class="memname"><a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> Constraint::GetUserData </td>
  670. <td>(</td>
  671. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  672. <td> const</td>
  673. </tr>
  674. </table>
  675. </td>
  676. <td class="mlabels-right">
  677. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  678. </tr>
  679. </table>
  680. </div><div class="memdoc">
  681. <p>Access to the user data, can be used for anything by the application. </p>
  682. </div>
  683. </div>
  684. <a id="a2181f0c1fdc1de4b22afcd42e1b2273a" name="a2181f0c1fdc1de4b22afcd42e1b2273a"></a>
  685. <h2 class="memtitle"><span class="permalink"><a href="#a2181f0c1fdc1de4b22afcd42e1b2273a">&#9670;&#160;</a></span>IsActive()</h2>
  686. <div class="memitem">
  687. <div class="memproto">
  688. <table class="mlabels">
  689. <tr>
  690. <td class="mlabels-left">
  691. <table class="memname">
  692. <tr>
  693. <td class="memname">virtual bool Constraint::IsActive </td>
  694. <td>(</td>
  695. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  696. <td> const</td>
  697. </tr>
  698. </table>
  699. </td>
  700. <td class="mlabels-right">
  701. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
  702. </tr>
  703. </table>
  704. </div><div class="memdoc">
  705. <p>Reimplemented in <a class="el" href="class_path_constraint.html#a5f6d3c7d860ee5c715f8fef818fd4f1f">PathConstraint</a>, <a class="el" href="class_two_body_constraint.html#a9ec4e14ada31bf5172141c2d50663e76">TwoBodyConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a44c4c794a9bc8e0812e72ee67644418e">VehicleConstraint</a>.</p>
  706. </div>
  707. </div>
  708. <a id="a3072411d2c9da10356f2087cdc02ec70" name="a3072411d2c9da10356f2087cdc02ec70"></a>
  709. <h2 class="memtitle"><span class="permalink"><a href="#a3072411d2c9da10356f2087cdc02ec70">&#9670;&#160;</a></span>NotifyShapeChanged()</h2>
  710. <div class="memitem">
  711. <div class="memproto">
  712. <table class="mlabels">
  713. <tr>
  714. <td class="mlabels-left">
  715. <table class="memname">
  716. <tr>
  717. <td class="memname">virtual void Constraint::NotifyShapeChanged </td>
  718. <td>(</td>
  719. <td class="paramtype">const <a class="el" href="class_body_i_d.html">BodyID</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inBodyID</em></span>, </td>
  720. </tr>
  721. <tr>
  722. <td class="paramkey"></td>
  723. <td></td>
  724. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inDeltaCOM</em></span>&#160;)</td>
  725. </tr>
  726. </table>
  727. </td>
  728. <td class="mlabels-right">
  729. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  730. </tr>
  731. </table>
  732. </div><div class="memdoc">
  733. <p>Notify the constraint that the shape of a body has changed and that its center of mass has moved by inDeltaCOM. Bodies don't know which constraints are connected to them so the user is responsible for notifying the relevant constraints when a body changes. </p><dl class="params"><dt>Parameters</dt><dd>
  734. <table class="params">
  735. <tr><td class="paramname">inBodyID</td><td>ID of the body that has changed </td></tr>
  736. <tr><td class="paramname">inDeltaCOM</td><td>The delta of the center of mass of the body (shape-&gt;GetCenterOfMass() - shape_before_change-&gt;GetCenterOfMass()) </td></tr>
  737. </table>
  738. </dd>
  739. </dl>
  740. <p>Implemented in <a class="el" href="class_cone_constraint.html#a59b0a0be6774c77193b8209b6be988f2">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#aa6ac58843c176b849972406a38f50c89">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#a2c3cfcfafdde98e5cc2ef15e300edbce">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#a16af2cebb97b81fb5d7061a810f22bd7">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#ab9dd0d5de72165fcb15b85d02308213a">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#ae10bed0a11582fbe738f8339aa1257d5">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a988ec795ba7e071d1cd256afc5edd6cf">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#abf1f2d838a54008edca4ee2a907ac0f6">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#ae5158af0c72fb1b412c1b17a2f8389aa">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a7da40332bca888038baa167dc1cb0d8b">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a13363a2168538544705cff396e1eab28">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#ab510d96b7f9f7df51cea9b2400474db4">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#ac3df25ba1e2c0a85e46a1b93702155cf">VehicleConstraint</a>.</p>
  741. </div>
  742. </div>
  743. <a id="af6f6f7bc9ec10dbaf721515b19241294" name="af6f6f7bc9ec10dbaf721515b19241294"></a>
  744. <h2 class="memtitle"><span class="permalink"><a href="#af6f6f7bc9ec10dbaf721515b19241294">&#9670;&#160;</a></span>ResetWarmStart()</h2>
  745. <div class="memitem">
  746. <div class="memproto">
  747. <table class="mlabels">
  748. <tr>
  749. <td class="mlabels-left">
  750. <table class="memname">
  751. <tr>
  752. <td class="memname">virtual void Constraint::ResetWarmStart </td>
  753. <td>(</td>
  754. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  755. <td></td>
  756. </tr>
  757. </table>
  758. </td>
  759. <td class="mlabels-right">
  760. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  761. </tr>
  762. </table>
  763. </div><div class="memdoc">
  764. <p>Notify the system that the configuration of the bodies and/or constraint has changed enough so that the warm start impulses should not be applied the next frame. You can use this function for example when repositioning a ragdoll through <a class="el" href="class_ragdoll.html#a535e76f7fb7bfee484d82570a3066ae7" title="Set the ragdoll to a pose (calls BodyInterface::SetPositionAndRotation to instantly move the ragdoll)">Ragdoll::SetPose</a> in such a way that the orientation of the bodies completely changes so that the previous frame impulses are no longer a good approximation of what the impulses will be in the next frame. Calling this function when there are no big changes will result in the constraints being much 'softer' than usual so they are more easily violated (e.g. a long chain of bodies might sag a bit if you call this every frame). </p>
  765. <p>Implemented in <a class="el" href="class_cone_constraint.html#a3de043a81f61d8f612ee14b0e291ea9e">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a4850e4925b8de521c4afe351e28d0b2d">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#a4e7dbb8d017aefe0771a27bc9682e009">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#afac138625fdede0bd0c4775edc103878">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#aa6308f0b4983d8bfb2e835fea7cc28b7">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a2c947e294a99cdf061c2dc30447dcfba">PathConstraint</a>, <a class="el" href="class_point_constraint.html#acca5a66c0b39fad225a1fb938e96a4e5">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#aca6c3e82e979de7352e26afd14f5e277">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a5c14ca07f19abd4066e7b49d8be0f5b5">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a22c691917ea1c5166f4ea7cd6a00219f">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a754215fb80385dc95d64c59c73443b20">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#af008b3e7de0f788907050c45101f1620">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a181b7955873518cae4b3a1b5f23979d5">VehicleConstraint</a>.</p>
  766. </div>
  767. </div>
  768. <a id="a9a8b58f759bee231ebbfc7147041a0b7" name="a9a8b58f759bee231ebbfc7147041a0b7"></a>
  769. <h2 class="memtitle"><span class="permalink"><a href="#a9a8b58f759bee231ebbfc7147041a0b7">&#9670;&#160;</a></span>RestoreState()</h2>
  770. <div class="memitem">
  771. <div class="memproto">
  772. <table class="mlabels">
  773. <tr>
  774. <td class="mlabels-left">
  775. <table class="memname">
  776. <tr>
  777. <td class="memname">void Constraint::RestoreState </td>
  778. <td>(</td>
  779. <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
  780. <td></td>
  781. </tr>
  782. </table>
  783. </td>
  784. <td class="mlabels-right">
  785. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  786. </tr>
  787. </table>
  788. </div><div class="memdoc">
  789. <p>Restoring state for replay. </p>
  790. <p>Reimplemented in <a class="el" href="class_cone_constraint.html#a1f9682febf21f688361448462dbe785c">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a748c652cfab4475e85d97ed4caf42c79">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#acf092e49dff8f3e45c4a315924ace105">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#acdb35bebda74e178f96d516277dda140">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#ab511231f1d1c0ea20d9d7e9a3d996091">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#ae404de8c3ac283d010ca1e0f637873f1">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a69f08d8239b0202d27429f0ca15de580">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a292df1ddeb2b9ec1ff7c96f3742c81f7">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a466997d9cdcd2cae27eca964faa5ebd3">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a816d37d27455acd262a58e565445ba8d">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a9512c8658bafebac41965f0e5d8b0377">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#ab8a66fa8ace006007551e20f26859e60">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a2d36c8bcd57ab5136e962bd03f1992e8">VehicleConstraint</a>.</p>
  791. </div>
  792. </div>
  793. <a id="a829eb3dda397de5cc7a7799ce959cc8b" name="a829eb3dda397de5cc7a7799ce959cc8b"></a>
  794. <h2 class="memtitle"><span class="permalink"><a href="#a829eb3dda397de5cc7a7799ce959cc8b">&#9670;&#160;</a></span>SaveState()</h2>
  795. <div class="memitem">
  796. <div class="memproto">
  797. <table class="mlabels">
  798. <tr>
  799. <td class="mlabels-left">
  800. <table class="memname">
  801. <tr>
  802. <td class="memname">void Constraint::SaveState </td>
  803. <td>(</td>
  804. <td class="paramtype"><a class="el" href="class_state_recorder.html">StateRecorder</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
  805. <td> const</td>
  806. </tr>
  807. </table>
  808. </td>
  809. <td class="mlabels-right">
  810. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  811. </tr>
  812. </table>
  813. </div><div class="memdoc">
  814. <p>Saving state for replay. </p>
  815. <p>Reimplemented in <a class="el" href="class_cone_constraint.html#a754754ea8cf871ed812f27bed021fbc9">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a8220e4b735572de4324c0cd1a181150f">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#ae23ae7de219a75c7d80d0e9b8af6ea2c">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#a31f12343d049e8c9a48136bb1a103b73">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#a5a0a5235be47dfd889f89a4651f36993">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a488ab67aba069c0fa0c81194afc74bd1">PathConstraint</a>, <a class="el" href="class_point_constraint.html#aa6743d4f861f34b303b5bddadb3157d9">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#ac37299bf924b5d34e41c8a51c621906a">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a7af920eb7de9a8e52f80b2ca386fb8a5">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#ad6062bc0bb66d6bfa9a57e6e4e62fefa">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a7025971cdb5e449293df12e2f4f56e97">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#aee888f6c281abbbccc3e33d108716824">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a6bdcc90af7d830f5821534d34be01ff7">VehicleConstraint</a>.</p>
  816. </div>
  817. </div>
  818. <a id="a4b32ce7efd330ecf878f8ace4e0dd151" name="a4b32ce7efd330ecf878f8ace4e0dd151"></a>
  819. <h2 class="memtitle"><span class="permalink"><a href="#a4b32ce7efd330ecf878f8ace4e0dd151">&#9670;&#160;</a></span>SetConstraintPriority()</h2>
  820. <div class="memitem">
  821. <div class="memproto">
  822. <table class="mlabels">
  823. <tr>
  824. <td class="mlabels-left">
  825. <table class="memname">
  826. <tr>
  827. <td class="memname">void Constraint::SetConstraintPriority </td>
  828. <td>(</td>
  829. <td class="paramtype"><a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a></td> <td class="paramname"><span class="paramname"><em>inPriority</em></span></td><td>)</td>
  830. <td></td>
  831. </tr>
  832. </table>
  833. </td>
  834. <td class="mlabels-right">
  835. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  836. </tr>
  837. </table>
  838. </div><div class="memdoc">
  839. </div>
  840. </div>
  841. <a id="ae26efcf11518c9b1c2e15821ca7d8937" name="ae26efcf11518c9b1c2e15821ca7d8937"></a>
  842. <h2 class="memtitle"><span class="permalink"><a href="#ae26efcf11518c9b1c2e15821ca7d8937">&#9670;&#160;</a></span>SetDrawConstraintSize()</h2>
  843. <div class="memitem">
  844. <div class="memproto">
  845. <table class="mlabels">
  846. <tr>
  847. <td class="mlabels-left">
  848. <table class="memname">
  849. <tr>
  850. <td class="memname">void Constraint::SetDrawConstraintSize </td>
  851. <td>(</td>
  852. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inSize</em></span></td><td>)</td>
  853. <td></td>
  854. </tr>
  855. </table>
  856. </td>
  857. <td class="mlabels-right">
  858. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  859. </tr>
  860. </table>
  861. </div><div class="memdoc">
  862. </div>
  863. </div>
  864. <a id="aa6621fbefd246003aece1e9be8a169cb" name="aa6621fbefd246003aece1e9be8a169cb"></a>
  865. <h2 class="memtitle"><span class="permalink"><a href="#aa6621fbefd246003aece1e9be8a169cb">&#9670;&#160;</a></span>SetEnabled()</h2>
  866. <div class="memitem">
  867. <div class="memproto">
  868. <table class="mlabels">
  869. <tr>
  870. <td class="mlabels-left">
  871. <table class="memname">
  872. <tr>
  873. <td class="memname">void Constraint::SetEnabled </td>
  874. <td>(</td>
  875. <td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>inEnabled</em></span></td><td>)</td>
  876. <td></td>
  877. </tr>
  878. </table>
  879. </td>
  880. <td class="mlabels-right">
  881. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  882. </tr>
  883. </table>
  884. </div><div class="memdoc">
  885. <p>Enable / disable this constraint. This can e.g. be used to implement a breakable constraint by detecting that the constraint impulse (see e.g. <a class="el" href="class_point_constraint.html#a393464647f68f5dbfcdb034b00d4b1d1">PointConstraint::GetTotalLambdaPosition</a>) went over a certain limit and then disabling the constraint. Note that although a disabled constraint will not affect the simulation in any way anymore, it does incur some processing overhead. Alternatively you can remove a constraint from the constraint manager (which may be more costly if you want to disable the constraint for a short while). </p>
  886. </div>
  887. </div>
  888. <a id="a746a3c987f34f2573c0add9ddd56f390" name="a746a3c987f34f2573c0add9ddd56f390"></a>
  889. <h2 class="memtitle"><span class="permalink"><a href="#a746a3c987f34f2573c0add9ddd56f390">&#9670;&#160;</a></span>SetNumPositionStepsOverride()</h2>
  890. <div class="memitem">
  891. <div class="memproto">
  892. <table class="mlabels">
  893. <tr>
  894. <td class="mlabels-left">
  895. <table class="memname">
  896. <tr>
  897. <td class="memname">void Constraint::SetNumPositionStepsOverride </td>
  898. <td>(</td>
  899. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inN</em></span></td><td>)</td>
  900. <td></td>
  901. </tr>
  902. </table>
  903. </td>
  904. <td class="mlabels-right">
  905. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  906. </tr>
  907. </table>
  908. </div><div class="memdoc">
  909. <p>Used only when the constraint is active. Override for the number of solver position iterations to run, 0 means use the default in <a class="el" href="struct_physics_settings.html#a3724f8c1ef9269076dac93c4d7b7cfdb" title="Number of solver position iterations to run.">PhysicsSettings::mNumPositionSteps</a>. The number of iterations to use is the max of all contacts and constraints in the island. </p>
  910. </div>
  911. </div>
  912. <a id="a4c9b56bbae7de5094241daddc6975059" name="a4c9b56bbae7de5094241daddc6975059"></a>
  913. <h2 class="memtitle"><span class="permalink"><a href="#a4c9b56bbae7de5094241daddc6975059">&#9670;&#160;</a></span>SetNumVelocityStepsOverride()</h2>
  914. <div class="memitem">
  915. <div class="memproto">
  916. <table class="mlabels">
  917. <tr>
  918. <td class="mlabels-left">
  919. <table class="memname">
  920. <tr>
  921. <td class="memname">void Constraint::SetNumVelocityStepsOverride </td>
  922. <td>(</td>
  923. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inN</em></span></td><td>)</td>
  924. <td></td>
  925. </tr>
  926. </table>
  927. </td>
  928. <td class="mlabels-right">
  929. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  930. </tr>
  931. </table>
  932. </div><div class="memdoc">
  933. <p>Used only when the constraint is active. Override for the number of solver velocity iterations to run, 0 means use the default in <a class="el" href="struct_physics_settings.html#a66af679ba7f202b402bb23d0a0e117ad">PhysicsSettings::mNumVelocitySteps</a>. The number of iterations to use is the max of all contacts and constraints in the island. </p>
  934. </div>
  935. </div>
  936. <a id="a175a388f9989341951507e08876fdf30" name="a175a388f9989341951507e08876fdf30"></a>
  937. <h2 class="memtitle"><span class="permalink"><a href="#a175a388f9989341951507e08876fdf30">&#9670;&#160;</a></span>SetupVelocityConstraint()</h2>
  938. <div class="memitem">
  939. <div class="memproto">
  940. <table class="mlabels">
  941. <tr>
  942. <td class="mlabels-left">
  943. <table class="memname">
  944. <tr>
  945. <td class="memname">virtual void Constraint::SetupVelocityConstraint </td>
  946. <td>(</td>
  947. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span></td><td>)</td>
  948. <td></td>
  949. </tr>
  950. </table>
  951. </td>
  952. <td class="mlabels-right">
  953. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  954. </tr>
  955. </table>
  956. </div><div class="memdoc">
  957. <p>Implemented in <a class="el" href="class_cone_constraint.html#a4cdc1ebd99d91003dbebedd91b1b8a4f">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a6783513d7658a4979f309be36a94f2d3">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#a357bd20813fdf9b5d6d6730ea1cb5cb7">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#aa9f34d205ecc9897c658025438c8a411">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#a4544b739d29da7059c04dd3ff87ac04f">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a334e81d911ed028bb007514d7dab7ed8">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a0c951929290c4069a5489beaf3b11c3c">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a577d6bca6063a4fe0bbbfb63fc6c1096">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a46f28ec31eb4f5068c20843ec28d9c8f">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#abee061c8025b392f637e0cd56ac40d8c">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a2abb17d42a19f2e7110bdd1edbc864bd">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#a51932e901316b06ac2c5a55c5ce54856">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a7db85aa03eb1cadb974ca4600204daa5">VehicleConstraint</a>.</p>
  958. </div>
  959. </div>
  960. <a id="a2e643bd3c3a9167c70037d3eb87acb75" name="a2e643bd3c3a9167c70037d3eb87acb75"></a>
  961. <h2 class="memtitle"><span class="permalink"><a href="#a2e643bd3c3a9167c70037d3eb87acb75">&#9670;&#160;</a></span>SetUserData()</h2>
  962. <div class="memitem">
  963. <div class="memproto">
  964. <table class="mlabels">
  965. <tr>
  966. <td class="mlabels-left">
  967. <table class="memname">
  968. <tr>
  969. <td class="memname">void Constraint::SetUserData </td>
  970. <td>(</td>
  971. <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><td>)</td>
  972. <td></td>
  973. </tr>
  974. </table>
  975. </td>
  976. <td class="mlabels-right">
  977. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  978. </tr>
  979. </table>
  980. </div><div class="memdoc">
  981. </div>
  982. </div>
  983. <a id="adeae5677da3f7d76ca6af382be14e4eb" name="adeae5677da3f7d76ca6af382be14e4eb"></a>
  984. <h2 class="memtitle"><span class="permalink"><a href="#adeae5677da3f7d76ca6af382be14e4eb">&#9670;&#160;</a></span>SolvePositionConstraint()</h2>
  985. <div class="memitem">
  986. <div class="memproto">
  987. <table class="mlabels">
  988. <tr>
  989. <td class="mlabels-left">
  990. <table class="memname">
  991. <tr>
  992. <td class="memname">virtual bool Constraint::SolvePositionConstraint </td>
  993. <td>(</td>
  994. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span>, </td>
  995. </tr>
  996. <tr>
  997. <td class="paramkey"></td>
  998. <td></td>
  999. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inBaumgarte</em></span>&#160;)</td>
  1000. </tr>
  1001. </table>
  1002. </td>
  1003. <td class="mlabels-right">
  1004. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  1005. </tr>
  1006. </table>
  1007. </div><div class="memdoc">
  1008. <p>Implemented in <a class="el" href="class_cone_constraint.html#a1a39e014d33bfd39d6a22b951c2fbd65">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a31ec535ef21936a97b305508858f862b">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#a654022483ce0d0a4e0cd2574b0846cc1">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#a4c71050abebf55fe2a8f1c5ad7d0e4ee">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#a3ca88c214e95ffdd5b8725d456c23eee">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a9041487754a378e24a54414325f214ef">PathConstraint</a>, <a class="el" href="class_point_constraint.html#aac96ad33ba2e2218f72333a54580ab70">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a87b18f6a3e5e289beb7967227bd11e16">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#af9a89e5738bd0b01041dd67f57dcdb75">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a636d378bc45470f3182c71e0a7b6ba59">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a3a2b09378bb8bf731279c89ab15152b0">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#a4b881638e8d9fbd49223ae4f3e649f4e">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#af344b4fb6def1c50f03f1c30d9fca3c2">VehicleConstraint</a>.</p>
  1009. </div>
  1010. </div>
  1011. <a id="a30636bfbf85cd0898a8ee3c543bf675f" name="a30636bfbf85cd0898a8ee3c543bf675f"></a>
  1012. <h2 class="memtitle"><span class="permalink"><a href="#a30636bfbf85cd0898a8ee3c543bf675f">&#9670;&#160;</a></span>SolveVelocityConstraint()</h2>
  1013. <div class="memitem">
  1014. <div class="memproto">
  1015. <table class="mlabels">
  1016. <tr>
  1017. <td class="mlabels-left">
  1018. <table class="memname">
  1019. <tr>
  1020. <td class="memname">virtual bool Constraint::SolveVelocityConstraint </td>
  1021. <td>(</td>
  1022. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span></td><td>)</td>
  1023. <td></td>
  1024. </tr>
  1025. </table>
  1026. </td>
  1027. <td class="mlabels-right">
  1028. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  1029. </tr>
  1030. </table>
  1031. </div><div class="memdoc">
  1032. <p>Implemented in <a class="el" href="class_cone_constraint.html#a6d9ec2215d7e54abb3277386ca1201f5">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#affedf1d2ef0d92264ffaeb579073d5b8">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#afd06d88db92460bdf49fb4bf5c4e0e99">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#ad15d60113726c103c9971694c47ef58b">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#ab4b3e0e2e12a3c79f7c7dfd4b01be004">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a4a217906d4d990d4222d2dfbd3e3de5b">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a341bc9c8983b9988ec60e166caed0afe">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#a66e0ee2a47361e24d981cb27e5791bbe">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a1e19ef61ebcf132ce1dd056e8c3bfe92">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a37a955943b8f78e7ff8d98e044981b58">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#a7271357391f44e2ebc647a98fc0ce01b">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#ae841a8acf92617eca1192909d2885f41">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a3706f414ea9608bcffc2b481f6a88549">VehicleConstraint</a>.</p>
  1033. </div>
  1034. </div>
  1035. <a id="aa117730922a803f0a12321bcd68583ab" name="aa117730922a803f0a12321bcd68583ab"></a>
  1036. <h2 class="memtitle"><span class="permalink"><a href="#aa117730922a803f0a12321bcd68583ab">&#9670;&#160;</a></span>ToConstraintSettings()</h2>
  1037. <div class="memitem">
  1038. <div class="memproto">
  1039. <table class="mlabels">
  1040. <tr>
  1041. <td class="mlabels-left">
  1042. <table class="memname">
  1043. <tr>
  1044. <td class="memname">void Constraint::ToConstraintSettings </td>
  1045. <td>(</td>
  1046. <td class="paramtype"><a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>outSettings</em></span></td><td>)</td>
  1047. <td> const</td>
  1048. </tr>
  1049. </table>
  1050. </td>
  1051. <td class="mlabels-right">
  1052. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1053. </tr>
  1054. </table>
  1055. </div><div class="memdoc">
  1056. <p>Helper function to copy settings back to constraint settings for this base class. </p>
  1057. </div>
  1058. </div>
  1059. <a id="abb0ee6b5bf11fb8b8aeb45271b24f1a7" name="abb0ee6b5bf11fb8b8aeb45271b24f1a7"></a>
  1060. <h2 class="memtitle"><span class="permalink"><a href="#abb0ee6b5bf11fb8b8aeb45271b24f1a7">&#9670;&#160;</a></span>WarmStartVelocityConstraint()</h2>
  1061. <div class="memitem">
  1062. <div class="memproto">
  1063. <table class="mlabels">
  1064. <tr>
  1065. <td class="mlabels-left">
  1066. <table class="memname">
  1067. <tr>
  1068. <td class="memname">virtual void Constraint::WarmStartVelocityConstraint </td>
  1069. <td>(</td>
  1070. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inWarmStartImpulseRatio</em></span></td><td>)</td>
  1071. <td></td>
  1072. </tr>
  1073. </table>
  1074. </td>
  1075. <td class="mlabels-right">
  1076. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  1077. </tr>
  1078. </table>
  1079. </div><div class="memdoc">
  1080. <p>Implemented in <a class="el" href="class_cone_constraint.html#adeefa918b20db08c73d87cac71e93cfd">ConeConstraint</a>, <a class="el" href="class_distance_constraint.html#a459aed04f96a767cb395b114bb1860bb">DistanceConstraint</a>, <a class="el" href="class_fixed_constraint.html#ac1bb8544bfebcf9b43d428c44b75809f">FixedConstraint</a>, <a class="el" href="class_gear_constraint.html#a17abbcffc7110afc9caa7c169733ff60">GearConstraint</a>, <a class="el" href="class_hinge_constraint.html#a3c1c14996144a0a8dacaed226a6278f8">HingeConstraint</a>, <a class="el" href="class_path_constraint.html#a827e48452a23237e05665d3eeb668255">PathConstraint</a>, <a class="el" href="class_point_constraint.html#a51737835feb28bf1f774976ba3fabf5d">PointConstraint</a>, <a class="el" href="class_pulley_constraint.html#aef2753289be51db340b80fe44fbfb87f">PulleyConstraint</a>, <a class="el" href="class_rack_and_pinion_constraint.html#a68595c6143a8c238780ee6327cd77a01">RackAndPinionConstraint</a>, <a class="el" href="class_six_d_o_f_constraint.html#a94451dc994375a631e767e76cc08fbb5">SixDOFConstraint</a>, <a class="el" href="class_slider_constraint.html#aeb34063ed62a9f400374f2ed6fb830c4">SliderConstraint</a>, <a class="el" href="class_swing_twist_constraint.html#acf698847ac574454093180b23cc74a4e">SwingTwistConstraint</a>, and <a class="el" href="class_vehicle_constraint.html#a74f3a452490769c8e1a110a967dc02ff">VehicleConstraint</a>.</p>
  1081. </div>
  1082. </div>
  1083. <h2 class="groupheader">Friends And Related Symbol Documentation</h2>
  1084. <a id="ad0bf54a2be7863a42cdd8ee748f89582" name="ad0bf54a2be7863a42cdd8ee748f89582"></a>
  1085. <h2 class="memtitle"><span class="permalink"><a href="#ad0bf54a2be7863a42cdd8ee748f89582">&#9670;&#160;</a></span>ConstraintManager</h2>
  1086. <div class="memitem">
  1087. <div class="memproto">
  1088. <table class="mlabels">
  1089. <tr>
  1090. <td class="mlabels-left">
  1091. <table class="memname">
  1092. <tr>
  1093. <td class="memname">friend class <a class="el" href="class_constraint_manager.html">ConstraintManager</a></td>
  1094. </tr>
  1095. </table>
  1096. </td>
  1097. <td class="mlabels-right">
  1098. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  1099. </tr>
  1100. </table>
  1101. </div><div class="memdoc">
  1102. </div>
  1103. </div>
  1104. <h2 class="groupheader">Member Data Documentation</h2>
  1105. <a id="af5f5c736eb3830ff27ec07200399dc46" name="af5f5c736eb3830ff27ec07200399dc46"></a>
  1106. <h2 class="memtitle"><span class="permalink"><a href="#af5f5c736eb3830ff27ec07200399dc46">&#9670;&#160;</a></span>mDrawConstraintSize</h2>
  1107. <div class="memitem">
  1108. <div class="memproto">
  1109. <table class="mlabels">
  1110. <tr>
  1111. <td class="mlabels-left">
  1112. <table class="memname">
  1113. <tr>
  1114. <td class="memname">float Constraint::mDrawConstraintSize</td>
  1115. </tr>
  1116. </table>
  1117. </td>
  1118. <td class="mlabels-right">
  1119. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1120. </tr>
  1121. </table>
  1122. </div><div class="memdoc">
  1123. <p>Size of constraint when drawing it through the debug renderer. </p>
  1124. </div>
  1125. </div>
  1126. <hr/>The documentation for this class was generated from the following files:<ul>
  1127. <li>Jolt/Physics/Constraints/<a class="el" href="_constraint_8h_source.html">Constraint.h</a></li>
  1128. <li>Jolt/Physics/Constraints/<a class="el" href="_constraint_8cpp.html">Constraint.cpp</a></li>
  1129. </ul>
  1130. </div><!-- contents -->
  1131. </div><!-- doc-content -->
  1132. <!-- start footer part -->
  1133. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  1134. <ul>
  1135. <li class="navelem"><a class="el" href="class_constraint.html">Constraint</a></li>
  1136. <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>
  1137. </ul>
  1138. </div>
  1139. </body>
  1140. </html>