class_vehicle_constraint.html 126 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853
  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: VehicleConstraint 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_vehicle_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-types">Public Types</a> &#124;
  108. <a href="#pub-methods">Public Member Functions</a> &#124;
  109. <a href="class_vehicle_constraint-members.html">List of all members</a> </div>
  110. <div class="headertitle"><div class="title">VehicleConstraint Class Reference</div></div>
  111. </div><!--header-->
  112. <div class="contents">
  113. <p><code>#include &lt;<a class="el" href="_vehicle_constraint_8h_source.html">VehicleConstraint.h</a>&gt;</code></p>
  114. <div class="dynheader">
  115. Inheritance diagram for VehicleConstraint:</div>
  116. <div class="dyncontent">
  117. <div class="center">
  118. <img src="class_vehicle_constraint.png" usemap="#VehicleConstraint_map" alt=""/>
  119. <map id="VehicleConstraint_map" name="VehicleConstraint_map">
  120. <area href="class_constraint.html" title="Base class for all physics constraints. A constraint removes one or more degrees of freedom for a rig..." alt="Constraint" shape="rect" coords="79,56,227,80"/>
  121. <area href="class_physics_step_listener.html" title="A listener class that receives a callback before every physics simulation step." alt="PhysicsStepListener" shape="rect" coords="237,56,385,80"/>
  122. <area href="class_ref_target.html" alt="RefTarget&lt; Constraint &gt;" shape="rect" coords="0,0,148,24"/>
  123. <area href="class_non_copyable.html" title="Class that makes another class non-copyable. Usage: Inherit from NonCopyable." alt="NonCopyable" shape="rect" coords="158,0,306,24"/>
  124. </map>
  125. </div></div>
  126. <table class="memberdecls">
  127. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
  128. Public Types</h2></td></tr>
  129. <tr class="memitem:a98e6b9822af90bf4d3a513d04acd5bc8" id="r_a98e6b9822af90bf4d3a513d04acd5bc8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a98e6b9822af90bf4d3a513d04acd5bc8">CombineFunction</a> = function&lt;void(<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inWheelIndex, float &amp;ioLongitudinalFriction, float &amp;ioLateralFriction, const <a class="el" href="class_body.html">Body</a> &amp;inBody2, const <a class="el" href="class_sub_shape_i_d.html">SubShapeID</a> &amp;inSubShapeID2)&gt;</td></tr>
  130. <tr class="separator:a98e6b9822af90bf4d3a513d04acd5bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a0f8cccf0624b4eac3886bfb412dfb91f" id="r_a0f8cccf0624b4eac3886bfb412dfb91f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> = function&lt;void(<a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;inVehicle, const <a class="el" href="class_physics_step_listener_context.html">PhysicsStepListenerContext</a> &amp;inContext)&gt;</td></tr>
  132. <tr class="memdesc:a0f8cccf0624b4eac3886bfb412dfb91f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to notify of current stage in <a class="el" href="class_physics_step_listener.html#ab4de6bf7f8150c3e4b3d4667c61674ea">PhysicsStepListener::OnStep</a>. <br /></td></tr>
  133. <tr class="separator:a0f8cccf0624b4eac3886bfb412dfb91f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. </table><table class="memberdecls">
  135. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  136. Public Member Functions</h2></td></tr>
  137. <tr class="memitem:af1d28eee52fc3cb7a2f8b8a81edfc464" id="r_af1d28eee52fc3cb7a2f8b8a81edfc464"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1d28eee52fc3cb7a2f8b8a81edfc464">VehicleConstraint</a> (<a class="el" href="class_body.html">Body</a> &amp;inVehicleBody, const <a class="el" href="class_vehicle_constraint_settings.html">VehicleConstraintSettings</a> &amp;inSettings)</td></tr>
  138. <tr class="memdesc:af1d28eee52fc3cb7a2f8b8a81edfc464"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor / destructor. <br /></td></tr>
  139. <tr class="separator:af1d28eee52fc3cb7a2f8b8a81edfc464"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a9ea9a006933b3e0b1938b3b247957830" id="r_a9ea9a006933b3e0b1938b3b247957830"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9ea9a006933b3e0b1938b3b247957830">~VehicleConstraint</a> () override</td></tr>
  141. <tr class="separator:a9ea9a006933b3e0b1938b3b247957830"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a989fc35253ed8da61981107b0fc19fba" id="r_a989fc35253ed8da61981107b0fc19fba"><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="#a989fc35253ed8da61981107b0fc19fba">GetSubType</a> () const override</td></tr>
  143. <tr class="memdesc:a989fc35253ed8da61981107b0fc19fba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of a constraint. <br /></td></tr>
  144. <tr class="separator:a989fc35253ed8da61981107b0fc19fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:a54aac9425dccebec4565b02df9351641" id="r_a54aac9425dccebec4565b02df9351641"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a54aac9425dccebec4565b02df9351641">SetMaxPitchRollAngle</a> (float inMaxPitchRollAngle)</td></tr>
  146. <tr class="memdesc:a54aac9425dccebec4565b02df9351641"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the maximum pitch/roll angle (rad), can be used to avoid the car from getting upside down. The vehicle up direction will stay within a cone centered around the up axis with half top angle mMaxPitchRollAngle, set to pi to turn off. <br /></td></tr>
  147. <tr class="separator:a54aac9425dccebec4565b02df9351641"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:af134c8b5ad80e1d97288cdd4d44a58ed" id="r_af134c8b5ad80e1d97288cdd4d44a58ed"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af134c8b5ad80e1d97288cdd4d44a58ed">GetMaxPitchRollAngle</a> () const</td></tr>
  149. <tr class="separator:af134c8b5ad80e1d97288cdd4d44a58ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:a52476f3cd6814c10993dacb4e3dd03cd" id="r_a52476f3cd6814c10993dacb4e3dd03cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a52476f3cd6814c10993dacb4e3dd03cd">SetVehicleCollisionTester</a> (const <a class="el" href="class_vehicle_collision_tester.html">VehicleCollisionTester</a> *inTester)</td></tr>
  151. <tr class="memdesc:a52476f3cd6814c10993dacb4e3dd03cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the interface that tests collision between wheel and ground. <br /></td></tr>
  152. <tr class="separator:a52476f3cd6814c10993dacb4e3dd03cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:a71407c82b38b7ef2407c1fbd4860f30b" id="r_a71407c82b38b7ef2407c1fbd4860f30b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_vehicle_collision_tester.html">VehicleCollisionTester</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a71407c82b38b7ef2407c1fbd4860f30b">GetVehicleCollisionTester</a> () const</td></tr>
  154. <tr class="separator:a71407c82b38b7ef2407c1fbd4860f30b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:a1147d607170dca53a0b3be6747022a55" id="r_a1147d607170dca53a0b3be6747022a55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1147d607170dca53a0b3be6747022a55">SetCombineFriction</a> (const <a class="el" href="#a98e6b9822af90bf4d3a513d04acd5bc8">CombineFunction</a> &amp;inCombineFriction)</td></tr>
  156. <tr class="separator:a1147d607170dca53a0b3be6747022a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a2d6d79ed657818da23c2ede0bc326f13" id="r_a2d6d79ed657818da23c2ede0bc326f13"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="#a98e6b9822af90bf4d3a513d04acd5bc8">CombineFunction</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2d6d79ed657818da23c2ede0bc326f13">GetCombineFriction</a> () const</td></tr>
  158. <tr class="separator:a2d6d79ed657818da23c2ede0bc326f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:a06c77bdf083e33a1814e09b9cdaa74f9" id="r_a06c77bdf083e33a1814e09b9cdaa74f9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a06c77bdf083e33a1814e09b9cdaa74f9">GetPreStepCallback</a> () const</td></tr>
  160. <tr class="separator:a06c77bdf083e33a1814e09b9cdaa74f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:ad6330e63345c4ab1e665edd015aab35b" id="r_ad6330e63345c4ab1e665edd015aab35b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad6330e63345c4ab1e665edd015aab35b">SetPreStepCallback</a> (const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;inPreStepCallback)</td></tr>
  162. <tr class="separator:ad6330e63345c4ab1e665edd015aab35b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:aa666c4c14ae6b42d5d578ce3c425726b" id="r_aa666c4c14ae6b42d5d578ce3c425726b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa666c4c14ae6b42d5d578ce3c425726b">GetPostCollideCallback</a> () const</td></tr>
  164. <tr class="separator:aa666c4c14ae6b42d5d578ce3c425726b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. <tr class="memitem:ab3d5ac04f11fada0c2bc464b187a5986" id="r_ab3d5ac04f11fada0c2bc464b187a5986"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab3d5ac04f11fada0c2bc464b187a5986">SetPostCollideCallback</a> (const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;inPostCollideCallback)</td></tr>
  166. <tr class="separator:ab3d5ac04f11fada0c2bc464b187a5986"><td class="memSeparator" colspan="2">&#160;</td></tr>
  167. <tr class="memitem:a55c495a44c94d98437ea4254ee8ecfb7" id="r_a55c495a44c94d98437ea4254ee8ecfb7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a55c495a44c94d98437ea4254ee8ecfb7">GetPostStepCallback</a> () const</td></tr>
  168. <tr class="separator:a55c495a44c94d98437ea4254ee8ecfb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:af3e47429a8c1150b9e6c01b4b8059a5e" id="r_af3e47429a8c1150b9e6c01b4b8059a5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af3e47429a8c1150b9e6c01b4b8059a5e">SetPostStepCallback</a> (const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;inPostStepCallback)</td></tr>
  170. <tr class="separator:af3e47429a8c1150b9e6c01b4b8059a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:ad2bda8140c63b7f54330e34c5050c23a" id="r_ad2bda8140c63b7f54330e34c5050c23a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2bda8140c63b7f54330e34c5050c23a">OverrideGravity</a> (<a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inGravity)</td></tr>
  172. <tr class="memdesc:ad2bda8140c63b7f54330e34c5050c23a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override gravity for this vehicle. Note that overriding gravity will set the gravity factor of the vehicle body to 0 and apply gravity in the <a class="el" href="class_physics_step_listener.html" title="A listener class that receives a callback before every physics simulation step.">PhysicsStepListener</a> instead. <br /></td></tr>
  173. <tr class="separator:ad2bda8140c63b7f54330e34c5050c23a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:a47a9c30e28487e4a50e88b618168c01b" id="r_a47a9c30e28487e4a50e88b618168c01b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a47a9c30e28487e4a50e88b618168c01b">IsGravityOverridden</a> () const</td></tr>
  175. <tr class="separator:a47a9c30e28487e4a50e88b618168c01b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a557d0f6ff57dd2b6aa3a2f6da7e38f8e" id="r_a557d0f6ff57dd2b6aa3a2f6da7e38f8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a557d0f6ff57dd2b6aa3a2f6da7e38f8e">GetGravityOverride</a> () const</td></tr>
  177. <tr class="separator:a557d0f6ff57dd2b6aa3a2f6da7e38f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:a1093abfb21649ac7c26dffc59cb27dfe" id="r_a1093abfb21649ac7c26dffc59cb27dfe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1093abfb21649ac7c26dffc59cb27dfe">ResetGravityOverride</a> ()</td></tr>
  179. <tr class="memdesc:a1093abfb21649ac7c26dffc59cb27dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Note that resetting the gravity override will restore the gravity factor of the vehicle body to 1. <br /></td></tr>
  180. <tr class="separator:a1093abfb21649ac7c26dffc59cb27dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:a5a54f4f23549e7d828e4a2e51fcfc312" id="r_a5a54f4f23549e7d828e4a2e51fcfc312"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a54f4f23549e7d828e4a2e51fcfc312">GetLocalForward</a> () const</td></tr>
  182. <tr class="memdesc:a5a54f4f23549e7d828e4a2e51fcfc312"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the local space forward vector of the vehicle. <br /></td></tr>
  183. <tr class="separator:a5a54f4f23549e7d828e4a2e51fcfc312"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a9e88c415ed7c4ae5cea93506fd53ae28" id="r_a9e88c415ed7c4ae5cea93506fd53ae28"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e88c415ed7c4ae5cea93506fd53ae28">GetLocalUp</a> () const</td></tr>
  185. <tr class="memdesc:a9e88c415ed7c4ae5cea93506fd53ae28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the local space up vector of the vehicle. <br /></td></tr>
  186. <tr class="separator:a9e88c415ed7c4ae5cea93506fd53ae28"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:a6f86aee9e1cde819a5cbe56fa0a6aa4e" id="r_a6f86aee9e1cde819a5cbe56fa0a6aa4e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vec3.html">Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f86aee9e1cde819a5cbe56fa0a6aa4e">GetWorldUp</a> () const</td></tr>
  188. <tr class="memdesc:a6f86aee9e1cde819a5cbe56fa0a6aa4e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> indicating the world space up direction (used to limit vehicle pitch/roll), calculated every frame by inverting gravity. <br /></td></tr>
  189. <tr class="separator:a6f86aee9e1cde819a5cbe56fa0a6aa4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:a402cd50d87d5f478036104b9185fb2db" id="r_a402cd50d87d5f478036104b9185fb2db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body.html">Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a402cd50d87d5f478036104b9185fb2db">GetVehicleBody</a> () const</td></tr>
  191. <tr class="memdesc:a402cd50d87d5f478036104b9185fb2db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the vehicle body. <br /></td></tr>
  192. <tr class="separator:a402cd50d87d5f478036104b9185fb2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:ab0b1fdc09970442c9cb800cbadcf9643" id="r_ab0b1fdc09970442c9cb800cbadcf9643"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_vehicle_controller.html">VehicleController</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0b1fdc09970442c9cb800cbadcf9643">GetController</a> () const</td></tr>
  194. <tr class="memdesc:ab0b1fdc09970442c9cb800cbadcf9643"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the vehicle controller interface (determines acceleration / deceleration) <br /></td></tr>
  195. <tr class="separator:ab0b1fdc09970442c9cb800cbadcf9643"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:a4f55ac332056282078f054e099b147cc" id="r_a4f55ac332056282078f054e099b147cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vehicle_controller.html">VehicleController</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4f55ac332056282078f054e099b147cc">GetController</a> ()</td></tr>
  197. <tr class="memdesc:a4f55ac332056282078f054e099b147cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the vehicle controller interface (determines acceleration / deceleration) <br /></td></tr>
  198. <tr class="separator:a4f55ac332056282078f054e099b147cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:af2a24975a01de3cf22ab55ba2ac6ed74" id="r_af2a24975a01de3cf22ab55ba2ac6ed74"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="_wheel_8h.html#a177d95c47064f7e2adb44ca634cd550d">Wheels</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af2a24975a01de3cf22ab55ba2ac6ed74">GetWheels</a> () const</td></tr>
  200. <tr class="memdesc:af2a24975a01de3cf22ab55ba2ac6ed74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the state of the wheels. <br /></td></tr>
  201. <tr class="separator:af2a24975a01de3cf22ab55ba2ac6ed74"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:a5b39b845e91504642e180a4f35df0a45" id="r_a5b39b845e91504642e180a4f35df0a45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_wheel_8h.html#a177d95c47064f7e2adb44ca634cd550d">Wheels</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5b39b845e91504642e180a4f35df0a45">GetWheels</a> ()</td></tr>
  203. <tr class="memdesc:a5b39b845e91504642e180a4f35df0a45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the state of a wheels (writable interface, allows you to make changes to the configuration which will take effect the next time step) <br /></td></tr>
  204. <tr class="separator:a5b39b845e91504642e180a4f35df0a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <tr class="memitem:a6d90f054b9fa121d8ec9b1e2f0dcba65" id="r_a6d90f054b9fa121d8ec9b1e2f0dcba65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_wheel.html">Wheel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d90f054b9fa121d8ec9b1e2f0dcba65">GetWheel</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inIdx)</td></tr>
  206. <tr class="memdesc:a6d90f054b9fa121d8ec9b1e2f0dcba65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the state of a wheel. <br /></td></tr>
  207. <tr class="separator:a6d90f054b9fa121d8ec9b1e2f0dcba65"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:a205699c8c9916b774790a8f87a43d61c" id="r_a205699c8c9916b774790a8f87a43d61c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_wheel.html">Wheel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a205699c8c9916b774790a8f87a43d61c">GetWheel</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inIdx) const</td></tr>
  209. <tr class="separator:a205699c8c9916b774790a8f87a43d61c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  210. <tr class="memitem:ad752f73785ddd88b0e4776101d914f38" id="r_ad752f73785ddd88b0e4776101d914f38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad752f73785ddd88b0e4776101d914f38">GetWheelLocalBasis</a> (const <a class="el" href="class_wheel.html">Wheel</a> *inWheel, <a class="el" href="class_vec3.html">Vec3</a> &amp;outForward, <a class="el" href="class_vec3.html">Vec3</a> &amp;outUp, <a class="el" href="class_vec3.html">Vec3</a> &amp;outRight) const</td></tr>
  211. <tr class="separator:ad752f73785ddd88b0e4776101d914f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a26fa80f7292448dd869df47c46a30adf" id="r_a26fa80f7292448dd869df47c46a30adf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_mat44.html">Mat44</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a26fa80f7292448dd869df47c46a30adf">GetWheelLocalTransform</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inWheelIndex, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inWheelRight, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inWheelUp) const</td></tr>
  213. <tr class="separator:a26fa80f7292448dd869df47c46a30adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:ab4e43b201b7379b643820447daae173c" id="r_ab4e43b201b7379b643820447daae173c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ab2b99ab2c9bab2170e4744e9fb519625">RMat44</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab4e43b201b7379b643820447daae173c">GetWheelWorldTransform</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inWheelIndex, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inWheelRight, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inWheelUp) const</td></tr>
  215. <tr class="separator:ab4e43b201b7379b643820447daae173c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. <tr class="memitem:a0befd7faf7460671775794f352801de3" id="r_a0befd7faf7460671775794f352801de3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="_vehicle_anti_roll_bar_8h.html#a3b8efbeb4ae2eca1f28f007c2a9bdac4">VehicleAntiRollBars</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0befd7faf7460671775794f352801de3">GetAntiRollBars</a> () const</td></tr>
  217. <tr class="memdesc:a0befd7faf7460671775794f352801de3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the vehicle's anti roll bars. <br /></td></tr>
  218. <tr class="separator:a0befd7faf7460671775794f352801de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  219. <tr class="memitem:a0d1c3ba4aa13f74349f51e3af74466ab" id="r_a0d1c3ba4aa13f74349f51e3af74466ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_vehicle_anti_roll_bar_8h.html#a3b8efbeb4ae2eca1f28f007c2a9bdac4">VehicleAntiRollBars</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0d1c3ba4aa13f74349f51e3af74466ab">GetAntiRollBars</a> ()</td></tr>
  220. <tr class="separator:a0d1c3ba4aa13f74349f51e3af74466ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:a0a7585ead6b614188ac35590495843e1" id="r_a0a7585ead6b614188ac35590495843e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0a7585ead6b614188ac35590495843e1">SetNumStepsBetweenCollisionTestActive</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inSteps)</td></tr>
  222. <tr class="separator:a0a7585ead6b614188ac35590495843e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  223. <tr class="memitem:aa5612804e5026fcc8c90b0bfab6aba48" id="r_aa5612804e5026fcc8c90b0bfab6aba48"><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="#aa5612804e5026fcc8c90b0bfab6aba48">GetNumStepsBetweenCollisionTestActive</a> () const</td></tr>
  224. <tr class="separator:aa5612804e5026fcc8c90b0bfab6aba48"><td class="memSeparator" colspan="2">&#160;</td></tr>
  225. <tr class="memitem:a441d4897905f6b4e950cc885dd4a4c63" id="r_a441d4897905f6b4e950cc885dd4a4c63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a441d4897905f6b4e950cc885dd4a4c63">SetNumStepsBetweenCollisionTestInactive</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inSteps)</td></tr>
  226. <tr class="separator:a441d4897905f6b4e950cc885dd4a4c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
  227. <tr class="memitem:a261afc478f9af64ffbf377f86b705f55" id="r_a261afc478f9af64ffbf377f86b705f55"><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="#a261afc478f9af64ffbf377f86b705f55">GetNumStepsBetweenCollisionTestInactive</a> () const</td></tr>
  228. <tr class="separator:a261afc478f9af64ffbf377f86b705f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
  229. <tr class="memitem:a44c4c794a9bc8e0812e72ee67644418e" id="r_a44c4c794a9bc8e0812e72ee67644418e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a44c4c794a9bc8e0812e72ee67644418e">IsActive</a> () const override</td></tr>
  230. <tr class="separator:a44c4c794a9bc8e0812e72ee67644418e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <tr class="memitem:ac3df25ba1e2c0a85e46a1b93702155cf" id="r_ac3df25ba1e2c0a85e46a1b93702155cf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3df25ba1e2c0a85e46a1b93702155cf">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) override</td></tr>
  232. <tr class="separator:ac3df25ba1e2c0a85e46a1b93702155cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  233. <tr class="memitem:a7db85aa03eb1cadb974ca4600204daa5" id="r_a7db85aa03eb1cadb974ca4600204daa5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7db85aa03eb1cadb974ca4600204daa5">SetupVelocityConstraint</a> (float inDeltaTime) override</td></tr>
  234. <tr class="separator:a7db85aa03eb1cadb974ca4600204daa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  235. <tr class="memitem:a181b7955873518cae4b3a1b5f23979d5" id="r_a181b7955873518cae4b3a1b5f23979d5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a181b7955873518cae4b3a1b5f23979d5">ResetWarmStart</a> () override</td></tr>
  236. <tr class="separator:a181b7955873518cae4b3a1b5f23979d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. <tr class="memitem:a74f3a452490769c8e1a110a967dc02ff" id="r_a74f3a452490769c8e1a110a967dc02ff"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a74f3a452490769c8e1a110a967dc02ff">WarmStartVelocityConstraint</a> (float inWarmStartImpulseRatio) override</td></tr>
  238. <tr class="separator:a74f3a452490769c8e1a110a967dc02ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. <tr class="memitem:a3706f414ea9608bcffc2b481f6a88549" id="r_a3706f414ea9608bcffc2b481f6a88549"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3706f414ea9608bcffc2b481f6a88549">SolveVelocityConstraint</a> (float inDeltaTime) override</td></tr>
  240. <tr class="separator:a3706f414ea9608bcffc2b481f6a88549"><td class="memSeparator" colspan="2">&#160;</td></tr>
  241. <tr class="memitem:af344b4fb6def1c50f03f1c30d9fca3c2" id="r_af344b4fb6def1c50f03f1c30d9fca3c2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af344b4fb6def1c50f03f1c30d9fca3c2">SolvePositionConstraint</a> (float inDeltaTime, float inBaumgarte) override</td></tr>
  242. <tr class="separator:af344b4fb6def1c50f03f1c30d9fca3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  243. <tr class="memitem:ad04e72e964c227c63e9c2c264de269c9" id="r_ad04e72e964c227c63e9c2c264de269c9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad04e72e964c227c63e9c2c264de269c9">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) override</td></tr>
  244. <tr class="memdesc:ad04e72e964c227c63e9c2c264de269c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Link bodies that are connected by this constraint in the island builder. <br /></td></tr>
  245. <tr class="separator:ad04e72e964c227c63e9c2c264de269c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. <tr class="memitem:a3e1637cfc4d982db7ba9116da7986adf" id="r_a3e1637cfc4d982db7ba9116da7986adf"><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="#a3e1637cfc4d982db7ba9116da7986adf">BuildIslandSplits</a> (<a class="el" href="class_large_island_splitter.html">LargeIslandSplitter</a> &amp;ioSplitter) const override</td></tr>
  247. <tr class="memdesc:a3e1637cfc4d982db7ba9116da7986adf"><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>
  248. <tr class="separator:a3e1637cfc4d982db7ba9116da7986adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  249. <tr class="memitem:af2493620d3e9d960b3cbf0641c182251" id="r_af2493620d3e9d960b3cbf0641c182251"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af2493620d3e9d960b3cbf0641c182251">DrawConstraint</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer) const override</td></tr>
  250. <tr class="separator:af2493620d3e9d960b3cbf0641c182251"><td class="memSeparator" colspan="2">&#160;</td></tr>
  251. <tr class="memitem:aa5ecf61104253599b367ce944f9a3dba" id="r_aa5ecf61104253599b367ce944f9a3dba"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5ecf61104253599b367ce944f9a3dba">DrawConstraintLimits</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer) const override</td></tr>
  252. <tr class="separator:aa5ecf61104253599b367ce944f9a3dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  253. <tr class="memitem:a6bdcc90af7d830f5821534d34be01ff7" id="r_a6bdcc90af7d830f5821534d34be01ff7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6bdcc90af7d830f5821534d34be01ff7">SaveState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &amp;inStream) const override</td></tr>
  254. <tr class="memdesc:a6bdcc90af7d830f5821534d34be01ff7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saving state for replay. <br /></td></tr>
  255. <tr class="separator:a6bdcc90af7d830f5821534d34be01ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  256. <tr class="memitem:a2d36c8bcd57ab5136e962bd03f1992e8" id="r_a2d36c8bcd57ab5136e962bd03f1992e8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2d36c8bcd57ab5136e962bd03f1992e8">RestoreState</a> (<a class="el" href="class_state_recorder.html">StateRecorder</a> &amp;inStream) override</td></tr>
  257. <tr class="memdesc:a2d36c8bcd57ab5136e962bd03f1992e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restoring state for replay. <br /></td></tr>
  258. <tr class="separator:a2d36c8bcd57ab5136e962bd03f1992e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  259. <tr class="memitem:af953060386f731482956bb772840262c" id="r_af953060386f731482956bb772840262c"><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="#af953060386f731482956bb772840262c">GetConstraintSettings</a> () const override</td></tr>
  260. <tr class="memdesc:af953060386f731482956bb772840262c"><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>
  261. <tr class="separator:af953060386f731482956bb772840262c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  262. <tr class="inherit_header pub_methods_class_constraint"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_constraint')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_constraint.html">Constraint</a></td></tr>
  263. <tr class="memitem:ae16420a87c4410ab9586397805c909bb inherit pub_methods_class_constraint" 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="class_constraint.html#ae16420a87c4410ab9586397805c909bb">Constraint</a> (const <a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &amp;inSettings)</td></tr>
  264. <tr class="memdesc:ae16420a87c4410ab9586397805c909bb inherit pub_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  265. <tr class="separator:ae16420a87c4410ab9586397805c909bb inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  266. <tr class="memitem:a1608cc2c7d701d0e9dbcb5656d5845bb inherit pub_methods_class_constraint" id="r_a1608cc2c7d701d0e9dbcb5656d5845bb"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a1608cc2c7d701d0e9dbcb5656d5845bb">~Constraint</a> ()=default</td></tr>
  267. <tr class="memdesc:a1608cc2c7d701d0e9dbcb5656d5845bb inherit pub_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
  268. <tr class="separator:a1608cc2c7d701d0e9dbcb5656d5845bb inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  269. <tr class="memitem:a6e290088c6049b1f1d1fb26df96dce3a inherit pub_methods_class_constraint" 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="class_constraint.html#a6e290088c6049b1f1d1fb26df96dce3a">GetType</a> () const</td></tr>
  270. <tr class="memdesc:a6e290088c6049b1f1d1fb26df96dce3a inherit pub_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of a constraint. <br /></td></tr>
  271. <tr class="separator:a6e290088c6049b1f1d1fb26df96dce3a inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  272. <tr class="memitem:a6c75250d651da3854eda9e929193e585 inherit pub_methods_class_constraint" 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="class_constraint.html#a6c75250d651da3854eda9e929193e585">GetConstraintPriority</a> () const</td></tr>
  273. <tr class="separator:a6c75250d651da3854eda9e929193e585 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  274. <tr class="memitem:a4b32ce7efd330ecf878f8ace4e0dd151 inherit pub_methods_class_constraint" id="r_a4b32ce7efd330ecf878f8ace4e0dd151"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a4b32ce7efd330ecf878f8ace4e0dd151">SetConstraintPriority</a> (<a class="el" href="_core_8h.html#a8f95e75e58492e87412191fabadd8ca8">uint32</a> inPriority)</td></tr>
  275. <tr class="separator:a4b32ce7efd330ecf878f8ace4e0dd151 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  276. <tr class="memitem:a4c9b56bbae7de5094241daddc6975059 inherit pub_methods_class_constraint" id="r_a4c9b56bbae7de5094241daddc6975059"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a4c9b56bbae7de5094241daddc6975059">SetNumVelocityStepsOverride</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inN)</td></tr>
  277. <tr class="memdesc:a4c9b56bbae7de5094241daddc6975059 inherit pub_methods_class_constraint"><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>
  278. <tr class="separator:a4c9b56bbae7de5094241daddc6975059 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  279. <tr class="memitem:a56624d10dcf6dd18fa8903897fcc2a03 inherit pub_methods_class_constraint" 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="class_constraint.html#a56624d10dcf6dd18fa8903897fcc2a03">GetNumVelocityStepsOverride</a> () const</td></tr>
  280. <tr class="separator:a56624d10dcf6dd18fa8903897fcc2a03 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  281. <tr class="memitem:a746a3c987f34f2573c0add9ddd56f390 inherit pub_methods_class_constraint" id="r_a746a3c987f34f2573c0add9ddd56f390"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a746a3c987f34f2573c0add9ddd56f390">SetNumPositionStepsOverride</a> (<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inN)</td></tr>
  282. <tr class="memdesc:a746a3c987f34f2573c0add9ddd56f390 inherit pub_methods_class_constraint"><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>
  283. <tr class="separator:a746a3c987f34f2573c0add9ddd56f390 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  284. <tr class="memitem:ad2530947a5b0c4c24e965ab85fdf9ec8 inherit pub_methods_class_constraint" 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="class_constraint.html#ad2530947a5b0c4c24e965ab85fdf9ec8">GetNumPositionStepsOverride</a> () const</td></tr>
  285. <tr class="separator:ad2530947a5b0c4c24e965ab85fdf9ec8 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  286. <tr class="memitem:aa6621fbefd246003aece1e9be8a169cb inherit pub_methods_class_constraint" id="r_aa6621fbefd246003aece1e9be8a169cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#aa6621fbefd246003aece1e9be8a169cb">SetEnabled</a> (bool inEnabled)</td></tr>
  287. <tr class="separator:aa6621fbefd246003aece1e9be8a169cb inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  288. <tr class="memitem:a2e0b8708469ecb3ea071c1b37ca8ea26 inherit pub_methods_class_constraint" id="r_a2e0b8708469ecb3ea071c1b37ca8ea26"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a2e0b8708469ecb3ea071c1b37ca8ea26">GetEnabled</a> () const</td></tr>
  289. <tr class="memdesc:a2e0b8708469ecb3ea071c1b37ca8ea26 inherit pub_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if a constraint is enabled. <br /></td></tr>
  290. <tr class="separator:a2e0b8708469ecb3ea071c1b37ca8ea26 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  291. <tr class="memitem:a51361e09906d05f85d341d1bad2cecd5 inherit pub_methods_class_constraint" 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="class_constraint.html#a51361e09906d05f85d341d1bad2cecd5">GetUserData</a> () const</td></tr>
  292. <tr class="memdesc:a51361e09906d05f85d341d1bad2cecd5 inherit pub_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access to the user data, can be used for anything by the application. <br /></td></tr>
  293. <tr class="separator:a51361e09906d05f85d341d1bad2cecd5 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  294. <tr class="memitem:a2e643bd3c3a9167c70037d3eb87acb75 inherit pub_methods_class_constraint" id="r_a2e643bd3c3a9167c70037d3eb87acb75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a2e643bd3c3a9167c70037d3eb87acb75">SetUserData</a> (<a class="el" href="_core_8h.html#a60e8696a4678cd348e991a1f172e53f7">uint64</a> inUserData)</td></tr>
  295. <tr class="separator:a2e643bd3c3a9167c70037d3eb87acb75 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  296. <tr class="memitem:a9789129d9dcf3f78e84322b374d0a2c9 inherit pub_methods_class_constraint" id="r_a9789129d9dcf3f78e84322b374d0a2c9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a9789129d9dcf3f78e84322b374d0a2c9">DrawConstraintReferenceFrame</a> (<a class="el" href="class_debug_renderer.html">DebugRenderer</a> *inRenderer) const</td></tr>
  297. <tr class="separator:a9789129d9dcf3f78e84322b374d0a2c9 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  298. <tr class="memitem:a719b99d4d20e0c67d5412fb40a00ada3 inherit pub_methods_class_constraint" id="r_a719b99d4d20e0c67d5412fb40a00ada3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#a719b99d4d20e0c67d5412fb40a00ada3">GetDrawConstraintSize</a> () const</td></tr>
  299. <tr class="memdesc:a719b99d4d20e0c67d5412fb40a00ada3 inherit pub_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of constraint when drawing it through the debug renderer. <br /></td></tr>
  300. <tr class="separator:a719b99d4d20e0c67d5412fb40a00ada3 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  301. <tr class="memitem:ae26efcf11518c9b1c2e15821ca7d8937 inherit pub_methods_class_constraint" id="r_ae26efcf11518c9b1c2e15821ca7d8937"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#ae26efcf11518c9b1c2e15821ca7d8937">SetDrawConstraintSize</a> (float inSize)</td></tr>
  302. <tr class="separator:ae26efcf11518c9b1c2e15821ca7d8937 inherit pub_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  303. <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>
  304. <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>
  305. <tr class="memdesc:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  306. <tr class="separator:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  307. <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>
  308. <tr class="separator:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  309. <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>
  310. <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>
  311. <tr class="separator:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  312. <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>
  313. <tr class="separator:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  314. <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>
  315. <tr class="memdesc:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br /></td></tr>
  316. <tr class="separator:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  317. <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>
  318. <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>
  319. <tr class="separator:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  320. <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>
  321. <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>
  322. <tr class="separator:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  323. <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>
  324. <tr class="separator:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  325. <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>
  326. <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>
  327. <tr class="separator:a809b6e4ade7ae32f6d248f2a3b783d45 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  328. <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>
  329. <tr class="separator:a501d34ffcc34b30de6d541887a901057 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  330. <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>
  331. <tr class="separator:aaf9b12dcaae80c9d304df7a941d4e21f inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  332. <tr class="inherit_header pub_methods_class_physics_step_listener"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_physics_step_listener')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_physics_step_listener.html">PhysicsStepListener</a></td></tr>
  333. <tr class="memitem:ad977d0eae86ac63814eb9742f896ad4b inherit pub_methods_class_physics_step_listener" id="r_ad977d0eae86ac63814eb9742f896ad4b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_physics_step_listener.html#ad977d0eae86ac63814eb9742f896ad4b">~PhysicsStepListener</a> ()=default</td></tr>
  334. <tr class="memdesc:ad977d0eae86ac63814eb9742f896ad4b inherit pub_methods_class_physics_step_listener"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ensure virtual destructor. <br /></td></tr>
  335. <tr class="separator:ad977d0eae86ac63814eb9742f896ad4b inherit pub_methods_class_physics_step_listener"><td class="memSeparator" colspan="2">&#160;</td></tr>
  336. </table><table class="memberdecls">
  337. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
  338. Additional Inherited Members</h2></td></tr>
  339. <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>
  340. <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>
  341. <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>
  342. <tr class="separator:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  343. <tr class="inherit_header pro_methods_class_constraint"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_class_constraint')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_constraint.html">Constraint</a></td></tr>
  344. <tr class="memitem:aa117730922a803f0a12321bcd68583ab inherit pro_methods_class_constraint" id="r_aa117730922a803f0a12321bcd68583ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#aa117730922a803f0a12321bcd68583ab">ToConstraintSettings</a> (<a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &amp;outSettings) const</td></tr>
  345. <tr class="memdesc:aa117730922a803f0a12321bcd68583ab inherit pro_methods_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function to copy settings back to constraint settings for this base class. <br /></td></tr>
  346. <tr class="separator:aa117730922a803f0a12321bcd68583ab inherit pro_methods_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  347. <tr class="inherit_header pro_attribs_class_constraint"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_attribs_class_constraint')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_constraint.html">Constraint</a></td></tr>
  348. <tr class="memitem:af5f5c736eb3830ff27ec07200399dc46 inherit pro_attribs_class_constraint" id="r_af5f5c736eb3830ff27ec07200399dc46"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_constraint.html#af5f5c736eb3830ff27ec07200399dc46">mDrawConstraintSize</a></td></tr>
  349. <tr class="memdesc:af5f5c736eb3830ff27ec07200399dc46 inherit pro_attribs_class_constraint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of constraint when drawing it through the debug renderer. <br /></td></tr>
  350. <tr class="separator:af5f5c736eb3830ff27ec07200399dc46 inherit pro_attribs_class_constraint"><td class="memSeparator" colspan="2">&#160;</td></tr>
  351. <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>
  352. <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>
  353. <tr class="memdesc:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current reference count. <br /></td></tr>
  354. <tr class="separator:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  355. <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>
  356. <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>
  357. <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>
  358. <tr class="separator:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  359. </table>
  360. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  361. <div class="textblock"><p><a class="el" href="class_constraint.html" title="Base class for all physics constraints. A constraint removes one or more degrees of freedom for a rig...">Constraint</a> that simulates a vehicle Note: Don't forget to register the constraint as a StepListener with the PhysicsSystem!</p>
  362. <p>When the vehicle drives over very light objects (rubble) you may see the car body dip down. This is a known issue and is an artifact of the iterative solver that Jolt is using. Basically if a light object is sandwiched between two heavy objects (the static floor and the car body), the light object is not able to transfer enough force from the ground to the car body to keep the car body up. You can see this effect in the HeavyOnLightTest sample, the boxes on the right have a lot of penetration because they're on top of light objects.</p>
  363. <p>There are a couple of ways to improve this:</p>
  364. <ol type="1">
  365. <li>You can increase the number of velocity steps (global settings <a class="el" href="struct_physics_settings.html#a66af679ba7f202b402bb23d0a0e117ad">PhysicsSettings::mNumVelocitySteps</a> or if you only want to increase it on the vehicle you can use <a class="el" href="class_constraint_settings.html#ade4ba912369caad8d5acb9ce87c27e4f" title="Used only when the constraint is active. Override for the number of solver velocity iterations to run...">VehicleConstraintSettings::mNumVelocityStepsOverride</a>). E.g. going from 10 to 30 steps in the HeavyOnLightTest sample makes the penetration a lot less. The number of position steps can also be increased (the first prevents the body from going down, the second corrects it if the problem did occur which inevitably happens due to numerical drift). This solution costs CPU cycles.</li>
  366. <li>You can reduce the mass difference between the vehicle body and the rubble on the floor (by making the rubble heavier or the car lighter).</li>
  367. <li>You could filter out collisions between the vehicle collision test and the rubble completely. This would make the wheels ignore the rubble but would cause the vehicle to drive through it as if nothing happened. You could create fake wheels (keyframed bodies) that move along with the vehicle and that only collide with rubble (and not the vehicle or the ground). This would cause the vehicle to push away the rubble without the rubble being able to affect the vehicle (unless it hits the main body of course).</li>
  368. </ol>
  369. <p>Note that when driving over rubble, you may see the wheel jump up and down quite quickly because one frame a collision is found and the next frame not. To alleviate this, it may be needed to smooth the motion of the visual mesh for the wheel. </p>
  370. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  371. <a id="a98e6b9822af90bf4d3a513d04acd5bc8" name="a98e6b9822af90bf4d3a513d04acd5bc8"></a>
  372. <h2 class="memtitle"><span class="permalink"><a href="#a98e6b9822af90bf4d3a513d04acd5bc8">&#9670;&#160;</a></span>CombineFunction</h2>
  373. <div class="memitem">
  374. <div class="memproto">
  375. <table class="memname">
  376. <tr>
  377. <td class="memname">using <a class="el" href="#a98e6b9822af90bf4d3a513d04acd5bc8">VehicleConstraint::CombineFunction</a> = function&lt;void(<a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> inWheelIndex, float &amp;ioLongitudinalFriction, float &amp;ioLateralFriction, const <a class="el" href="class_body.html">Body</a> &amp;inBody2, const <a class="el" href="class_sub_shape_i_d.html">SubShapeID</a> &amp;inSubShapeID2)&gt;</td>
  378. </tr>
  379. </table>
  380. </div><div class="memdoc">
  381. <p>Callback function to combine the friction of a tire with the friction of the body it is colliding with. On input ioLongitudinalFriction and ioLateralFriction contain the friction of the tire, on output they should contain the combined friction with inBody2. </p>
  382. </div>
  383. </div>
  384. <a id="a0f8cccf0624b4eac3886bfb412dfb91f" name="a0f8cccf0624b4eac3886bfb412dfb91f"></a>
  385. <h2 class="memtitle"><span class="permalink"><a href="#a0f8cccf0624b4eac3886bfb412dfb91f">&#9670;&#160;</a></span>StepCallback</h2>
  386. <div class="memitem">
  387. <div class="memproto">
  388. <table class="memname">
  389. <tr>
  390. <td class="memname">using <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">VehicleConstraint::StepCallback</a> = function&lt;void(<a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;inVehicle, const <a class="el" href="class_physics_step_listener_context.html">PhysicsStepListenerContext</a> &amp;inContext)&gt;</td>
  391. </tr>
  392. </table>
  393. </div><div class="memdoc">
  394. <p>Callback function to notify of current stage in <a class="el" href="class_physics_step_listener.html#ab4de6bf7f8150c3e4b3d4667c61674ea">PhysicsStepListener::OnStep</a>. </p>
  395. </div>
  396. </div>
  397. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  398. <a id="af1d28eee52fc3cb7a2f8b8a81edfc464" name="af1d28eee52fc3cb7a2f8b8a81edfc464"></a>
  399. <h2 class="memtitle"><span class="permalink"><a href="#af1d28eee52fc3cb7a2f8b8a81edfc464">&#9670;&#160;</a></span>VehicleConstraint()</h2>
  400. <div class="memitem">
  401. <div class="memproto">
  402. <table class="memname">
  403. <tr>
  404. <td class="memname">VehicleConstraint::VehicleConstraint </td>
  405. <td>(</td>
  406. <td class="paramtype"><a class="el" href="class_body.html">Body</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inVehicleBody</em></span>, </td>
  407. </tr>
  408. <tr>
  409. <td class="paramkey"></td>
  410. <td></td>
  411. <td class="paramtype">const <a class="el" href="class_vehicle_constraint_settings.html">VehicleConstraintSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSettings</em></span>&#160;)</td>
  412. </tr>
  413. </table>
  414. </div><div class="memdoc">
  415. <p>Constructor / destructor. </p>
  416. </div>
  417. </div>
  418. <a id="a9ea9a006933b3e0b1938b3b247957830" name="a9ea9a006933b3e0b1938b3b247957830"></a>
  419. <h2 class="memtitle"><span class="permalink"><a href="#a9ea9a006933b3e0b1938b3b247957830">&#9670;&#160;</a></span>~VehicleConstraint()</h2>
  420. <div class="memitem">
  421. <div class="memproto">
  422. <table class="mlabels">
  423. <tr>
  424. <td class="mlabels-left">
  425. <table class="memname">
  426. <tr>
  427. <td class="memname">VehicleConstraint::~VehicleConstraint </td>
  428. <td>(</td>
  429. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  430. <td></td>
  431. </tr>
  432. </table>
  433. </td>
  434. <td class="mlabels-right">
  435. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  436. </tr>
  437. </table>
  438. </div><div class="memdoc">
  439. </div>
  440. </div>
  441. <h2 class="groupheader">Member Function Documentation</h2>
  442. <a id="ad04e72e964c227c63e9c2c264de269c9" name="ad04e72e964c227c63e9c2c264de269c9"></a>
  443. <h2 class="memtitle"><span class="permalink"><a href="#ad04e72e964c227c63e9c2c264de269c9">&#9670;&#160;</a></span>BuildIslands()</h2>
  444. <div class="memitem">
  445. <div class="memproto">
  446. <table class="mlabels">
  447. <tr>
  448. <td class="mlabels-left">
  449. <table class="memname">
  450. <tr>
  451. <td class="memname">void VehicleConstraint::BuildIslands </td>
  452. <td>(</td>
  453. <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>
  454. </tr>
  455. <tr>
  456. <td class="paramkey"></td>
  457. <td></td>
  458. <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>
  459. </tr>
  460. <tr>
  461. <td class="paramkey"></td>
  462. <td></td>
  463. <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>
  464. </tr>
  465. </table>
  466. </td>
  467. <td class="mlabels-right">
  468. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  469. </tr>
  470. </table>
  471. </div><div class="memdoc">
  472. <p>Link bodies that are connected by this constraint in the island builder. </p>
  473. <p>Implements <a class="el" href="class_constraint.html#af62388f6f234f8cd7d24af34e49180fd">Constraint</a>.</p>
  474. </div>
  475. </div>
  476. <a id="a3e1637cfc4d982db7ba9116da7986adf" name="a3e1637cfc4d982db7ba9116da7986adf"></a>
  477. <h2 class="memtitle"><span class="permalink"><a href="#a3e1637cfc4d982db7ba9116da7986adf">&#9670;&#160;</a></span>BuildIslandSplits()</h2>
  478. <div class="memitem">
  479. <div class="memproto">
  480. <table class="mlabels">
  481. <tr>
  482. <td class="mlabels-left">
  483. <table class="memname">
  484. <tr>
  485. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> VehicleConstraint::BuildIslandSplits </td>
  486. <td>(</td>
  487. <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>
  488. <td> const</td>
  489. </tr>
  490. </table>
  491. </td>
  492. <td class="mlabels-right">
  493. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  494. </tr>
  495. </table>
  496. </div><div class="memdoc">
  497. <p>Link bodies that are connected by this constraint in the same split. Returns the split index. </p>
  498. <p>Implements <a class="el" href="class_constraint.html#a6388265dbe8e1a92980d796006879798">Constraint</a>.</p>
  499. </div>
  500. </div>
  501. <a id="af2493620d3e9d960b3cbf0641c182251" name="af2493620d3e9d960b3cbf0641c182251"></a>
  502. <h2 class="memtitle"><span class="permalink"><a href="#af2493620d3e9d960b3cbf0641c182251">&#9670;&#160;</a></span>DrawConstraint()</h2>
  503. <div class="memitem">
  504. <div class="memproto">
  505. <table class="mlabels">
  506. <tr>
  507. <td class="mlabels-left">
  508. <table class="memname">
  509. <tr>
  510. <td class="memname">void VehicleConstraint::DrawConstraint </td>
  511. <td>(</td>
  512. <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>
  513. <td> const</td>
  514. </tr>
  515. </table>
  516. </td>
  517. <td class="mlabels-right">
  518. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  519. </tr>
  520. </table>
  521. </div><div class="memdoc">
  522. <p>Implements <a class="el" href="class_constraint.html#acd05177b26e3251b1a9aff9dded18701">Constraint</a>.</p>
  523. </div>
  524. </div>
  525. <a id="aa5ecf61104253599b367ce944f9a3dba" name="aa5ecf61104253599b367ce944f9a3dba"></a>
  526. <h2 class="memtitle"><span class="permalink"><a href="#aa5ecf61104253599b367ce944f9a3dba">&#9670;&#160;</a></span>DrawConstraintLimits()</h2>
  527. <div class="memitem">
  528. <div class="memproto">
  529. <table class="mlabels">
  530. <tr>
  531. <td class="mlabels-left">
  532. <table class="memname">
  533. <tr>
  534. <td class="memname">void VehicleConstraint::DrawConstraintLimits </td>
  535. <td>(</td>
  536. <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>
  537. <td> const</td>
  538. </tr>
  539. </table>
  540. </td>
  541. <td class="mlabels-right">
  542. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  543. </tr>
  544. </table>
  545. </div><div class="memdoc">
  546. <p>Reimplemented from <a class="el" href="class_constraint.html#a528e67a83b796e469b10d5c473dc195f">Constraint</a>.</p>
  547. </div>
  548. </div>
  549. <a id="a0d1c3ba4aa13f74349f51e3af74466ab" name="a0d1c3ba4aa13f74349f51e3af74466ab"></a>
  550. <h2 class="memtitle"><span class="permalink"><a href="#a0d1c3ba4aa13f74349f51e3af74466ab">&#9670;&#160;</a></span>GetAntiRollBars() <span class="overload">[1/2]</span></h2>
  551. <div class="memitem">
  552. <div class="memproto">
  553. <table class="mlabels">
  554. <tr>
  555. <td class="mlabels-left">
  556. <table class="memname">
  557. <tr>
  558. <td class="memname"><a class="el" href="_vehicle_anti_roll_bar_8h.html#a3b8efbeb4ae2eca1f28f007c2a9bdac4">VehicleAntiRollBars</a> &amp; VehicleConstraint::GetAntiRollBars </td>
  559. <td>(</td>
  560. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  561. <td></td>
  562. </tr>
  563. </table>
  564. </td>
  565. <td class="mlabels-right">
  566. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  567. </tr>
  568. </table>
  569. </div><div class="memdoc">
  570. </div>
  571. </div>
  572. <a id="a0befd7faf7460671775794f352801de3" name="a0befd7faf7460671775794f352801de3"></a>
  573. <h2 class="memtitle"><span class="permalink"><a href="#a0befd7faf7460671775794f352801de3">&#9670;&#160;</a></span>GetAntiRollBars() <span class="overload">[2/2]</span></h2>
  574. <div class="memitem">
  575. <div class="memproto">
  576. <table class="mlabels">
  577. <tr>
  578. <td class="mlabels-left">
  579. <table class="memname">
  580. <tr>
  581. <td class="memname">const <a class="el" href="_vehicle_anti_roll_bar_8h.html#a3b8efbeb4ae2eca1f28f007c2a9bdac4">VehicleAntiRollBars</a> &amp; VehicleConstraint::GetAntiRollBars </td>
  582. <td>(</td>
  583. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  584. <td> const</td>
  585. </tr>
  586. </table>
  587. </td>
  588. <td class="mlabels-right">
  589. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  590. </tr>
  591. </table>
  592. </div><div class="memdoc">
  593. <p>Access to the vehicle's anti roll bars. </p>
  594. </div>
  595. </div>
  596. <a id="a2d6d79ed657818da23c2ede0bc326f13" name="a2d6d79ed657818da23c2ede0bc326f13"></a>
  597. <h2 class="memtitle"><span class="permalink"><a href="#a2d6d79ed657818da23c2ede0bc326f13">&#9670;&#160;</a></span>GetCombineFriction()</h2>
  598. <div class="memitem">
  599. <div class="memproto">
  600. <table class="mlabels">
  601. <tr>
  602. <td class="mlabels-left">
  603. <table class="memname">
  604. <tr>
  605. <td class="memname">const <a class="el" href="#a98e6b9822af90bf4d3a513d04acd5bc8">CombineFunction</a> &amp; VehicleConstraint::GetCombineFriction </td>
  606. <td>(</td>
  607. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  608. <td> const</td>
  609. </tr>
  610. </table>
  611. </td>
  612. <td class="mlabels-right">
  613. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  614. </tr>
  615. </table>
  616. </div><div class="memdoc">
  617. </div>
  618. </div>
  619. <a id="af953060386f731482956bb772840262c" name="af953060386f731482956bb772840262c"></a>
  620. <h2 class="memtitle"><span class="permalink"><a href="#af953060386f731482956bb772840262c">&#9670;&#160;</a></span>GetConstraintSettings()</h2>
  621. <div class="memitem">
  622. <div class="memproto">
  623. <table class="mlabels">
  624. <tr>
  625. <td class="mlabels-left">
  626. <table class="memname">
  627. <tr>
  628. <td class="memname"><a class="el" href="class_ref.html">Ref</a>&lt; <a class="el" href="class_constraint_settings.html">ConstraintSettings</a> &gt; VehicleConstraint::GetConstraintSettings </td>
  629. <td>(</td>
  630. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  631. <td> const</td>
  632. </tr>
  633. </table>
  634. </td>
  635. <td class="mlabels-right">
  636. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  637. </tr>
  638. </table>
  639. </div><div class="memdoc">
  640. <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>
  641. <p>Implements <a class="el" href="class_constraint.html#a2cb32f0fbbc03050fd09c975e01277d2">Constraint</a>.</p>
  642. </div>
  643. </div>
  644. <a id="a4f55ac332056282078f054e099b147cc" name="a4f55ac332056282078f054e099b147cc"></a>
  645. <h2 class="memtitle"><span class="permalink"><a href="#a4f55ac332056282078f054e099b147cc">&#9670;&#160;</a></span>GetController() <span class="overload">[1/2]</span></h2>
  646. <div class="memitem">
  647. <div class="memproto">
  648. <table class="mlabels">
  649. <tr>
  650. <td class="mlabels-left">
  651. <table class="memname">
  652. <tr>
  653. <td class="memname"><a class="el" href="class_vehicle_controller.html">VehicleController</a> * VehicleConstraint::GetController </td>
  654. <td>(</td>
  655. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  656. <td></td>
  657. </tr>
  658. </table>
  659. </td>
  660. <td class="mlabels-right">
  661. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  662. </tr>
  663. </table>
  664. </div><div class="memdoc">
  665. <p>Access to the vehicle controller interface (determines acceleration / deceleration) </p>
  666. </div>
  667. </div>
  668. <a id="ab0b1fdc09970442c9cb800cbadcf9643" name="ab0b1fdc09970442c9cb800cbadcf9643"></a>
  669. <h2 class="memtitle"><span class="permalink"><a href="#ab0b1fdc09970442c9cb800cbadcf9643">&#9670;&#160;</a></span>GetController() <span class="overload">[2/2]</span></h2>
  670. <div class="memitem">
  671. <div class="memproto">
  672. <table class="mlabels">
  673. <tr>
  674. <td class="mlabels-left">
  675. <table class="memname">
  676. <tr>
  677. <td class="memname">const <a class="el" href="class_vehicle_controller.html">VehicleController</a> * VehicleConstraint::GetController </td>
  678. <td>(</td>
  679. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  680. <td> const</td>
  681. </tr>
  682. </table>
  683. </td>
  684. <td class="mlabels-right">
  685. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  686. </tr>
  687. </table>
  688. </div><div class="memdoc">
  689. <p>Access to the vehicle controller interface (determines acceleration / deceleration) </p>
  690. </div>
  691. </div>
  692. <a id="a557d0f6ff57dd2b6aa3a2f6da7e38f8e" name="a557d0f6ff57dd2b6aa3a2f6da7e38f8e"></a>
  693. <h2 class="memtitle"><span class="permalink"><a href="#a557d0f6ff57dd2b6aa3a2f6da7e38f8e">&#9670;&#160;</a></span>GetGravityOverride()</h2>
  694. <div class="memitem">
  695. <div class="memproto">
  696. <table class="mlabels">
  697. <tr>
  698. <td class="mlabels-left">
  699. <table class="memname">
  700. <tr>
  701. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> VehicleConstraint::GetGravityOverride </td>
  702. <td>(</td>
  703. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  704. <td> const</td>
  705. </tr>
  706. </table>
  707. </td>
  708. <td class="mlabels-right">
  709. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  710. </tr>
  711. </table>
  712. </div><div class="memdoc">
  713. </div>
  714. </div>
  715. <a id="a5a54f4f23549e7d828e4a2e51fcfc312" name="a5a54f4f23549e7d828e4a2e51fcfc312"></a>
  716. <h2 class="memtitle"><span class="permalink"><a href="#a5a54f4f23549e7d828e4a2e51fcfc312">&#9670;&#160;</a></span>GetLocalForward()</h2>
  717. <div class="memitem">
  718. <div class="memproto">
  719. <table class="mlabels">
  720. <tr>
  721. <td class="mlabels-left">
  722. <table class="memname">
  723. <tr>
  724. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> VehicleConstraint::GetLocalForward </td>
  725. <td>(</td>
  726. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  727. <td> const</td>
  728. </tr>
  729. </table>
  730. </td>
  731. <td class="mlabels-right">
  732. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  733. </tr>
  734. </table>
  735. </div><div class="memdoc">
  736. <p>Get the local space forward vector of the vehicle. </p>
  737. </div>
  738. </div>
  739. <a id="a9e88c415ed7c4ae5cea93506fd53ae28" name="a9e88c415ed7c4ae5cea93506fd53ae28"></a>
  740. <h2 class="memtitle"><span class="permalink"><a href="#a9e88c415ed7c4ae5cea93506fd53ae28">&#9670;&#160;</a></span>GetLocalUp()</h2>
  741. <div class="memitem">
  742. <div class="memproto">
  743. <table class="mlabels">
  744. <tr>
  745. <td class="mlabels-left">
  746. <table class="memname">
  747. <tr>
  748. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> VehicleConstraint::GetLocalUp </td>
  749. <td>(</td>
  750. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  751. <td> const</td>
  752. </tr>
  753. </table>
  754. </td>
  755. <td class="mlabels-right">
  756. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  757. </tr>
  758. </table>
  759. </div><div class="memdoc">
  760. <p>Get the local space up vector of the vehicle. </p>
  761. </div>
  762. </div>
  763. <a id="af134c8b5ad80e1d97288cdd4d44a58ed" name="af134c8b5ad80e1d97288cdd4d44a58ed"></a>
  764. <h2 class="memtitle"><span class="permalink"><a href="#af134c8b5ad80e1d97288cdd4d44a58ed">&#9670;&#160;</a></span>GetMaxPitchRollAngle()</h2>
  765. <div class="memitem">
  766. <div class="memproto">
  767. <table class="mlabels">
  768. <tr>
  769. <td class="mlabels-left">
  770. <table class="memname">
  771. <tr>
  772. <td class="memname">float VehicleConstraint::GetMaxPitchRollAngle </td>
  773. <td>(</td>
  774. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  775. <td> const</td>
  776. </tr>
  777. </table>
  778. </td>
  779. <td class="mlabels-right">
  780. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  781. </tr>
  782. </table>
  783. </div><div class="memdoc">
  784. </div>
  785. </div>
  786. <a id="aa5612804e5026fcc8c90b0bfab6aba48" name="aa5612804e5026fcc8c90b0bfab6aba48"></a>
  787. <h2 class="memtitle"><span class="permalink"><a href="#aa5612804e5026fcc8c90b0bfab6aba48">&#9670;&#160;</a></span>GetNumStepsBetweenCollisionTestActive()</h2>
  788. <div class="memitem">
  789. <div class="memproto">
  790. <table class="mlabels">
  791. <tr>
  792. <td class="mlabels-left">
  793. <table class="memname">
  794. <tr>
  795. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> VehicleConstraint::GetNumStepsBetweenCollisionTestActive </td>
  796. <td>(</td>
  797. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  798. <td> const</td>
  799. </tr>
  800. </table>
  801. </td>
  802. <td class="mlabels-right">
  803. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  804. </tr>
  805. </table>
  806. </div><div class="memdoc">
  807. </div>
  808. </div>
  809. <a id="a261afc478f9af64ffbf377f86b705f55" name="a261afc478f9af64ffbf377f86b705f55"></a>
  810. <h2 class="memtitle"><span class="permalink"><a href="#a261afc478f9af64ffbf377f86b705f55">&#9670;&#160;</a></span>GetNumStepsBetweenCollisionTestInactive()</h2>
  811. <div class="memitem">
  812. <div class="memproto">
  813. <table class="mlabels">
  814. <tr>
  815. <td class="mlabels-left">
  816. <table class="memname">
  817. <tr>
  818. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> VehicleConstraint::GetNumStepsBetweenCollisionTestInactive </td>
  819. <td>(</td>
  820. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  821. <td> const</td>
  822. </tr>
  823. </table>
  824. </td>
  825. <td class="mlabels-right">
  826. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  827. </tr>
  828. </table>
  829. </div><div class="memdoc">
  830. </div>
  831. </div>
  832. <a id="aa666c4c14ae6b42d5d578ce3c425726b" name="aa666c4c14ae6b42d5d578ce3c425726b"></a>
  833. <h2 class="memtitle"><span class="permalink"><a href="#aa666c4c14ae6b42d5d578ce3c425726b">&#9670;&#160;</a></span>GetPostCollideCallback()</h2>
  834. <div class="memitem">
  835. <div class="memproto">
  836. <table class="mlabels">
  837. <tr>
  838. <td class="mlabels-left">
  839. <table class="memname">
  840. <tr>
  841. <td class="memname">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp; VehicleConstraint::GetPostCollideCallback </td>
  842. <td>(</td>
  843. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  844. <td> const</td>
  845. </tr>
  846. </table>
  847. </td>
  848. <td class="mlabels-right">
  849. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  850. </tr>
  851. </table>
  852. </div><div class="memdoc">
  853. <p>Callback function to notify that <a class="el" href="class_physics_step_listener.html#ab4de6bf7f8150c3e4b3d4667c61674ea">PhysicsStepListener::OnStep</a> has just completed wheel collision checks. Default is to do nothing. Can be used to allow higher-level code to e.g. detect tire contact or to modify the velocity of the vehicle based on the wheel contacts. You should not change the position of the vehicle in this callback as the wheel collision checks have already been performed. </p>
  854. </div>
  855. </div>
  856. <a id="a55c495a44c94d98437ea4254ee8ecfb7" name="a55c495a44c94d98437ea4254ee8ecfb7"></a>
  857. <h2 class="memtitle"><span class="permalink"><a href="#a55c495a44c94d98437ea4254ee8ecfb7">&#9670;&#160;</a></span>GetPostStepCallback()</h2>
  858. <div class="memitem">
  859. <div class="memproto">
  860. <table class="mlabels">
  861. <tr>
  862. <td class="mlabels-left">
  863. <table class="memname">
  864. <tr>
  865. <td class="memname">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp; VehicleConstraint::GetPostStepCallback </td>
  866. <td>(</td>
  867. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  868. <td> const</td>
  869. </tr>
  870. </table>
  871. </td>
  872. <td class="mlabels-right">
  873. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  874. </tr>
  875. </table>
  876. </div><div class="memdoc">
  877. <p>Callback function to notify that <a class="el" href="class_physics_step_listener.html#ab4de6bf7f8150c3e4b3d4667c61674ea">PhysicsStepListener::OnStep</a> has completed for this vehicle. Default is to do nothing. Can be used to allow higher-level code to e.g. control the vehicle in the air. You should not change the position of the vehicle in this callback as the wheel collision checks have already been performed. </p>
  878. </div>
  879. </div>
  880. <a id="a06c77bdf083e33a1814e09b9cdaa74f9" name="a06c77bdf083e33a1814e09b9cdaa74f9"></a>
  881. <h2 class="memtitle"><span class="permalink"><a href="#a06c77bdf083e33a1814e09b9cdaa74f9">&#9670;&#160;</a></span>GetPreStepCallback()</h2>
  882. <div class="memitem">
  883. <div class="memproto">
  884. <table class="mlabels">
  885. <tr>
  886. <td class="mlabels-left">
  887. <table class="memname">
  888. <tr>
  889. <td class="memname">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp; VehicleConstraint::GetPreStepCallback </td>
  890. <td>(</td>
  891. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  892. <td> const</td>
  893. </tr>
  894. </table>
  895. </td>
  896. <td class="mlabels-right">
  897. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  898. </tr>
  899. </table>
  900. </div><div class="memdoc">
  901. <p>Callback function to notify that <a class="el" href="class_physics_step_listener.html#ab4de6bf7f8150c3e4b3d4667c61674ea">PhysicsStepListener::OnStep</a> has started for this vehicle. Default is to do nothing. Can be used to allow higher-level code to e.g. control steering. This is the last moment that the position/orientation of the vehicle can be changed. <a class="el" href="class_wheel.html" title="Base class for runtime data for a wheel, each VehicleController can implement a derived class of this...">Wheel</a> collision checks have not been performed yet. </p>
  902. </div>
  903. </div>
  904. <a id="a989fc35253ed8da61981107b0fc19fba" name="a989fc35253ed8da61981107b0fc19fba"></a>
  905. <h2 class="memtitle"><span class="permalink"><a href="#a989fc35253ed8da61981107b0fc19fba">&#9670;&#160;</a></span>GetSubType()</h2>
  906. <div class="memitem">
  907. <div class="memproto">
  908. <table class="mlabels">
  909. <tr>
  910. <td class="mlabels-left">
  911. <table class="memname">
  912. <tr>
  913. <td class="memname">virtual <a class="el" href="_constraint_8h.html#adfc8350888df0c3a51714b7f372baf2d">EConstraintSubType</a> VehicleConstraint::GetSubType </td>
  914. <td>(</td>
  915. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  916. <td> const</td>
  917. </tr>
  918. </table>
  919. </td>
  920. <td class="mlabels-right">
  921. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  922. </tr>
  923. </table>
  924. </div><div class="memdoc">
  925. <p>Get the type of a constraint. </p>
  926. <p>Implements <a class="el" href="class_constraint.html#a632a8161ad49c443c2e3a8b600a730a1">Constraint</a>.</p>
  927. </div>
  928. </div>
  929. <a id="a402cd50d87d5f478036104b9185fb2db" name="a402cd50d87d5f478036104b9185fb2db"></a>
  930. <h2 class="memtitle"><span class="permalink"><a href="#a402cd50d87d5f478036104b9185fb2db">&#9670;&#160;</a></span>GetVehicleBody()</h2>
  931. <div class="memitem">
  932. <div class="memproto">
  933. <table class="mlabels">
  934. <tr>
  935. <td class="mlabels-left">
  936. <table class="memname">
  937. <tr>
  938. <td class="memname"><a class="el" href="class_body.html">Body</a> * VehicleConstraint::GetVehicleBody </td>
  939. <td>(</td>
  940. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  941. <td> const</td>
  942. </tr>
  943. </table>
  944. </td>
  945. <td class="mlabels-right">
  946. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  947. </tr>
  948. </table>
  949. </div><div class="memdoc">
  950. <p>Access to the vehicle body. </p>
  951. </div>
  952. </div>
  953. <a id="a71407c82b38b7ef2407c1fbd4860f30b" name="a71407c82b38b7ef2407c1fbd4860f30b"></a>
  954. <h2 class="memtitle"><span class="permalink"><a href="#a71407c82b38b7ef2407c1fbd4860f30b">&#9670;&#160;</a></span>GetVehicleCollisionTester()</h2>
  955. <div class="memitem">
  956. <div class="memproto">
  957. <table class="mlabels">
  958. <tr>
  959. <td class="mlabels-left">
  960. <table class="memname">
  961. <tr>
  962. <td class="memname">const <a class="el" href="class_vehicle_collision_tester.html">VehicleCollisionTester</a> * VehicleConstraint::GetVehicleCollisionTester </td>
  963. <td>(</td>
  964. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  965. <td> const</td>
  966. </tr>
  967. </table>
  968. </td>
  969. <td class="mlabels-right">
  970. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  971. </tr>
  972. </table>
  973. </div><div class="memdoc">
  974. </div>
  975. </div>
  976. <a id="a6d90f054b9fa121d8ec9b1e2f0dcba65" name="a6d90f054b9fa121d8ec9b1e2f0dcba65"></a>
  977. <h2 class="memtitle"><span class="permalink"><a href="#a6d90f054b9fa121d8ec9b1e2f0dcba65">&#9670;&#160;</a></span>GetWheel() <span class="overload">[1/2]</span></h2>
  978. <div class="memitem">
  979. <div class="memproto">
  980. <table class="mlabels">
  981. <tr>
  982. <td class="mlabels-left">
  983. <table class="memname">
  984. <tr>
  985. <td class="memname"><a class="el" href="class_wheel.html">Wheel</a> * VehicleConstraint::GetWheel </td>
  986. <td>(</td>
  987. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inIdx</em></span></td><td>)</td>
  988. <td></td>
  989. </tr>
  990. </table>
  991. </td>
  992. <td class="mlabels-right">
  993. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  994. </tr>
  995. </table>
  996. </div><div class="memdoc">
  997. <p>Get the state of a wheel. </p>
  998. </div>
  999. </div>
  1000. <a id="a205699c8c9916b774790a8f87a43d61c" name="a205699c8c9916b774790a8f87a43d61c"></a>
  1001. <h2 class="memtitle"><span class="permalink"><a href="#a205699c8c9916b774790a8f87a43d61c">&#9670;&#160;</a></span>GetWheel() <span class="overload">[2/2]</span></h2>
  1002. <div class="memitem">
  1003. <div class="memproto">
  1004. <table class="mlabels">
  1005. <tr>
  1006. <td class="mlabels-left">
  1007. <table class="memname">
  1008. <tr>
  1009. <td class="memname">const <a class="el" href="class_wheel.html">Wheel</a> * VehicleConstraint::GetWheel </td>
  1010. <td>(</td>
  1011. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inIdx</em></span></td><td>)</td>
  1012. <td> const</td>
  1013. </tr>
  1014. </table>
  1015. </td>
  1016. <td class="mlabels-right">
  1017. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1018. </tr>
  1019. </table>
  1020. </div><div class="memdoc">
  1021. </div>
  1022. </div>
  1023. <a id="ad752f73785ddd88b0e4776101d914f38" name="ad752f73785ddd88b0e4776101d914f38"></a>
  1024. <h2 class="memtitle"><span class="permalink"><a href="#ad752f73785ddd88b0e4776101d914f38">&#9670;&#160;</a></span>GetWheelLocalBasis()</h2>
  1025. <div class="memitem">
  1026. <div class="memproto">
  1027. <table class="memname">
  1028. <tr>
  1029. <td class="memname">void VehicleConstraint::GetWheelLocalBasis </td>
  1030. <td>(</td>
  1031. <td class="paramtype">const <a class="el" href="class_wheel.html">Wheel</a> *</td> <td class="paramname"><span class="paramname"><em>inWheel</em></span>, </td>
  1032. </tr>
  1033. <tr>
  1034. <td class="paramkey"></td>
  1035. <td></td>
  1036. <td class="paramtype"><a class="el" href="class_vec3.html">Vec3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>outForward</em></span>, </td>
  1037. </tr>
  1038. <tr>
  1039. <td class="paramkey"></td>
  1040. <td></td>
  1041. <td class="paramtype"><a class="el" href="class_vec3.html">Vec3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>outUp</em></span>, </td>
  1042. </tr>
  1043. <tr>
  1044. <td class="paramkey"></td>
  1045. <td></td>
  1046. <td class="paramtype"><a class="el" href="class_vec3.html">Vec3</a> &amp;</td> <td class="paramname"><span class="paramname"><em>outRight</em></span>&#160;) const</td>
  1047. </tr>
  1048. </table>
  1049. </div><div class="memdoc">
  1050. <p>Get the basis vectors for the wheel in local space to the vehicle body (note: basis does not rotate when the wheel rotates around its axis) </p><dl class="params"><dt>Parameters</dt><dd>
  1051. <table class="params">
  1052. <tr><td class="paramname">inWheel</td><td><a class="el" href="class_wheel.html" title="Base class for runtime data for a wheel, each VehicleController can implement a derived class of this...">Wheel</a> to fetch basis for </td></tr>
  1053. <tr><td class="paramname">outForward</td><td>Forward vector for the wheel </td></tr>
  1054. <tr><td class="paramname">outUp</td><td>Up vector for the wheel </td></tr>
  1055. <tr><td class="paramname">outRight</td><td>Right vector for the wheel </td></tr>
  1056. </table>
  1057. </dd>
  1058. </dl>
  1059. </div>
  1060. </div>
  1061. <a id="a26fa80f7292448dd869df47c46a30adf" name="a26fa80f7292448dd869df47c46a30adf"></a>
  1062. <h2 class="memtitle"><span class="permalink"><a href="#a26fa80f7292448dd869df47c46a30adf">&#9670;&#160;</a></span>GetWheelLocalTransform()</h2>
  1063. <div class="memitem">
  1064. <div class="memproto">
  1065. <table class="memname">
  1066. <tr>
  1067. <td class="memname"><a class="el" href="class_mat44.html">Mat44</a> VehicleConstraint::GetWheelLocalTransform </td>
  1068. <td>(</td>
  1069. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inWheelIndex</em></span>, </td>
  1070. </tr>
  1071. <tr>
  1072. <td class="paramkey"></td>
  1073. <td></td>
  1074. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inWheelRight</em></span>, </td>
  1075. </tr>
  1076. <tr>
  1077. <td class="paramkey"></td>
  1078. <td></td>
  1079. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inWheelUp</em></span>&#160;) const</td>
  1080. </tr>
  1081. </table>
  1082. </div><div class="memdoc">
  1083. <p>Get the transform of a wheel in local space to the vehicle body, returns a matrix that transforms a cylinder aligned with the Y axis in body space (not COM space) </p><dl class="params"><dt>Parameters</dt><dd>
  1084. <table class="params">
  1085. <tr><td class="paramname">inWheelIndex</td><td>Index of the wheel to fetch </td></tr>
  1086. <tr><td class="paramname">inWheelRight</td><td>Unit vector that indicates right in model space of the wheel (so if you only have 1 wheel model, you probably want to specify the opposite direction for the left and right wheels) </td></tr>
  1087. <tr><td class="paramname">inWheelUp</td><td>Unit vector that indicates up in model space of the wheel </td></tr>
  1088. </table>
  1089. </dd>
  1090. </dl>
  1091. </div>
  1092. </div>
  1093. <a id="a5b39b845e91504642e180a4f35df0a45" name="a5b39b845e91504642e180a4f35df0a45"></a>
  1094. <h2 class="memtitle"><span class="permalink"><a href="#a5b39b845e91504642e180a4f35df0a45">&#9670;&#160;</a></span>GetWheels() <span class="overload">[1/2]</span></h2>
  1095. <div class="memitem">
  1096. <div class="memproto">
  1097. <table class="mlabels">
  1098. <tr>
  1099. <td class="mlabels-left">
  1100. <table class="memname">
  1101. <tr>
  1102. <td class="memname"><a class="el" href="_wheel_8h.html#a177d95c47064f7e2adb44ca634cd550d">Wheels</a> &amp; VehicleConstraint::GetWheels </td>
  1103. <td>(</td>
  1104. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1105. <td></td>
  1106. </tr>
  1107. </table>
  1108. </td>
  1109. <td class="mlabels-right">
  1110. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1111. </tr>
  1112. </table>
  1113. </div><div class="memdoc">
  1114. <p>Get the state of a wheels (writable interface, allows you to make changes to the configuration which will take effect the next time step) </p>
  1115. </div>
  1116. </div>
  1117. <a id="af2a24975a01de3cf22ab55ba2ac6ed74" name="af2a24975a01de3cf22ab55ba2ac6ed74"></a>
  1118. <h2 class="memtitle"><span class="permalink"><a href="#af2a24975a01de3cf22ab55ba2ac6ed74">&#9670;&#160;</a></span>GetWheels() <span class="overload">[2/2]</span></h2>
  1119. <div class="memitem">
  1120. <div class="memproto">
  1121. <table class="mlabels">
  1122. <tr>
  1123. <td class="mlabels-left">
  1124. <table class="memname">
  1125. <tr>
  1126. <td class="memname">const <a class="el" href="_wheel_8h.html#a177d95c47064f7e2adb44ca634cd550d">Wheels</a> &amp; VehicleConstraint::GetWheels </td>
  1127. <td>(</td>
  1128. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1129. <td> const</td>
  1130. </tr>
  1131. </table>
  1132. </td>
  1133. <td class="mlabels-right">
  1134. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1135. </tr>
  1136. </table>
  1137. </div><div class="memdoc">
  1138. <p>Get the state of the wheels. </p>
  1139. </div>
  1140. </div>
  1141. <a id="ab4e43b201b7379b643820447daae173c" name="ab4e43b201b7379b643820447daae173c"></a>
  1142. <h2 class="memtitle"><span class="permalink"><a href="#ab4e43b201b7379b643820447daae173c">&#9670;&#160;</a></span>GetWheelWorldTransform()</h2>
  1143. <div class="memitem">
  1144. <div class="memproto">
  1145. <table class="memname">
  1146. <tr>
  1147. <td class="memname"><a class="el" href="_real_8h.html#ab2b99ab2c9bab2170e4744e9fb519625">RMat44</a> VehicleConstraint::GetWheelWorldTransform </td>
  1148. <td>(</td>
  1149. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inWheelIndex</em></span>, </td>
  1150. </tr>
  1151. <tr>
  1152. <td class="paramkey"></td>
  1153. <td></td>
  1154. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inWheelRight</em></span>, </td>
  1155. </tr>
  1156. <tr>
  1157. <td class="paramkey"></td>
  1158. <td></td>
  1159. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inWheelUp</em></span>&#160;) const</td>
  1160. </tr>
  1161. </table>
  1162. </div><div class="memdoc">
  1163. <p>Get the transform of a wheel in world space, returns a matrix that transforms a cylinder aligned with the Y axis in world space </p><dl class="params"><dt>Parameters</dt><dd>
  1164. <table class="params">
  1165. <tr><td class="paramname">inWheelIndex</td><td>Index of the wheel to fetch </td></tr>
  1166. <tr><td class="paramname">inWheelRight</td><td>Unit vector that indicates right in model space of the wheel (so if you only have 1 wheel model, you probably want to specify the opposite direction for the left and right wheels) </td></tr>
  1167. <tr><td class="paramname">inWheelUp</td><td>Unit vector that indicates up in model space of the wheel </td></tr>
  1168. </table>
  1169. </dd>
  1170. </dl>
  1171. </div>
  1172. </div>
  1173. <a id="a6f86aee9e1cde819a5cbe56fa0a6aa4e" name="a6f86aee9e1cde819a5cbe56fa0a6aa4e"></a>
  1174. <h2 class="memtitle"><span class="permalink"><a href="#a6f86aee9e1cde819a5cbe56fa0a6aa4e">&#9670;&#160;</a></span>GetWorldUp()</h2>
  1175. <div class="memitem">
  1176. <div class="memproto">
  1177. <table class="mlabels">
  1178. <tr>
  1179. <td class="mlabels-left">
  1180. <table class="memname">
  1181. <tr>
  1182. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> VehicleConstraint::GetWorldUp </td>
  1183. <td>(</td>
  1184. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1185. <td> const</td>
  1186. </tr>
  1187. </table>
  1188. </td>
  1189. <td class="mlabels-right">
  1190. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1191. </tr>
  1192. </table>
  1193. </div><div class="memdoc">
  1194. <p><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> indicating the world space up direction (used to limit vehicle pitch/roll), calculated every frame by inverting gravity. </p>
  1195. </div>
  1196. </div>
  1197. <a id="a44c4c794a9bc8e0812e72ee67644418e" name="a44c4c794a9bc8e0812e72ee67644418e"></a>
  1198. <h2 class="memtitle"><span class="permalink"><a href="#a44c4c794a9bc8e0812e72ee67644418e">&#9670;&#160;</a></span>IsActive()</h2>
  1199. <div class="memitem">
  1200. <div class="memproto">
  1201. <table class="mlabels">
  1202. <tr>
  1203. <td class="mlabels-left">
  1204. <table class="memname">
  1205. <tr>
  1206. <td class="memname">virtual bool VehicleConstraint::IsActive </td>
  1207. <td>(</td>
  1208. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1209. <td> const</td>
  1210. </tr>
  1211. </table>
  1212. </td>
  1213. <td class="mlabels-right">
  1214. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1215. </tr>
  1216. </table>
  1217. </div><div class="memdoc">
  1218. <p>Reimplemented from <a class="el" href="class_constraint.html#a2181f0c1fdc1de4b22afcd42e1b2273a">Constraint</a>.</p>
  1219. </div>
  1220. </div>
  1221. <a id="a47a9c30e28487e4a50e88b618168c01b" name="a47a9c30e28487e4a50e88b618168c01b"></a>
  1222. <h2 class="memtitle"><span class="permalink"><a href="#a47a9c30e28487e4a50e88b618168c01b">&#9670;&#160;</a></span>IsGravityOverridden()</h2>
  1223. <div class="memitem">
  1224. <div class="memproto">
  1225. <table class="mlabels">
  1226. <tr>
  1227. <td class="mlabels-left">
  1228. <table class="memname">
  1229. <tr>
  1230. <td class="memname">bool VehicleConstraint::IsGravityOverridden </td>
  1231. <td>(</td>
  1232. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1233. <td> const</td>
  1234. </tr>
  1235. </table>
  1236. </td>
  1237. <td class="mlabels-right">
  1238. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1239. </tr>
  1240. </table>
  1241. </div><div class="memdoc">
  1242. </div>
  1243. </div>
  1244. <a id="ac3df25ba1e2c0a85e46a1b93702155cf" name="ac3df25ba1e2c0a85e46a1b93702155cf"></a>
  1245. <h2 class="memtitle"><span class="permalink"><a href="#ac3df25ba1e2c0a85e46a1b93702155cf">&#9670;&#160;</a></span>NotifyShapeChanged()</h2>
  1246. <div class="memitem">
  1247. <div class="memproto">
  1248. <table class="mlabels">
  1249. <tr>
  1250. <td class="mlabels-left">
  1251. <table class="memname">
  1252. <tr>
  1253. <td class="memname">virtual void VehicleConstraint::NotifyShapeChanged </td>
  1254. <td>(</td>
  1255. <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>
  1256. </tr>
  1257. <tr>
  1258. <td class="paramkey"></td>
  1259. <td></td>
  1260. <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>
  1261. </tr>
  1262. </table>
  1263. </td>
  1264. <td class="mlabels-right">
  1265. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1266. </tr>
  1267. </table>
  1268. </div><div class="memdoc">
  1269. <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>
  1270. <table class="params">
  1271. <tr><td class="paramname">inBodyID</td><td>ID of the body that has changed </td></tr>
  1272. <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>
  1273. </table>
  1274. </dd>
  1275. </dl>
  1276. <p>Implements <a class="el" href="class_constraint.html#a3072411d2c9da10356f2087cdc02ec70">Constraint</a>.</p>
  1277. </div>
  1278. </div>
  1279. <a id="ad2bda8140c63b7f54330e34c5050c23a" name="ad2bda8140c63b7f54330e34c5050c23a"></a>
  1280. <h2 class="memtitle"><span class="permalink"><a href="#ad2bda8140c63b7f54330e34c5050c23a">&#9670;&#160;</a></span>OverrideGravity()</h2>
  1281. <div class="memitem">
  1282. <div class="memproto">
  1283. <table class="mlabels">
  1284. <tr>
  1285. <td class="mlabels-left">
  1286. <table class="memname">
  1287. <tr>
  1288. <td class="memname">void VehicleConstraint::OverrideGravity </td>
  1289. <td>(</td>
  1290. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inGravity</em></span></td><td>)</td>
  1291. <td></td>
  1292. </tr>
  1293. </table>
  1294. </td>
  1295. <td class="mlabels-right">
  1296. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1297. </tr>
  1298. </table>
  1299. </div><div class="memdoc">
  1300. <p>Override gravity for this vehicle. Note that overriding gravity will set the gravity factor of the vehicle body to 0 and apply gravity in the <a class="el" href="class_physics_step_listener.html" title="A listener class that receives a callback before every physics simulation step.">PhysicsStepListener</a> instead. </p>
  1301. </div>
  1302. </div>
  1303. <a id="a1093abfb21649ac7c26dffc59cb27dfe" name="a1093abfb21649ac7c26dffc59cb27dfe"></a>
  1304. <h2 class="memtitle"><span class="permalink"><a href="#a1093abfb21649ac7c26dffc59cb27dfe">&#9670;&#160;</a></span>ResetGravityOverride()</h2>
  1305. <div class="memitem">
  1306. <div class="memproto">
  1307. <table class="mlabels">
  1308. <tr>
  1309. <td class="mlabels-left">
  1310. <table class="memname">
  1311. <tr>
  1312. <td class="memname">void VehicleConstraint::ResetGravityOverride </td>
  1313. <td>(</td>
  1314. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1315. <td></td>
  1316. </tr>
  1317. </table>
  1318. </td>
  1319. <td class="mlabels-right">
  1320. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1321. </tr>
  1322. </table>
  1323. </div><div class="memdoc">
  1324. <p>Note that resetting the gravity override will restore the gravity factor of the vehicle body to 1. </p>
  1325. </div>
  1326. </div>
  1327. <a id="a181b7955873518cae4b3a1b5f23979d5" name="a181b7955873518cae4b3a1b5f23979d5"></a>
  1328. <h2 class="memtitle"><span class="permalink"><a href="#a181b7955873518cae4b3a1b5f23979d5">&#9670;&#160;</a></span>ResetWarmStart()</h2>
  1329. <div class="memitem">
  1330. <div class="memproto">
  1331. <table class="mlabels">
  1332. <tr>
  1333. <td class="mlabels-left">
  1334. <table class="memname">
  1335. <tr>
  1336. <td class="memname">void VehicleConstraint::ResetWarmStart </td>
  1337. <td>(</td>
  1338. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  1339. <td></td>
  1340. </tr>
  1341. </table>
  1342. </td>
  1343. <td class="mlabels-right">
  1344. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1345. </tr>
  1346. </table>
  1347. </div><div class="memdoc">
  1348. <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>
  1349. <p>Implements <a class="el" href="class_constraint.html#af6f6f7bc9ec10dbaf721515b19241294">Constraint</a>.</p>
  1350. </div>
  1351. </div>
  1352. <a id="a2d36c8bcd57ab5136e962bd03f1992e8" name="a2d36c8bcd57ab5136e962bd03f1992e8"></a>
  1353. <h2 class="memtitle"><span class="permalink"><a href="#a2d36c8bcd57ab5136e962bd03f1992e8">&#9670;&#160;</a></span>RestoreState()</h2>
  1354. <div class="memitem">
  1355. <div class="memproto">
  1356. <table class="mlabels">
  1357. <tr>
  1358. <td class="mlabels-left">
  1359. <table class="memname">
  1360. <tr>
  1361. <td class="memname">void VehicleConstraint::RestoreState </td>
  1362. <td>(</td>
  1363. <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>
  1364. <td></td>
  1365. </tr>
  1366. </table>
  1367. </td>
  1368. <td class="mlabels-right">
  1369. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1370. </tr>
  1371. </table>
  1372. </div><div class="memdoc">
  1373. <p>Restoring state for replay. </p>
  1374. <p>Reimplemented from <a class="el" href="class_constraint.html#a9a8b58f759bee231ebbfc7147041a0b7">Constraint</a>.</p>
  1375. </div>
  1376. </div>
  1377. <a id="a6bdcc90af7d830f5821534d34be01ff7" name="a6bdcc90af7d830f5821534d34be01ff7"></a>
  1378. <h2 class="memtitle"><span class="permalink"><a href="#a6bdcc90af7d830f5821534d34be01ff7">&#9670;&#160;</a></span>SaveState()</h2>
  1379. <div class="memitem">
  1380. <div class="memproto">
  1381. <table class="mlabels">
  1382. <tr>
  1383. <td class="mlabels-left">
  1384. <table class="memname">
  1385. <tr>
  1386. <td class="memname">void VehicleConstraint::SaveState </td>
  1387. <td>(</td>
  1388. <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>
  1389. <td> const</td>
  1390. </tr>
  1391. </table>
  1392. </td>
  1393. <td class="mlabels-right">
  1394. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1395. </tr>
  1396. </table>
  1397. </div><div class="memdoc">
  1398. <p>Saving state for replay. </p>
  1399. <p>Reimplemented from <a class="el" href="class_constraint.html#a829eb3dda397de5cc7a7799ce959cc8b">Constraint</a>.</p>
  1400. </div>
  1401. </div>
  1402. <a id="a1147d607170dca53a0b3be6747022a55" name="a1147d607170dca53a0b3be6747022a55"></a>
  1403. <h2 class="memtitle"><span class="permalink"><a href="#a1147d607170dca53a0b3be6747022a55">&#9670;&#160;</a></span>SetCombineFriction()</h2>
  1404. <div class="memitem">
  1405. <div class="memproto">
  1406. <table class="mlabels">
  1407. <tr>
  1408. <td class="mlabels-left">
  1409. <table class="memname">
  1410. <tr>
  1411. <td class="memname">void VehicleConstraint::SetCombineFriction </td>
  1412. <td>(</td>
  1413. <td class="paramtype">const <a class="el" href="#a98e6b9822af90bf4d3a513d04acd5bc8">CombineFunction</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inCombineFriction</em></span></td><td>)</td>
  1414. <td></td>
  1415. </tr>
  1416. </table>
  1417. </td>
  1418. <td class="mlabels-right">
  1419. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1420. </tr>
  1421. </table>
  1422. </div><div class="memdoc">
  1423. <p>Set the function that combines the friction of two bodies and returns it Default method is the geometric mean: sqrt(friction1 * friction2). </p>
  1424. </div>
  1425. </div>
  1426. <a id="a54aac9425dccebec4565b02df9351641" name="a54aac9425dccebec4565b02df9351641"></a>
  1427. <h2 class="memtitle"><span class="permalink"><a href="#a54aac9425dccebec4565b02df9351641">&#9670;&#160;</a></span>SetMaxPitchRollAngle()</h2>
  1428. <div class="memitem">
  1429. <div class="memproto">
  1430. <table class="mlabels">
  1431. <tr>
  1432. <td class="mlabels-left">
  1433. <table class="memname">
  1434. <tr>
  1435. <td class="memname">void VehicleConstraint::SetMaxPitchRollAngle </td>
  1436. <td>(</td>
  1437. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxPitchRollAngle</em></span></td><td>)</td>
  1438. <td></td>
  1439. </tr>
  1440. </table>
  1441. </td>
  1442. <td class="mlabels-right">
  1443. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1444. </tr>
  1445. </table>
  1446. </div><div class="memdoc">
  1447. <p>Defines the maximum pitch/roll angle (rad), can be used to avoid the car from getting upside down. The vehicle up direction will stay within a cone centered around the up axis with half top angle mMaxPitchRollAngle, set to pi to turn off. </p>
  1448. </div>
  1449. </div>
  1450. <a id="a0a7585ead6b614188ac35590495843e1" name="a0a7585ead6b614188ac35590495843e1"></a>
  1451. <h2 class="memtitle"><span class="permalink"><a href="#a0a7585ead6b614188ac35590495843e1">&#9670;&#160;</a></span>SetNumStepsBetweenCollisionTestActive()</h2>
  1452. <div class="memitem">
  1453. <div class="memproto">
  1454. <table class="mlabels">
  1455. <tr>
  1456. <td class="mlabels-left">
  1457. <table class="memname">
  1458. <tr>
  1459. <td class="memname">void VehicleConstraint::SetNumStepsBetweenCollisionTestActive </td>
  1460. <td>(</td>
  1461. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inSteps</em></span></td><td>)</td>
  1462. <td></td>
  1463. </tr>
  1464. </table>
  1465. </td>
  1466. <td class="mlabels-right">
  1467. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1468. </tr>
  1469. </table>
  1470. </div><div class="memdoc">
  1471. <p>Number of simulation steps between wheel collision tests when the vehicle is active. Default is 1. 0 = never, 1 = every step, 2 = every other step, etc. Note that if a vehicle has multiple wheels and the number of steps &gt; 1, the wheels will be tested in a round robin fashion. If there are multiple vehicles, the tests will be spread out based on the <a class="el" href="class_body_i_d.html" title="ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...">BodyID</a> of the vehicle. If you set this to test less than every step, you may see simulation artifacts. This setting can be used to reduce the cost of simulating vehicles in the distance. </p>
  1472. </div>
  1473. </div>
  1474. <a id="a441d4897905f6b4e950cc885dd4a4c63" name="a441d4897905f6b4e950cc885dd4a4c63"></a>
  1475. <h2 class="memtitle"><span class="permalink"><a href="#a441d4897905f6b4e950cc885dd4a4c63">&#9670;&#160;</a></span>SetNumStepsBetweenCollisionTestInactive()</h2>
  1476. <div class="memitem">
  1477. <div class="memproto">
  1478. <table class="mlabels">
  1479. <tr>
  1480. <td class="mlabels-left">
  1481. <table class="memname">
  1482. <tr>
  1483. <td class="memname">void VehicleConstraint::SetNumStepsBetweenCollisionTestInactive </td>
  1484. <td>(</td>
  1485. <td class="paramtype"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a></td> <td class="paramname"><span class="paramname"><em>inSteps</em></span></td><td>)</td>
  1486. <td></td>
  1487. </tr>
  1488. </table>
  1489. </td>
  1490. <td class="mlabels-right">
  1491. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1492. </tr>
  1493. </table>
  1494. </div><div class="memdoc">
  1495. <p>Number of simulation steps between wheel collision tests when the vehicle is inactive. Default is 1. 0 = never, 1 = every step, 2 = every other step, etc. Note that if a vehicle has multiple wheels and the number of steps &gt; 1, the wheels will be tested in a round robin fashion. If there are multiple vehicles, the tests will be spread out based on the <a class="el" href="class_body_i_d.html" title="ID of a body. This is a way of reasoning about bodies in a multithreaded simulation while avoiding ra...">BodyID</a> of the vehicle. This number can be lower than the number of steps when the vehicle is active as the only purpose of this test is to allow the vehicle to wake up in response to bodies moving into the wheels but not touching the body of the vehicle. </p>
  1496. </div>
  1497. </div>
  1498. <a id="ab3d5ac04f11fada0c2bc464b187a5986" name="ab3d5ac04f11fada0c2bc464b187a5986"></a>
  1499. <h2 class="memtitle"><span class="permalink"><a href="#ab3d5ac04f11fada0c2bc464b187a5986">&#9670;&#160;</a></span>SetPostCollideCallback()</h2>
  1500. <div class="memitem">
  1501. <div class="memproto">
  1502. <table class="mlabels">
  1503. <tr>
  1504. <td class="mlabels-left">
  1505. <table class="memname">
  1506. <tr>
  1507. <td class="memname">void VehicleConstraint::SetPostCollideCallback </td>
  1508. <td>(</td>
  1509. <td class="paramtype">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inPostCollideCallback</em></span></td><td>)</td>
  1510. <td></td>
  1511. </tr>
  1512. </table>
  1513. </td>
  1514. <td class="mlabels-right">
  1515. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1516. </tr>
  1517. </table>
  1518. </div><div class="memdoc">
  1519. </div>
  1520. </div>
  1521. <a id="af3e47429a8c1150b9e6c01b4b8059a5e" name="af3e47429a8c1150b9e6c01b4b8059a5e"></a>
  1522. <h2 class="memtitle"><span class="permalink"><a href="#af3e47429a8c1150b9e6c01b4b8059a5e">&#9670;&#160;</a></span>SetPostStepCallback()</h2>
  1523. <div class="memitem">
  1524. <div class="memproto">
  1525. <table class="mlabels">
  1526. <tr>
  1527. <td class="mlabels-left">
  1528. <table class="memname">
  1529. <tr>
  1530. <td class="memname">void VehicleConstraint::SetPostStepCallback </td>
  1531. <td>(</td>
  1532. <td class="paramtype">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inPostStepCallback</em></span></td><td>)</td>
  1533. <td></td>
  1534. </tr>
  1535. </table>
  1536. </td>
  1537. <td class="mlabels-right">
  1538. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1539. </tr>
  1540. </table>
  1541. </div><div class="memdoc">
  1542. </div>
  1543. </div>
  1544. <a id="ad6330e63345c4ab1e665edd015aab35b" name="ad6330e63345c4ab1e665edd015aab35b"></a>
  1545. <h2 class="memtitle"><span class="permalink"><a href="#ad6330e63345c4ab1e665edd015aab35b">&#9670;&#160;</a></span>SetPreStepCallback()</h2>
  1546. <div class="memitem">
  1547. <div class="memproto">
  1548. <table class="mlabels">
  1549. <tr>
  1550. <td class="mlabels-left">
  1551. <table class="memname">
  1552. <tr>
  1553. <td class="memname">void VehicleConstraint::SetPreStepCallback </td>
  1554. <td>(</td>
  1555. <td class="paramtype">const <a class="el" href="#a0f8cccf0624b4eac3886bfb412dfb91f">StepCallback</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inPreStepCallback</em></span></td><td>)</td>
  1556. <td></td>
  1557. </tr>
  1558. </table>
  1559. </td>
  1560. <td class="mlabels-right">
  1561. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1562. </tr>
  1563. </table>
  1564. </div><div class="memdoc">
  1565. </div>
  1566. </div>
  1567. <a id="a7db85aa03eb1cadb974ca4600204daa5" name="a7db85aa03eb1cadb974ca4600204daa5"></a>
  1568. <h2 class="memtitle"><span class="permalink"><a href="#a7db85aa03eb1cadb974ca4600204daa5">&#9670;&#160;</a></span>SetupVelocityConstraint()</h2>
  1569. <div class="memitem">
  1570. <div class="memproto">
  1571. <table class="mlabels">
  1572. <tr>
  1573. <td class="mlabels-left">
  1574. <table class="memname">
  1575. <tr>
  1576. <td class="memname">void VehicleConstraint::SetupVelocityConstraint </td>
  1577. <td>(</td>
  1578. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span></td><td>)</td>
  1579. <td></td>
  1580. </tr>
  1581. </table>
  1582. </td>
  1583. <td class="mlabels-right">
  1584. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1585. </tr>
  1586. </table>
  1587. </div><div class="memdoc">
  1588. <p>Implements <a class="el" href="class_constraint.html#a175a388f9989341951507e08876fdf30">Constraint</a>.</p>
  1589. </div>
  1590. </div>
  1591. <a id="a52476f3cd6814c10993dacb4e3dd03cd" name="a52476f3cd6814c10993dacb4e3dd03cd"></a>
  1592. <h2 class="memtitle"><span class="permalink"><a href="#a52476f3cd6814c10993dacb4e3dd03cd">&#9670;&#160;</a></span>SetVehicleCollisionTester()</h2>
  1593. <div class="memitem">
  1594. <div class="memproto">
  1595. <table class="mlabels">
  1596. <tr>
  1597. <td class="mlabels-left">
  1598. <table class="memname">
  1599. <tr>
  1600. <td class="memname">void VehicleConstraint::SetVehicleCollisionTester </td>
  1601. <td>(</td>
  1602. <td class="paramtype">const <a class="el" href="class_vehicle_collision_tester.html">VehicleCollisionTester</a> *</td> <td class="paramname"><span class="paramname"><em>inTester</em></span></td><td>)</td>
  1603. <td></td>
  1604. </tr>
  1605. </table>
  1606. </td>
  1607. <td class="mlabels-right">
  1608. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1609. </tr>
  1610. </table>
  1611. </div><div class="memdoc">
  1612. <p>Set the interface that tests collision between wheel and ground. </p>
  1613. </div>
  1614. </div>
  1615. <a id="af344b4fb6def1c50f03f1c30d9fca3c2" name="af344b4fb6def1c50f03f1c30d9fca3c2"></a>
  1616. <h2 class="memtitle"><span class="permalink"><a href="#af344b4fb6def1c50f03f1c30d9fca3c2">&#9670;&#160;</a></span>SolvePositionConstraint()</h2>
  1617. <div class="memitem">
  1618. <div class="memproto">
  1619. <table class="mlabels">
  1620. <tr>
  1621. <td class="mlabels-left">
  1622. <table class="memname">
  1623. <tr>
  1624. <td class="memname">bool VehicleConstraint::SolvePositionConstraint </td>
  1625. <td>(</td>
  1626. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span>, </td>
  1627. </tr>
  1628. <tr>
  1629. <td class="paramkey"></td>
  1630. <td></td>
  1631. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inBaumgarte</em></span>&#160;)</td>
  1632. </tr>
  1633. </table>
  1634. </td>
  1635. <td class="mlabels-right">
  1636. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1637. </tr>
  1638. </table>
  1639. </div><div class="memdoc">
  1640. <p>Implements <a class="el" href="class_constraint.html#adeae5677da3f7d76ca6af382be14e4eb">Constraint</a>.</p>
  1641. </div>
  1642. </div>
  1643. <a id="a3706f414ea9608bcffc2b481f6a88549" name="a3706f414ea9608bcffc2b481f6a88549"></a>
  1644. <h2 class="memtitle"><span class="permalink"><a href="#a3706f414ea9608bcffc2b481f6a88549">&#9670;&#160;</a></span>SolveVelocityConstraint()</h2>
  1645. <div class="memitem">
  1646. <div class="memproto">
  1647. <table class="mlabels">
  1648. <tr>
  1649. <td class="mlabels-left">
  1650. <table class="memname">
  1651. <tr>
  1652. <td class="memname">bool VehicleConstraint::SolveVelocityConstraint </td>
  1653. <td>(</td>
  1654. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inDeltaTime</em></span></td><td>)</td>
  1655. <td></td>
  1656. </tr>
  1657. </table>
  1658. </td>
  1659. <td class="mlabels-right">
  1660. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1661. </tr>
  1662. </table>
  1663. </div><div class="memdoc">
  1664. <p>Implements <a class="el" href="class_constraint.html#a30636bfbf85cd0898a8ee3c543bf675f">Constraint</a>.</p>
  1665. </div>
  1666. </div>
  1667. <a id="a74f3a452490769c8e1a110a967dc02ff" name="a74f3a452490769c8e1a110a967dc02ff"></a>
  1668. <h2 class="memtitle"><span class="permalink"><a href="#a74f3a452490769c8e1a110a967dc02ff">&#9670;&#160;</a></span>WarmStartVelocityConstraint()</h2>
  1669. <div class="memitem">
  1670. <div class="memproto">
  1671. <table class="mlabels">
  1672. <tr>
  1673. <td class="mlabels-left">
  1674. <table class="memname">
  1675. <tr>
  1676. <td class="memname">void VehicleConstraint::WarmStartVelocityConstraint </td>
  1677. <td>(</td>
  1678. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inWarmStartImpulseRatio</em></span></td><td>)</td>
  1679. <td></td>
  1680. </tr>
  1681. </table>
  1682. </td>
  1683. <td class="mlabels-right">
  1684. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  1685. </tr>
  1686. </table>
  1687. </div><div class="memdoc">
  1688. <p>Implements <a class="el" href="class_constraint.html#abb0ee6b5bf11fb8b8aeb45271b24f1a7">Constraint</a>.</p>
  1689. </div>
  1690. </div>
  1691. <hr/>The documentation for this class was generated from the following files:<ul>
  1692. <li>Jolt/Physics/Vehicle/<a class="el" href="_vehicle_constraint_8h_source.html">VehicleConstraint.h</a></li>
  1693. <li>Jolt/Physics/Vehicle/<a class="el" href="_vehicle_constraint_8cpp.html">VehicleConstraint.cpp</a></li>
  1694. </ul>
  1695. </div><!-- contents -->
  1696. </div><!-- doc-content -->
  1697. <!-- start footer part -->
  1698. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  1699. <ul>
  1700. <li class="navelem"><a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a></li>
  1701. <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>
  1702. </ul>
  1703. </div>
  1704. </body>
  1705. </html>