class_wheel.html 73 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425
  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: Wheel 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_wheel.html',''); initResizable(true); });
  83. /* @license-end */
  84. </script>
  85. <div id="doc-content">
  86. <!-- window showing the filter options -->
  87. <div id="MSearchSelectWindow"
  88. onmouseover="return searchBox.OnSearchSelectShow()"
  89. onmouseout="return searchBox.OnSearchSelectHide()"
  90. onkeydown="return searchBox.OnSearchSelectKey(event)">
  91. </div>
  92. <!-- iframe showing the search results (closed by default) -->
  93. <div id="MSearchResultsWindow">
  94. <div id="MSearchResults">
  95. <div class="SRPage">
  96. <div id="SRIndex">
  97. <div id="SRResults"></div>
  98. <div class="SRStatus" id="Loading">Loading...</div>
  99. <div class="SRStatus" id="Searching">Searching...</div>
  100. <div class="SRStatus" id="NoMatches">No Matches</div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="header">
  106. <div class="summary">
  107. <a href="#pub-methods">Public Member Functions</a> &#124;
  108. <a href="#pro-attribs">Protected Attributes</a> &#124;
  109. <a href="#friends">Friends</a> &#124;
  110. <a href="class_wheel-members.html">List of all members</a> </div>
  111. <div class="headertitle"><div class="title">Wheel Class Reference</div></div>
  112. </div><!--header-->
  113. <div class="contents">
  114. <p>Base class for runtime data for a wheel, each <a class="el" href="class_vehicle_controller.html" title="Runtime data for interface that controls acceleration / deceleration of the vehicle.">VehicleController</a> can implement a derived class of this.
  115. <a href="#details">More...</a></p>
  116. <p><code>#include &lt;<a class="el" href="_wheel_8h_source.html">Wheel.h</a>&gt;</code></p>
  117. <div class="dynheader">
  118. Inheritance diagram for Wheel:</div>
  119. <div class="dyncontent">
  120. <div class="center">
  121. <img src="class_wheel.png" usemap="#Wheel_map" alt=""/>
  122. <map id="Wheel_map" name="Wheel_map">
  123. <area href="class_non_copyable.html" title="Class that makes another class non-copyable. Usage: Inherit from NonCopyable." alt="NonCopyable" shape="rect" coords="49,0,138,24"/>
  124. <area href="class_wheel_t_v.html" title="Wheel object specifically for TrackedVehicleController." alt="WheelTV" shape="rect" coords="0,112,89,136"/>
  125. <area href="class_wheel_w_v.html" title="Wheel object specifically for WheeledVehicleController." alt="WheelWV" shape="rect" coords="99,112,188,136"/>
  126. </map>
  127. </div></div>
  128. <table class="memberdecls">
  129. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  130. Public Member Functions</h2></td></tr>
  131. <tr class="memitem:a1b32822acc30f1afc25f57de681c7389" id="r_a1b32822acc30f1afc25f57de681c7389"><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="#a1b32822acc30f1afc25f57de681c7389">Wheel</a> (const <a class="el" href="class_wheel_settings.html">WheelSettings</a> &amp;inSettings)</td></tr>
  132. <tr class="memdesc:a1b32822acc30f1afc25f57de681c7389"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor / destructor. <br /></td></tr>
  133. <tr class="separator:a1b32822acc30f1afc25f57de681c7389"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:aa6087eae383e857b8615993388ba8a5f" id="r_aa6087eae383e857b8615993388ba8a5f"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6087eae383e857b8615993388ba8a5f">~Wheel</a> ()=default</td></tr>
  135. <tr class="separator:aa6087eae383e857b8615993388ba8a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:ab93b1087453249915b72e74733ea2af3" id="r_ab93b1087453249915b72e74733ea2af3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_wheel_settings.html">WheelSettings</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab93b1087453249915b72e74733ea2af3">GetSettings</a> () const</td></tr>
  137. <tr class="memdesc:ab93b1087453249915b72e74733ea2af3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get settings for the wheel. <br /></td></tr>
  138. <tr class="separator:ab93b1087453249915b72e74733ea2af3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:ad2da83076a68424179c3928b123c086c" id="r_ad2da83076a68424179c3928b123c086c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad2da83076a68424179c3928b123c086c">GetAngularVelocity</a> () const</td></tr>
  140. <tr class="memdesc:ad2da83076a68424179c3928b123c086c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the angular velocity (rad/s) for this wheel, note that positive means the wheel is rotating such that the car moves forward. <br /></td></tr>
  141. <tr class="separator:ad2da83076a68424179c3928b123c086c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a244412d3b7d9216cdf7d8f364d128b60" id="r_a244412d3b7d9216cdf7d8f364d128b60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a244412d3b7d9216cdf7d8f364d128b60">SetAngularVelocity</a> (float inVel)</td></tr>
  143. <tr class="memdesc:a244412d3b7d9216cdf7d8f364d128b60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the angular velocity (rad/s) <br /></td></tr>
  144. <tr class="separator:a244412d3b7d9216cdf7d8f364d128b60"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:a06226466b8c4ff0f65ae329bb3b7a3b2" id="r_a06226466b8c4ff0f65ae329bb3b7a3b2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a06226466b8c4ff0f65ae329bb3b7a3b2">GetRotationAngle</a> () const</td></tr>
  146. <tr class="memdesc:a06226466b8c4ff0f65ae329bb3b7a3b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current rotation angle of the wheel in radians [0, 2 pi]. <br /></td></tr>
  147. <tr class="separator:a06226466b8c4ff0f65ae329bb3b7a3b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:aaa68b8841db1daed297d8c64ed19bef2" id="r_aaa68b8841db1daed297d8c64ed19bef2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaa68b8841db1daed297d8c64ed19bef2">SetRotationAngle</a> (float inAngle)</td></tr>
  149. <tr class="memdesc:aaa68b8841db1daed297d8c64ed19bef2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current rotation angle of the wheel in radians [0, 2 pi]. <br /></td></tr>
  150. <tr class="separator:aaa68b8841db1daed297d8c64ed19bef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a1972924bef7c43ef8544a7ba2dc28c07" id="r_a1972924bef7c43ef8544a7ba2dc28c07"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1972924bef7c43ef8544a7ba2dc28c07">GetSteerAngle</a> () const</td></tr>
  152. <tr class="memdesc:a1972924bef7c43ef8544a7ba2dc28c07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current steer angle of the wheel in radians [-pi, pi], positive is to the left. <br /></td></tr>
  153. <tr class="separator:a1972924bef7c43ef8544a7ba2dc28c07"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a7efe681ffa418ed0e1724fbc1fef7ec8" id="r_a7efe681ffa418ed0e1724fbc1fef7ec8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7efe681ffa418ed0e1724fbc1fef7ec8">SetSteerAngle</a> (float inAngle)</td></tr>
  155. <tr class="memdesc:a7efe681ffa418ed0e1724fbc1fef7ec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current steer angle of the wheel in radians [-pi, pi]. <br /></td></tr>
  156. <tr class="separator:a7efe681ffa418ed0e1724fbc1fef7ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:ad5ab9bb3ed8151044ad41de572945eac" id="r_ad5ab9bb3ed8151044ad41de572945eac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad5ab9bb3ed8151044ad41de572945eac">HasContact</a> () const</td></tr>
  158. <tr class="memdesc:ad5ab9bb3ed8151044ad41de572945eac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the wheel is touching an object. <br /></td></tr>
  159. <tr class="separator:ad5ab9bb3ed8151044ad41de572945eac"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:acc31f12c9bf9049d98397fc721219d10" id="r_acc31f12c9bf9049d98397fc721219d10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_i_d.html">BodyID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acc31f12c9bf9049d98397fc721219d10">GetContactBodyID</a> () const</td></tr>
  161. <tr class="memdesc:acc31f12c9bf9049d98397fc721219d10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the body ID of the body that this wheel is touching. <br /></td></tr>
  162. <tr class="separator:acc31f12c9bf9049d98397fc721219d10"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a4ed45e80dae82a05fe3a07bd8f81d96f" id="r_a4ed45e80dae82a05fe3a07bd8f81d96f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sub_shape_i_d.html">SubShapeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4ed45e80dae82a05fe3a07bd8f81d96f">GetContactSubShapeID</a> () const</td></tr>
  164. <tr class="memdesc:a4ed45e80dae82a05fe3a07bd8f81d96f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the sub shape ID where we're contacting the body. <br /></td></tr>
  165. <tr class="separator:a4ed45e80dae82a05fe3a07bd8f81d96f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:afe7cd7933c99164aefd66c9d5fe2a3eb" id="r_afe7cd7933c99164aefd66c9d5fe2a3eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afe7cd7933c99164aefd66c9d5fe2a3eb">GetContactPosition</a> () const</td></tr>
  167. <tr class="memdesc:afe7cd7933c99164aefd66c9d5fe2a3eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current contact position in world space (note by the time you call this the vehicle has moved) <br /></td></tr>
  168. <tr class="separator:afe7cd7933c99164aefd66c9d5fe2a3eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:a909988d11cc3e43ba357a1f9b1d4f101" id="r_a909988d11cc3e43ba357a1f9b1d4f101"><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="#a909988d11cc3e43ba357a1f9b1d4f101">GetContactPointVelocity</a> () const</td></tr>
  170. <tr class="memdesc:a909988d11cc3e43ba357a1f9b1d4f101"><td class="mdescLeft">&#160;</td><td class="mdescRight">Velocity of the contact point (m / s, not relative to the wheel but in world space) <br /></td></tr>
  171. <tr class="separator:a909988d11cc3e43ba357a1f9b1d4f101"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:aaff3b5c0de2d6becbebbdbd886b2c7cf" id="r_aaff3b5c0de2d6becbebbdbd886b2c7cf"><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="#aaff3b5c0de2d6becbebbdbd886b2c7cf">GetContactNormal</a> () const</td></tr>
  173. <tr class="memdesc:aaff3b5c0de2d6becbebbdbd886b2c7cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current contact normal in world space (note by the time you call this the vehicle has moved) <br /></td></tr>
  174. <tr class="separator:aaff3b5c0de2d6becbebbdbd886b2c7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a4f4df6da668a8f3d147ee53a3c46910c" id="r_a4f4df6da668a8f3d147ee53a3c46910c"><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="#a4f4df6da668a8f3d147ee53a3c46910c">GetContactLongitudinal</a> () const</td></tr>
  176. <tr class="memdesc:a4f4df6da668a8f3d147ee53a3c46910c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns longitudinal direction (direction along the wheel relative to floor) in world space (note by the time you call this the vehicle has moved) <br /></td></tr>
  177. <tr class="separator:a4f4df6da668a8f3d147ee53a3c46910c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:a23056c4f6164ec0b1e7a0448a54135c3" id="r_a23056c4f6164ec0b1e7a0448a54135c3"><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="#a23056c4f6164ec0b1e7a0448a54135c3">GetContactLateral</a> () const</td></tr>
  179. <tr class="memdesc:a23056c4f6164ec0b1e7a0448a54135c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns lateral direction (sideways direction) in world space (note by the time you call this the vehicle has moved) <br /></td></tr>
  180. <tr class="separator:a23056c4f6164ec0b1e7a0448a54135c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:ad03e749022ce451237c8731a7b59eb79" id="r_ad03e749022ce451237c8731a7b59eb79"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad03e749022ce451237c8731a7b59eb79">GetSuspensionLength</a> () const</td></tr>
  182. <tr class="memdesc:ad03e749022ce451237c8731a7b59eb79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the length of the suspension for a wheel (m) relative to the suspension attachment point (hard point) <br /></td></tr>
  183. <tr class="separator:ad03e749022ce451237c8731a7b59eb79"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a61eabff8238d2b284c9a286309e05806" id="r_a61eabff8238d2b284c9a286309e05806"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a61eabff8238d2b284c9a286309e05806">HasHitHardPoint</a> () const</td></tr>
  185. <tr class="memdesc:a61eabff8238d2b284c9a286309e05806"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the suspension hit its upper limit. <br /></td></tr>
  186. <tr class="separator:a61eabff8238d2b284c9a286309e05806"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:af1a126080ae277a8b3578b8f3f6854e7" id="r_af1a126080ae277a8b3578b8f3f6854e7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1a126080ae277a8b3578b8f3f6854e7">GetSuspensionLambda</a> () const</td></tr>
  188. <tr class="memdesc:af1a126080ae277a8b3578b8f3f6854e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total impulse (N s) that was applied by the suspension. <br /></td></tr>
  189. <tr class="separator:af1a126080ae277a8b3578b8f3f6854e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:acb42426249dba7e845b7ea288cda99dd" id="r_acb42426249dba7e845b7ea288cda99dd"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acb42426249dba7e845b7ea288cda99dd">GetLongitudinalLambda</a> () const</td></tr>
  191. <tr class="memdesc:acb42426249dba7e845b7ea288cda99dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get total impulse (N s) applied along the forward direction of the wheel. <br /></td></tr>
  192. <tr class="separator:acb42426249dba7e845b7ea288cda99dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:a3a6c1824707b2851548c01bb3bcaceec" id="r_a3a6c1824707b2851548c01bb3bcaceec"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3a6c1824707b2851548c01bb3bcaceec">GetLateralLambda</a> () const</td></tr>
  194. <tr class="memdesc:a3a6c1824707b2851548c01bb3bcaceec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get total impulse (N s) applied along the sideways direction of the wheel. <br /></td></tr>
  195. <tr class="separator:a3a6c1824707b2851548c01bb3bcaceec"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:aca0c965685dee3f84fb830d76a4a00ba" id="r_aca0c965685dee3f84fb830d76a4a00ba"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aca0c965685dee3f84fb830d76a4a00ba">SolveLongitudinalConstraintPart</a> (const <a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;inConstraint, float inMinImpulse, float inMaxImpulse)</td></tr>
  197. <tr class="memdesc:aca0c965685dee3f84fb830d76a4a00ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function that should only be called by the controller. Used to apply impulses in the forward direction of the vehicle. <br /></td></tr>
  198. <tr class="separator:aca0c965685dee3f84fb830d76a4a00ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:a155778dd99828ddbcc6b4e34305b40f5" id="r_a155778dd99828ddbcc6b4e34305b40f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a155778dd99828ddbcc6b4e34305b40f5">SolveLateralConstraintPart</a> (const <a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;inConstraint, float inMinImpulse, float inMaxImpulse)</td></tr>
  200. <tr class="memdesc:a155778dd99828ddbcc6b4e34305b40f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function that should only be called by the controller. Used to apply impulses in the sideways direction of the vehicle. <br /></td></tr>
  201. <tr class="separator:a155778dd99828ddbcc6b4e34305b40f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <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>
  203. <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>
  204. <tr class="separator:a809b6e4ade7ae32f6d248f2a3b783d45 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. <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>
  206. <tr class="separator:a501d34ffcc34b30de6d541887a901057 inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  207. <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>
  208. <tr class="separator:aaf9b12dcaae80c9d304df7a941d4e21f inherit pub_methods_class_non_copyable"><td class="memSeparator" colspan="2">&#160;</td></tr>
  209. </table><table class="memberdecls">
  210. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
  211. Protected Attributes</h2></td></tr>
  212. <tr class="memitem:a024cd676398378408f174ebdd8fefd6c" id="r_a024cd676398378408f174ebdd8fefd6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ref_const.html">RefConst</a>&lt; <a class="el" href="class_wheel_settings.html">WheelSettings</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a024cd676398378408f174ebdd8fefd6c">mSettings</a></td></tr>
  213. <tr class="memdesc:a024cd676398378408f174ebdd8fefd6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration settings for this wheel. <br /></td></tr>
  214. <tr class="separator:a024cd676398378408f174ebdd8fefd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  215. <tr class="memitem:a53ae6143cfd91eba78398b03f427c7ed" id="r_a53ae6143cfd91eba78398b03f427c7ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_body_i_d.html">BodyID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a53ae6143cfd91eba78398b03f427c7ed">mContactBodyID</a></td></tr>
  216. <tr class="memdesc:a53ae6143cfd91eba78398b03f427c7ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID of body for ground. <br /></td></tr>
  217. <tr class="separator:a53ae6143cfd91eba78398b03f427c7ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:af93d7137c196e5dc6107963bdc06c5ba" id="r_af93d7137c196e5dc6107963bdc06c5ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_sub_shape_i_d.html">SubShapeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af93d7137c196e5dc6107963bdc06c5ba">mContactSubShapeID</a></td></tr>
  219. <tr class="memdesc:af93d7137c196e5dc6107963bdc06c5ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub shape ID for ground. <br /></td></tr>
  220. <tr class="separator:af93d7137c196e5dc6107963bdc06c5ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:acb44fa757ea9d2447e1b2de4f65954ca" id="r_acb44fa757ea9d2447e1b2de4f65954ca"><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="#acb44fa757ea9d2447e1b2de4f65954ca">mContactBody</a> = nullptr</td></tr>
  222. <tr class="memdesc:acb44fa757ea9d2447e1b2de4f65954ca"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_body.html">Body</a> for ground. <br /></td></tr>
  223. <tr class="separator:acb44fa757ea9d2447e1b2de4f65954ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:a49fc75e7639dbf0a484ccd9bf1968ae4" id="r_a49fc75e7639dbf0a484ccd9bf1968ae4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a49fc75e7639dbf0a484ccd9bf1968ae4">mSuspensionLength</a></td></tr>
  225. <tr class="memdesc:a49fc75e7639dbf0a484ccd9bf1968ae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current length of the suspension. <br /></td></tr>
  226. <tr class="separator:a49fc75e7639dbf0a484ccd9bf1968ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  227. <tr class="memitem:ac30ace148260fc1280c40224cb51c34f" id="r_ac30ace148260fc1280c40224cb51c34f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac30ace148260fc1280c40224cb51c34f">mContactPosition</a></td></tr>
  228. <tr class="memdesc:ac30ace148260fc1280c40224cb51c34f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Position of the contact point between wheel and ground. <br /></td></tr>
  229. <tr class="separator:ac30ace148260fc1280c40224cb51c34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:a7d348b3098f9316f308173fe87c81783" id="r_a7d348b3098f9316f308173fe87c81783"><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="#a7d348b3098f9316f308173fe87c81783">mContactPointVelocity</a></td></tr>
  231. <tr class="memdesc:a7d348b3098f9316f308173fe87c81783"><td class="mdescLeft">&#160;</td><td class="mdescRight">Velocity of the contact point (m / s, not relative to the wheel but in world space) <br /></td></tr>
  232. <tr class="separator:a7d348b3098f9316f308173fe87c81783"><td class="memSeparator" colspan="2">&#160;</td></tr>
  233. <tr class="memitem:a1e753efe90d09796fa717079a15b6b59" id="r_a1e753efe90d09796fa717079a15b6b59"><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="#a1e753efe90d09796fa717079a15b6b59">mContactNormal</a></td></tr>
  234. <tr class="memdesc:a1e753efe90d09796fa717079a15b6b59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Normal of the contact point between wheel and ground. <br /></td></tr>
  235. <tr class="separator:a1e753efe90d09796fa717079a15b6b59"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="memitem:a452fc2b42bb7fb3ffb296008ff19ff84" id="r_a452fc2b42bb7fb3ffb296008ff19ff84"><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="#a452fc2b42bb7fb3ffb296008ff19ff84">mContactLongitudinal</a></td></tr>
  237. <tr class="memdesc:a452fc2b42bb7fb3ffb296008ff19ff84"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> perpendicular to normal in the forward direction. <br /></td></tr>
  238. <tr class="separator:a452fc2b42bb7fb3ffb296008ff19ff84"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. <tr class="memitem:ad8cea661025b8c99b3fbd07f67880ebb" id="r_ad8cea661025b8c99b3fbd07f67880ebb"><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="#ad8cea661025b8c99b3fbd07f67880ebb">mContactLateral</a></td></tr>
  240. <tr class="memdesc:ad8cea661025b8c99b3fbd07f67880ebb"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> perpendicular to normal and longitudinal direction in the right direction. <br /></td></tr>
  241. <tr class="separator:ad8cea661025b8c99b3fbd07f67880ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  242. <tr class="memitem:aa6aeace443bfd6580ad54a938342ac67" id="r_aa6aeace443bfd6580ad54a938342ac67"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_real_8h.html#a6baabe9790f3842ab73110ab342c5c5e">Real</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa6aeace443bfd6580ad54a938342ac67">mAxlePlaneConstant</a></td></tr>
  243. <tr class="memdesc:aa6aeace443bfd6580ad54a938342ac67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant for the contact plane of the axle, defined as ContactNormal . (WorldSpaceSuspensionPoint + SuspensionLength * WorldSpaceSuspensionDirection) <br /></td></tr>
  244. <tr class="separator:aa6aeace443bfd6580ad54a938342ac67"><td class="memSeparator" colspan="2">&#160;</td></tr>
  245. <tr class="memitem:a201340ce33a37ff9eb3cc26cf8ae4cc8" id="r_a201340ce33a37ff9eb3cc26cf8ae4cc8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a201340ce33a37ff9eb3cc26cf8ae4cc8">mAntiRollBarImpulse</a> = 0.0f</td></tr>
  246. <tr class="memdesc:a201340ce33a37ff9eb3cc26cf8ae4cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Amount of impulse applied to the suspension from the anti-rollbars. <br /></td></tr>
  247. <tr class="separator:a201340ce33a37ff9eb3cc26cf8ae4cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  248. <tr class="memitem:ae6d6847e2825c5e6b1f3203d8fe559fa" id="r_ae6d6847e2825c5e6b1f3203d8fe559fa"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae6d6847e2825c5e6b1f3203d8fe559fa">mSteerAngle</a> = 0.0f</td></tr>
  249. <tr class="memdesc:ae6d6847e2825c5e6b1f3203d8fe559fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation around the suspension direction, positive is to the left. <br /></td></tr>
  250. <tr class="separator:ae6d6847e2825c5e6b1f3203d8fe559fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  251. <tr class="memitem:a240115cc48bddcf81b10c426c3802fe7" id="r_a240115cc48bddcf81b10c426c3802fe7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a240115cc48bddcf81b10c426c3802fe7">mAngularVelocity</a> = 0.0f</td></tr>
  252. <tr class="memdesc:a240115cc48bddcf81b10c426c3802fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotation speed of wheel, positive when the wheels cause the vehicle to move forwards (rad/s) <br /></td></tr>
  253. <tr class="separator:a240115cc48bddcf81b10c426c3802fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  254. <tr class="memitem:ad21c087228b643377f809e61c14fdf1d" id="r_ad21c087228b643377f809e61c14fdf1d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad21c087228b643377f809e61c14fdf1d">mAngle</a> = 0.0f</td></tr>
  255. <tr class="memdesc:ad21c087228b643377f809e61c14fdf1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current rotation of the wheel (rad, [0, 2 pi]) <br /></td></tr>
  256. <tr class="separator:ad21c087228b643377f809e61c14fdf1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  257. <tr class="memitem:a9e9df1e9246d38363edc02b9d1c81ef4" id="r_a9e9df1e9246d38363edc02b9d1c81ef4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9e9df1e9246d38363edc02b9d1c81ef4">mSuspensionPart</a></td></tr>
  258. <tr class="memdesc:a9e9df1e9246d38363edc02b9d1c81ef4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls movement up/down along the contact normal. <br /></td></tr>
  259. <tr class="separator:a9e9df1e9246d38363edc02b9d1c81ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  260. <tr class="memitem:a568fed5d0dd04fd63020e9253801a34c" id="r_a568fed5d0dd04fd63020e9253801a34c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a568fed5d0dd04fd63020e9253801a34c">mSuspensionMaxUpPart</a></td></tr>
  261. <tr class="memdesc:a568fed5d0dd04fd63020e9253801a34c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a hard limit when reaching the minimal suspension length. <br /></td></tr>
  262. <tr class="separator:a568fed5d0dd04fd63020e9253801a34c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  263. <tr class="memitem:aad04d9e83a92376fb5ef078fbc1577bc" id="r_aad04d9e83a92376fb5ef078fbc1577bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aad04d9e83a92376fb5ef078fbc1577bc">mLongitudinalPart</a></td></tr>
  264. <tr class="memdesc:aad04d9e83a92376fb5ef078fbc1577bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls movement forward/backward. <br /></td></tr>
  265. <tr class="separator:aad04d9e83a92376fb5ef078fbc1577bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  266. <tr class="memitem:a3e466a6ec5a4dc839c86586fb0e0dd6c" id="r_a3e466a6ec5a4dc839c86586fb0e0dd6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e466a6ec5a4dc839c86586fb0e0dd6c">mLateralPart</a></td></tr>
  267. <tr class="memdesc:a3e466a6ec5a4dc839c86586fb0e0dd6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls movement sideways (slip) <br /></td></tr>
  268. <tr class="separator:a3e466a6ec5a4dc839c86586fb0e0dd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  269. </table><table class="memberdecls">
  270. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
  271. Friends</h2></td></tr>
  272. <tr class="memitem:a30b73bf12f0dea921ce21318d08cb7c0" id="r_a30b73bf12f0dea921ce21318d08cb7c0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a30b73bf12f0dea921ce21318d08cb7c0">VehicleConstraint</a></td></tr>
  273. <tr class="separator:a30b73bf12f0dea921ce21318d08cb7c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  274. </table>
  275. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  276. <div class="textblock"><p>Base class for runtime data for a wheel, each <a class="el" href="class_vehicle_controller.html" title="Runtime data for interface that controls acceleration / deceleration of the vehicle.">VehicleController</a> can implement a derived class of this. </p>
  277. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  278. <a id="a1b32822acc30f1afc25f57de681c7389" name="a1b32822acc30f1afc25f57de681c7389"></a>
  279. <h2 class="memtitle"><span class="permalink"><a href="#a1b32822acc30f1afc25f57de681c7389">&#9670;&#160;</a></span>Wheel()</h2>
  280. <div class="memitem">
  281. <div class="memproto">
  282. <table class="mlabels">
  283. <tr>
  284. <td class="mlabels-left">
  285. <table class="memname">
  286. <tr>
  287. <td class="memname">Wheel::Wheel </td>
  288. <td>(</td>
  289. <td class="paramtype">const <a class="el" href="class_wheel_settings.html">WheelSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSettings</em></span></td><td>)</td>
  290. <td></td>
  291. </tr>
  292. </table>
  293. </td>
  294. <td class="mlabels-right">
  295. <span class="mlabels"><span class="mlabel">explicit</span></span> </td>
  296. </tr>
  297. </table>
  298. </div><div class="memdoc">
  299. <p>Constructor / destructor. </p>
  300. </div>
  301. </div>
  302. <a id="aa6087eae383e857b8615993388ba8a5f" name="aa6087eae383e857b8615993388ba8a5f"></a>
  303. <h2 class="memtitle"><span class="permalink"><a href="#aa6087eae383e857b8615993388ba8a5f">&#9670;&#160;</a></span>~Wheel()</h2>
  304. <div class="memitem">
  305. <div class="memproto">
  306. <table class="mlabels">
  307. <tr>
  308. <td class="mlabels-left">
  309. <table class="memname">
  310. <tr>
  311. <td class="memname">virtual Wheel::~Wheel </td>
  312. <td>(</td>
  313. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  314. <td></td>
  315. </tr>
  316. </table>
  317. </td>
  318. <td class="mlabels-right">
  319. <span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">default</span></span> </td>
  320. </tr>
  321. </table>
  322. </div><div class="memdoc">
  323. </div>
  324. </div>
  325. <h2 class="groupheader">Member Function Documentation</h2>
  326. <a id="ad2da83076a68424179c3928b123c086c" name="ad2da83076a68424179c3928b123c086c"></a>
  327. <h2 class="memtitle"><span class="permalink"><a href="#ad2da83076a68424179c3928b123c086c">&#9670;&#160;</a></span>GetAngularVelocity()</h2>
  328. <div class="memitem">
  329. <div class="memproto">
  330. <table class="mlabels">
  331. <tr>
  332. <td class="mlabels-left">
  333. <table class="memname">
  334. <tr>
  335. <td class="memname">float Wheel::GetAngularVelocity </td>
  336. <td>(</td>
  337. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  338. <td> const</td>
  339. </tr>
  340. </table>
  341. </td>
  342. <td class="mlabels-right">
  343. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  344. </tr>
  345. </table>
  346. </div><div class="memdoc">
  347. <p>Get the angular velocity (rad/s) for this wheel, note that positive means the wheel is rotating such that the car moves forward. </p>
  348. </div>
  349. </div>
  350. <a id="acc31f12c9bf9049d98397fc721219d10" name="acc31f12c9bf9049d98397fc721219d10"></a>
  351. <h2 class="memtitle"><span class="permalink"><a href="#acc31f12c9bf9049d98397fc721219d10">&#9670;&#160;</a></span>GetContactBodyID()</h2>
  352. <div class="memitem">
  353. <div class="memproto">
  354. <table class="mlabels">
  355. <tr>
  356. <td class="mlabels-left">
  357. <table class="memname">
  358. <tr>
  359. <td class="memname"><a class="el" href="class_body_i_d.html">BodyID</a> Wheel::GetContactBodyID </td>
  360. <td>(</td>
  361. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  362. <td> const</td>
  363. </tr>
  364. </table>
  365. </td>
  366. <td class="mlabels-right">
  367. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  368. </tr>
  369. </table>
  370. </div><div class="memdoc">
  371. <p>Returns the body ID of the body that this wheel is touching. </p>
  372. </div>
  373. </div>
  374. <a id="a23056c4f6164ec0b1e7a0448a54135c3" name="a23056c4f6164ec0b1e7a0448a54135c3"></a>
  375. <h2 class="memtitle"><span class="permalink"><a href="#a23056c4f6164ec0b1e7a0448a54135c3">&#9670;&#160;</a></span>GetContactLateral()</h2>
  376. <div class="memitem">
  377. <div class="memproto">
  378. <table class="mlabels">
  379. <tr>
  380. <td class="mlabels-left">
  381. <table class="memname">
  382. <tr>
  383. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::GetContactLateral </td>
  384. <td>(</td>
  385. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  386. <td> const</td>
  387. </tr>
  388. </table>
  389. </td>
  390. <td class="mlabels-right">
  391. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  392. </tr>
  393. </table>
  394. </div><div class="memdoc">
  395. <p>Returns lateral direction (sideways direction) in world space (note by the time you call this the vehicle has moved) </p>
  396. </div>
  397. </div>
  398. <a id="a4f4df6da668a8f3d147ee53a3c46910c" name="a4f4df6da668a8f3d147ee53a3c46910c"></a>
  399. <h2 class="memtitle"><span class="permalink"><a href="#a4f4df6da668a8f3d147ee53a3c46910c">&#9670;&#160;</a></span>GetContactLongitudinal()</h2>
  400. <div class="memitem">
  401. <div class="memproto">
  402. <table class="mlabels">
  403. <tr>
  404. <td class="mlabels-left">
  405. <table class="memname">
  406. <tr>
  407. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::GetContactLongitudinal </td>
  408. <td>(</td>
  409. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  410. <td> const</td>
  411. </tr>
  412. </table>
  413. </td>
  414. <td class="mlabels-right">
  415. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  416. </tr>
  417. </table>
  418. </div><div class="memdoc">
  419. <p>Returns longitudinal direction (direction along the wheel relative to floor) in world space (note by the time you call this the vehicle has moved) </p>
  420. </div>
  421. </div>
  422. <a id="aaff3b5c0de2d6becbebbdbd886b2c7cf" name="aaff3b5c0de2d6becbebbdbd886b2c7cf"></a>
  423. <h2 class="memtitle"><span class="permalink"><a href="#aaff3b5c0de2d6becbebbdbd886b2c7cf">&#9670;&#160;</a></span>GetContactNormal()</h2>
  424. <div class="memitem">
  425. <div class="memproto">
  426. <table class="mlabels">
  427. <tr>
  428. <td class="mlabels-left">
  429. <table class="memname">
  430. <tr>
  431. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::GetContactNormal </td>
  432. <td>(</td>
  433. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  434. <td> const</td>
  435. </tr>
  436. </table>
  437. </td>
  438. <td class="mlabels-right">
  439. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  440. </tr>
  441. </table>
  442. </div><div class="memdoc">
  443. <p>Returns the current contact normal in world space (note by the time you call this the vehicle has moved) </p>
  444. </div>
  445. </div>
  446. <a id="a909988d11cc3e43ba357a1f9b1d4f101" name="a909988d11cc3e43ba357a1f9b1d4f101"></a>
  447. <h2 class="memtitle"><span class="permalink"><a href="#a909988d11cc3e43ba357a1f9b1d4f101">&#9670;&#160;</a></span>GetContactPointVelocity()</h2>
  448. <div class="memitem">
  449. <div class="memproto">
  450. <table class="mlabels">
  451. <tr>
  452. <td class="mlabels-left">
  453. <table class="memname">
  454. <tr>
  455. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::GetContactPointVelocity </td>
  456. <td>(</td>
  457. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  458. <td> const</td>
  459. </tr>
  460. </table>
  461. </td>
  462. <td class="mlabels-right">
  463. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  464. </tr>
  465. </table>
  466. </div><div class="memdoc">
  467. <p>Velocity of the contact point (m / s, not relative to the wheel but in world space) </p>
  468. </div>
  469. </div>
  470. <a id="afe7cd7933c99164aefd66c9d5fe2a3eb" name="afe7cd7933c99164aefd66c9d5fe2a3eb"></a>
  471. <h2 class="memtitle"><span class="permalink"><a href="#afe7cd7933c99164aefd66c9d5fe2a3eb">&#9670;&#160;</a></span>GetContactPosition()</h2>
  472. <div class="memitem">
  473. <div class="memproto">
  474. <table class="mlabels">
  475. <tr>
  476. <td class="mlabels-left">
  477. <table class="memname">
  478. <tr>
  479. <td class="memname"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> Wheel::GetContactPosition </td>
  480. <td>(</td>
  481. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  482. <td> const</td>
  483. </tr>
  484. </table>
  485. </td>
  486. <td class="mlabels-right">
  487. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  488. </tr>
  489. </table>
  490. </div><div class="memdoc">
  491. <p>Returns the current contact position in world space (note by the time you call this the vehicle has moved) </p>
  492. </div>
  493. </div>
  494. <a id="a4ed45e80dae82a05fe3a07bd8f81d96f" name="a4ed45e80dae82a05fe3a07bd8f81d96f"></a>
  495. <h2 class="memtitle"><span class="permalink"><a href="#a4ed45e80dae82a05fe3a07bd8f81d96f">&#9670;&#160;</a></span>GetContactSubShapeID()</h2>
  496. <div class="memitem">
  497. <div class="memproto">
  498. <table class="mlabels">
  499. <tr>
  500. <td class="mlabels-left">
  501. <table class="memname">
  502. <tr>
  503. <td class="memname"><a class="el" href="class_sub_shape_i_d.html">SubShapeID</a> Wheel::GetContactSubShapeID </td>
  504. <td>(</td>
  505. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  506. <td> const</td>
  507. </tr>
  508. </table>
  509. </td>
  510. <td class="mlabels-right">
  511. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  512. </tr>
  513. </table>
  514. </div><div class="memdoc">
  515. <p>Returns the sub shape ID where we're contacting the body. </p>
  516. </div>
  517. </div>
  518. <a id="a3a6c1824707b2851548c01bb3bcaceec" name="a3a6c1824707b2851548c01bb3bcaceec"></a>
  519. <h2 class="memtitle"><span class="permalink"><a href="#a3a6c1824707b2851548c01bb3bcaceec">&#9670;&#160;</a></span>GetLateralLambda()</h2>
  520. <div class="memitem">
  521. <div class="memproto">
  522. <table class="mlabels">
  523. <tr>
  524. <td class="mlabels-left">
  525. <table class="memname">
  526. <tr>
  527. <td class="memname">float Wheel::GetLateralLambda </td>
  528. <td>(</td>
  529. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  530. <td> const</td>
  531. </tr>
  532. </table>
  533. </td>
  534. <td class="mlabels-right">
  535. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  536. </tr>
  537. </table>
  538. </div><div class="memdoc">
  539. <p>Get total impulse (N s) applied along the sideways direction of the wheel. </p>
  540. </div>
  541. </div>
  542. <a id="acb42426249dba7e845b7ea288cda99dd" name="acb42426249dba7e845b7ea288cda99dd"></a>
  543. <h2 class="memtitle"><span class="permalink"><a href="#acb42426249dba7e845b7ea288cda99dd">&#9670;&#160;</a></span>GetLongitudinalLambda()</h2>
  544. <div class="memitem">
  545. <div class="memproto">
  546. <table class="mlabels">
  547. <tr>
  548. <td class="mlabels-left">
  549. <table class="memname">
  550. <tr>
  551. <td class="memname">float Wheel::GetLongitudinalLambda </td>
  552. <td>(</td>
  553. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  554. <td> const</td>
  555. </tr>
  556. </table>
  557. </td>
  558. <td class="mlabels-right">
  559. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  560. </tr>
  561. </table>
  562. </div><div class="memdoc">
  563. <p>Get total impulse (N s) applied along the forward direction of the wheel. </p>
  564. </div>
  565. </div>
  566. <a id="a06226466b8c4ff0f65ae329bb3b7a3b2" name="a06226466b8c4ff0f65ae329bb3b7a3b2"></a>
  567. <h2 class="memtitle"><span class="permalink"><a href="#a06226466b8c4ff0f65ae329bb3b7a3b2">&#9670;&#160;</a></span>GetRotationAngle()</h2>
  568. <div class="memitem">
  569. <div class="memproto">
  570. <table class="mlabels">
  571. <tr>
  572. <td class="mlabels-left">
  573. <table class="memname">
  574. <tr>
  575. <td class="memname">float Wheel::GetRotationAngle </td>
  576. <td>(</td>
  577. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  578. <td> const</td>
  579. </tr>
  580. </table>
  581. </td>
  582. <td class="mlabels-right">
  583. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  584. </tr>
  585. </table>
  586. </div><div class="memdoc">
  587. <p>Get the current rotation angle of the wheel in radians [0, 2 pi]. </p>
  588. </div>
  589. </div>
  590. <a id="ab93b1087453249915b72e74733ea2af3" name="ab93b1087453249915b72e74733ea2af3"></a>
  591. <h2 class="memtitle"><span class="permalink"><a href="#ab93b1087453249915b72e74733ea2af3">&#9670;&#160;</a></span>GetSettings()</h2>
  592. <div class="memitem">
  593. <div class="memproto">
  594. <table class="mlabels">
  595. <tr>
  596. <td class="mlabels-left">
  597. <table class="memname">
  598. <tr>
  599. <td class="memname">const <a class="el" href="class_wheel_settings.html">WheelSettings</a> * Wheel::GetSettings </td>
  600. <td>(</td>
  601. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  602. <td> const</td>
  603. </tr>
  604. </table>
  605. </td>
  606. <td class="mlabels-right">
  607. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  608. </tr>
  609. </table>
  610. </div><div class="memdoc">
  611. <p>Get settings for the wheel. </p>
  612. </div>
  613. </div>
  614. <a id="a1972924bef7c43ef8544a7ba2dc28c07" name="a1972924bef7c43ef8544a7ba2dc28c07"></a>
  615. <h2 class="memtitle"><span class="permalink"><a href="#a1972924bef7c43ef8544a7ba2dc28c07">&#9670;&#160;</a></span>GetSteerAngle()</h2>
  616. <div class="memitem">
  617. <div class="memproto">
  618. <table class="mlabels">
  619. <tr>
  620. <td class="mlabels-left">
  621. <table class="memname">
  622. <tr>
  623. <td class="memname">float Wheel::GetSteerAngle </td>
  624. <td>(</td>
  625. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  626. <td> const</td>
  627. </tr>
  628. </table>
  629. </td>
  630. <td class="mlabels-right">
  631. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  632. </tr>
  633. </table>
  634. </div><div class="memdoc">
  635. <p>Get the current steer angle of the wheel in radians [-pi, pi], positive is to the left. </p>
  636. </div>
  637. </div>
  638. <a id="af1a126080ae277a8b3578b8f3f6854e7" name="af1a126080ae277a8b3578b8f3f6854e7"></a>
  639. <h2 class="memtitle"><span class="permalink"><a href="#af1a126080ae277a8b3578b8f3f6854e7">&#9670;&#160;</a></span>GetSuspensionLambda()</h2>
  640. <div class="memitem">
  641. <div class="memproto">
  642. <table class="mlabels">
  643. <tr>
  644. <td class="mlabels-left">
  645. <table class="memname">
  646. <tr>
  647. <td class="memname">float Wheel::GetSuspensionLambda </td>
  648. <td>(</td>
  649. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  650. <td> const</td>
  651. </tr>
  652. </table>
  653. </td>
  654. <td class="mlabels-right">
  655. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  656. </tr>
  657. </table>
  658. </div><div class="memdoc">
  659. <p>Get the total impulse (N s) that was applied by the suspension. </p>
  660. </div>
  661. </div>
  662. <a id="ad03e749022ce451237c8731a7b59eb79" name="ad03e749022ce451237c8731a7b59eb79"></a>
  663. <h2 class="memtitle"><span class="permalink"><a href="#ad03e749022ce451237c8731a7b59eb79">&#9670;&#160;</a></span>GetSuspensionLength()</h2>
  664. <div class="memitem">
  665. <div class="memproto">
  666. <table class="mlabels">
  667. <tr>
  668. <td class="mlabels-left">
  669. <table class="memname">
  670. <tr>
  671. <td class="memname">float Wheel::GetSuspensionLength </td>
  672. <td>(</td>
  673. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  674. <td> const</td>
  675. </tr>
  676. </table>
  677. </td>
  678. <td class="mlabels-right">
  679. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  680. </tr>
  681. </table>
  682. </div><div class="memdoc">
  683. <p>Get the length of the suspension for a wheel (m) relative to the suspension attachment point (hard point) </p>
  684. </div>
  685. </div>
  686. <a id="ad5ab9bb3ed8151044ad41de572945eac" name="ad5ab9bb3ed8151044ad41de572945eac"></a>
  687. <h2 class="memtitle"><span class="permalink"><a href="#ad5ab9bb3ed8151044ad41de572945eac">&#9670;&#160;</a></span>HasContact()</h2>
  688. <div class="memitem">
  689. <div class="memproto">
  690. <table class="mlabels">
  691. <tr>
  692. <td class="mlabels-left">
  693. <table class="memname">
  694. <tr>
  695. <td class="memname">bool Wheel::HasContact </td>
  696. <td>(</td>
  697. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  698. <td> const</td>
  699. </tr>
  700. </table>
  701. </td>
  702. <td class="mlabels-right">
  703. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  704. </tr>
  705. </table>
  706. </div><div class="memdoc">
  707. <p>Returns true if the wheel is touching an object. </p>
  708. </div>
  709. </div>
  710. <a id="a61eabff8238d2b284c9a286309e05806" name="a61eabff8238d2b284c9a286309e05806"></a>
  711. <h2 class="memtitle"><span class="permalink"><a href="#a61eabff8238d2b284c9a286309e05806">&#9670;&#160;</a></span>HasHitHardPoint()</h2>
  712. <div class="memitem">
  713. <div class="memproto">
  714. <table class="mlabels">
  715. <tr>
  716. <td class="mlabels-left">
  717. <table class="memname">
  718. <tr>
  719. <td class="memname">bool Wheel::HasHitHardPoint </td>
  720. <td>(</td>
  721. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  722. <td> const</td>
  723. </tr>
  724. </table>
  725. </td>
  726. <td class="mlabels-right">
  727. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  728. </tr>
  729. </table>
  730. </div><div class="memdoc">
  731. <p>Check if the suspension hit its upper limit. </p>
  732. </div>
  733. </div>
  734. <a id="a244412d3b7d9216cdf7d8f364d128b60" name="a244412d3b7d9216cdf7d8f364d128b60"></a>
  735. <h2 class="memtitle"><span class="permalink"><a href="#a244412d3b7d9216cdf7d8f364d128b60">&#9670;&#160;</a></span>SetAngularVelocity()</h2>
  736. <div class="memitem">
  737. <div class="memproto">
  738. <table class="mlabels">
  739. <tr>
  740. <td class="mlabels-left">
  741. <table class="memname">
  742. <tr>
  743. <td class="memname">void Wheel::SetAngularVelocity </td>
  744. <td>(</td>
  745. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inVel</em></span></td><td>)</td>
  746. <td></td>
  747. </tr>
  748. </table>
  749. </td>
  750. <td class="mlabels-right">
  751. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  752. </tr>
  753. </table>
  754. </div><div class="memdoc">
  755. <p>Update the angular velocity (rad/s) </p>
  756. </div>
  757. </div>
  758. <a id="aaa68b8841db1daed297d8c64ed19bef2" name="aaa68b8841db1daed297d8c64ed19bef2"></a>
  759. <h2 class="memtitle"><span class="permalink"><a href="#aaa68b8841db1daed297d8c64ed19bef2">&#9670;&#160;</a></span>SetRotationAngle()</h2>
  760. <div class="memitem">
  761. <div class="memproto">
  762. <table class="mlabels">
  763. <tr>
  764. <td class="mlabels-left">
  765. <table class="memname">
  766. <tr>
  767. <td class="memname">void Wheel::SetRotationAngle </td>
  768. <td>(</td>
  769. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inAngle</em></span></td><td>)</td>
  770. <td></td>
  771. </tr>
  772. </table>
  773. </td>
  774. <td class="mlabels-right">
  775. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  776. </tr>
  777. </table>
  778. </div><div class="memdoc">
  779. <p>Set the current rotation angle of the wheel in radians [0, 2 pi]. </p>
  780. </div>
  781. </div>
  782. <a id="a7efe681ffa418ed0e1724fbc1fef7ec8" name="a7efe681ffa418ed0e1724fbc1fef7ec8"></a>
  783. <h2 class="memtitle"><span class="permalink"><a href="#a7efe681ffa418ed0e1724fbc1fef7ec8">&#9670;&#160;</a></span>SetSteerAngle()</h2>
  784. <div class="memitem">
  785. <div class="memproto">
  786. <table class="mlabels">
  787. <tr>
  788. <td class="mlabels-left">
  789. <table class="memname">
  790. <tr>
  791. <td class="memname">void Wheel::SetSteerAngle </td>
  792. <td>(</td>
  793. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inAngle</em></span></td><td>)</td>
  794. <td></td>
  795. </tr>
  796. </table>
  797. </td>
  798. <td class="mlabels-right">
  799. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  800. </tr>
  801. </table>
  802. </div><div class="memdoc">
  803. <p>Set the current steer angle of the wheel in radians [-pi, pi]. </p>
  804. </div>
  805. </div>
  806. <a id="a155778dd99828ddbcc6b4e34305b40f5" name="a155778dd99828ddbcc6b4e34305b40f5"></a>
  807. <h2 class="memtitle"><span class="permalink"><a href="#a155778dd99828ddbcc6b4e34305b40f5">&#9670;&#160;</a></span>SolveLateralConstraintPart()</h2>
  808. <div class="memitem">
  809. <div class="memproto">
  810. <table class="memname">
  811. <tr>
  812. <td class="memname">bool Wheel::SolveLateralConstraintPart </td>
  813. <td>(</td>
  814. <td class="paramtype">const <a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inConstraint</em></span>, </td>
  815. </tr>
  816. <tr>
  817. <td class="paramkey"></td>
  818. <td></td>
  819. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMinImpulse</em></span>, </td>
  820. </tr>
  821. <tr>
  822. <td class="paramkey"></td>
  823. <td></td>
  824. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxImpulse</em></span>&#160;)</td>
  825. </tr>
  826. </table>
  827. </div><div class="memdoc">
  828. <p>Internal function that should only be called by the controller. Used to apply impulses in the sideways direction of the vehicle. </p>
  829. </div>
  830. </div>
  831. <a id="aca0c965685dee3f84fb830d76a4a00ba" name="aca0c965685dee3f84fb830d76a4a00ba"></a>
  832. <h2 class="memtitle"><span class="permalink"><a href="#aca0c965685dee3f84fb830d76a4a00ba">&#9670;&#160;</a></span>SolveLongitudinalConstraintPart()</h2>
  833. <div class="memitem">
  834. <div class="memproto">
  835. <table class="memname">
  836. <tr>
  837. <td class="memname">bool Wheel::SolveLongitudinalConstraintPart </td>
  838. <td>(</td>
  839. <td class="paramtype">const <a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inConstraint</em></span>, </td>
  840. </tr>
  841. <tr>
  842. <td class="paramkey"></td>
  843. <td></td>
  844. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMinImpulse</em></span>, </td>
  845. </tr>
  846. <tr>
  847. <td class="paramkey"></td>
  848. <td></td>
  849. <td class="paramtype">float</td> <td class="paramname"><span class="paramname"><em>inMaxImpulse</em></span>&#160;)</td>
  850. </tr>
  851. </table>
  852. </div><div class="memdoc">
  853. <p>Internal function that should only be called by the controller. Used to apply impulses in the forward direction of the vehicle. </p>
  854. </div>
  855. </div>
  856. <h2 class="groupheader">Friends And Related Symbol Documentation</h2>
  857. <a id="a30b73bf12f0dea921ce21318d08cb7c0" name="a30b73bf12f0dea921ce21318d08cb7c0"></a>
  858. <h2 class="memtitle"><span class="permalink"><a href="#a30b73bf12f0dea921ce21318d08cb7c0">&#9670;&#160;</a></span>VehicleConstraint</h2>
  859. <div class="memitem">
  860. <div class="memproto">
  861. <table class="mlabels">
  862. <tr>
  863. <td class="mlabels-left">
  864. <table class="memname">
  865. <tr>
  866. <td class="memname">friend class <a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a></td>
  867. </tr>
  868. </table>
  869. </td>
  870. <td class="mlabels-right">
  871. <span class="mlabels"><span class="mlabel">friend</span></span> </td>
  872. </tr>
  873. </table>
  874. </div><div class="memdoc">
  875. </div>
  876. </div>
  877. <h2 class="groupheader">Member Data Documentation</h2>
  878. <a id="ad21c087228b643377f809e61c14fdf1d" name="ad21c087228b643377f809e61c14fdf1d"></a>
  879. <h2 class="memtitle"><span class="permalink"><a href="#ad21c087228b643377f809e61c14fdf1d">&#9670;&#160;</a></span>mAngle</h2>
  880. <div class="memitem">
  881. <div class="memproto">
  882. <table class="mlabels">
  883. <tr>
  884. <td class="mlabels-left">
  885. <table class="memname">
  886. <tr>
  887. <td class="memname">float Wheel::mAngle = 0.0f</td>
  888. </tr>
  889. </table>
  890. </td>
  891. <td class="mlabels-right">
  892. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  893. </tr>
  894. </table>
  895. </div><div class="memdoc">
  896. <p>Current rotation of the wheel (rad, [0, 2 pi]) </p>
  897. </div>
  898. </div>
  899. <a id="a240115cc48bddcf81b10c426c3802fe7" name="a240115cc48bddcf81b10c426c3802fe7"></a>
  900. <h2 class="memtitle"><span class="permalink"><a href="#a240115cc48bddcf81b10c426c3802fe7">&#9670;&#160;</a></span>mAngularVelocity</h2>
  901. <div class="memitem">
  902. <div class="memproto">
  903. <table class="mlabels">
  904. <tr>
  905. <td class="mlabels-left">
  906. <table class="memname">
  907. <tr>
  908. <td class="memname">float Wheel::mAngularVelocity = 0.0f</td>
  909. </tr>
  910. </table>
  911. </td>
  912. <td class="mlabels-right">
  913. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  914. </tr>
  915. </table>
  916. </div><div class="memdoc">
  917. <p>Rotation speed of wheel, positive when the wheels cause the vehicle to move forwards (rad/s) </p>
  918. </div>
  919. </div>
  920. <a id="a201340ce33a37ff9eb3cc26cf8ae4cc8" name="a201340ce33a37ff9eb3cc26cf8ae4cc8"></a>
  921. <h2 class="memtitle"><span class="permalink"><a href="#a201340ce33a37ff9eb3cc26cf8ae4cc8">&#9670;&#160;</a></span>mAntiRollBarImpulse</h2>
  922. <div class="memitem">
  923. <div class="memproto">
  924. <table class="mlabels">
  925. <tr>
  926. <td class="mlabels-left">
  927. <table class="memname">
  928. <tr>
  929. <td class="memname">float Wheel::mAntiRollBarImpulse = 0.0f</td>
  930. </tr>
  931. </table>
  932. </td>
  933. <td class="mlabels-right">
  934. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  935. </tr>
  936. </table>
  937. </div><div class="memdoc">
  938. <p>Amount of impulse applied to the suspension from the anti-rollbars. </p>
  939. </div>
  940. </div>
  941. <a id="aa6aeace443bfd6580ad54a938342ac67" name="aa6aeace443bfd6580ad54a938342ac67"></a>
  942. <h2 class="memtitle"><span class="permalink"><a href="#aa6aeace443bfd6580ad54a938342ac67">&#9670;&#160;</a></span>mAxlePlaneConstant</h2>
  943. <div class="memitem">
  944. <div class="memproto">
  945. <table class="mlabels">
  946. <tr>
  947. <td class="mlabels-left">
  948. <table class="memname">
  949. <tr>
  950. <td class="memname"><a class="el" href="_real_8h.html#a6baabe9790f3842ab73110ab342c5c5e">Real</a> Wheel::mAxlePlaneConstant</td>
  951. </tr>
  952. </table>
  953. </td>
  954. <td class="mlabels-right">
  955. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  956. </tr>
  957. </table>
  958. </div><div class="memdoc">
  959. <p>Constant for the contact plane of the axle, defined as ContactNormal . (WorldSpaceSuspensionPoint + SuspensionLength * WorldSpaceSuspensionDirection) </p>
  960. </div>
  961. </div>
  962. <a id="acb44fa757ea9d2447e1b2de4f65954ca" name="acb44fa757ea9d2447e1b2de4f65954ca"></a>
  963. <h2 class="memtitle"><span class="permalink"><a href="#acb44fa757ea9d2447e1b2de4f65954ca">&#9670;&#160;</a></span>mContactBody</h2>
  964. <div class="memitem">
  965. <div class="memproto">
  966. <table class="mlabels">
  967. <tr>
  968. <td class="mlabels-left">
  969. <table class="memname">
  970. <tr>
  971. <td class="memname"><a class="el" href="class_body.html">Body</a>* Wheel::mContactBody = nullptr</td>
  972. </tr>
  973. </table>
  974. </td>
  975. <td class="mlabels-right">
  976. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  977. </tr>
  978. </table>
  979. </div><div class="memdoc">
  980. <p><a class="el" href="class_body.html">Body</a> for ground. </p>
  981. </div>
  982. </div>
  983. <a id="a53ae6143cfd91eba78398b03f427c7ed" name="a53ae6143cfd91eba78398b03f427c7ed"></a>
  984. <h2 class="memtitle"><span class="permalink"><a href="#a53ae6143cfd91eba78398b03f427c7ed">&#9670;&#160;</a></span>mContactBodyID</h2>
  985. <div class="memitem">
  986. <div class="memproto">
  987. <table class="mlabels">
  988. <tr>
  989. <td class="mlabels-left">
  990. <table class="memname">
  991. <tr>
  992. <td class="memname"><a class="el" href="class_body_i_d.html">BodyID</a> Wheel::mContactBodyID</td>
  993. </tr>
  994. </table>
  995. </td>
  996. <td class="mlabels-right">
  997. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  998. </tr>
  999. </table>
  1000. </div><div class="memdoc">
  1001. <p>ID of body for ground. </p>
  1002. </div>
  1003. </div>
  1004. <a id="ad8cea661025b8c99b3fbd07f67880ebb" name="ad8cea661025b8c99b3fbd07f67880ebb"></a>
  1005. <h2 class="memtitle"><span class="permalink"><a href="#ad8cea661025b8c99b3fbd07f67880ebb">&#9670;&#160;</a></span>mContactLateral</h2>
  1006. <div class="memitem">
  1007. <div class="memproto">
  1008. <table class="mlabels">
  1009. <tr>
  1010. <td class="mlabels-left">
  1011. <table class="memname">
  1012. <tr>
  1013. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::mContactLateral</td>
  1014. </tr>
  1015. </table>
  1016. </td>
  1017. <td class="mlabels-right">
  1018. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1019. </tr>
  1020. </table>
  1021. </div><div class="memdoc">
  1022. <p><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> perpendicular to normal and longitudinal direction in the right direction. </p>
  1023. </div>
  1024. </div>
  1025. <a id="a452fc2b42bb7fb3ffb296008ff19ff84" name="a452fc2b42bb7fb3ffb296008ff19ff84"></a>
  1026. <h2 class="memtitle"><span class="permalink"><a href="#a452fc2b42bb7fb3ffb296008ff19ff84">&#9670;&#160;</a></span>mContactLongitudinal</h2>
  1027. <div class="memitem">
  1028. <div class="memproto">
  1029. <table class="mlabels">
  1030. <tr>
  1031. <td class="mlabels-left">
  1032. <table class="memname">
  1033. <tr>
  1034. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::mContactLongitudinal</td>
  1035. </tr>
  1036. </table>
  1037. </td>
  1038. <td class="mlabels-right">
  1039. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1040. </tr>
  1041. </table>
  1042. </div><div class="memdoc">
  1043. <p><a class="el" href="class_vector.html" title="Templatized vector class.">Vector</a> perpendicular to normal in the forward direction. </p>
  1044. </div>
  1045. </div>
  1046. <a id="a1e753efe90d09796fa717079a15b6b59" name="a1e753efe90d09796fa717079a15b6b59"></a>
  1047. <h2 class="memtitle"><span class="permalink"><a href="#a1e753efe90d09796fa717079a15b6b59">&#9670;&#160;</a></span>mContactNormal</h2>
  1048. <div class="memitem">
  1049. <div class="memproto">
  1050. <table class="mlabels">
  1051. <tr>
  1052. <td class="mlabels-left">
  1053. <table class="memname">
  1054. <tr>
  1055. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::mContactNormal</td>
  1056. </tr>
  1057. </table>
  1058. </td>
  1059. <td class="mlabels-right">
  1060. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1061. </tr>
  1062. </table>
  1063. </div><div class="memdoc">
  1064. <p>Normal of the contact point between wheel and ground. </p>
  1065. </div>
  1066. </div>
  1067. <a id="a7d348b3098f9316f308173fe87c81783" name="a7d348b3098f9316f308173fe87c81783"></a>
  1068. <h2 class="memtitle"><span class="permalink"><a href="#a7d348b3098f9316f308173fe87c81783">&#9670;&#160;</a></span>mContactPointVelocity</h2>
  1069. <div class="memitem">
  1070. <div class="memproto">
  1071. <table class="mlabels">
  1072. <tr>
  1073. <td class="mlabels-left">
  1074. <table class="memname">
  1075. <tr>
  1076. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> Wheel::mContactPointVelocity</td>
  1077. </tr>
  1078. </table>
  1079. </td>
  1080. <td class="mlabels-right">
  1081. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1082. </tr>
  1083. </table>
  1084. </div><div class="memdoc">
  1085. <p>Velocity of the contact point (m / s, not relative to the wheel but in world space) </p>
  1086. </div>
  1087. </div>
  1088. <a id="ac30ace148260fc1280c40224cb51c34f" name="ac30ace148260fc1280c40224cb51c34f"></a>
  1089. <h2 class="memtitle"><span class="permalink"><a href="#ac30ace148260fc1280c40224cb51c34f">&#9670;&#160;</a></span>mContactPosition</h2>
  1090. <div class="memitem">
  1091. <div class="memproto">
  1092. <table class="mlabels">
  1093. <tr>
  1094. <td class="mlabels-left">
  1095. <table class="memname">
  1096. <tr>
  1097. <td class="memname"><a class="el" href="_real_8h.html#ae088dda635fb0ba1c96ea179d384ca40">RVec3</a> Wheel::mContactPosition</td>
  1098. </tr>
  1099. </table>
  1100. </td>
  1101. <td class="mlabels-right">
  1102. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1103. </tr>
  1104. </table>
  1105. </div><div class="memdoc">
  1106. <p>Position of the contact point between wheel and ground. </p>
  1107. </div>
  1108. </div>
  1109. <a id="af93d7137c196e5dc6107963bdc06c5ba" name="af93d7137c196e5dc6107963bdc06c5ba"></a>
  1110. <h2 class="memtitle"><span class="permalink"><a href="#af93d7137c196e5dc6107963bdc06c5ba">&#9670;&#160;</a></span>mContactSubShapeID</h2>
  1111. <div class="memitem">
  1112. <div class="memproto">
  1113. <table class="mlabels">
  1114. <tr>
  1115. <td class="mlabels-left">
  1116. <table class="memname">
  1117. <tr>
  1118. <td class="memname"><a class="el" href="class_sub_shape_i_d.html">SubShapeID</a> Wheel::mContactSubShapeID</td>
  1119. </tr>
  1120. </table>
  1121. </td>
  1122. <td class="mlabels-right">
  1123. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1124. </tr>
  1125. </table>
  1126. </div><div class="memdoc">
  1127. <p>Sub shape ID for ground. </p>
  1128. </div>
  1129. </div>
  1130. <a id="a3e466a6ec5a4dc839c86586fb0e0dd6c" name="a3e466a6ec5a4dc839c86586fb0e0dd6c"></a>
  1131. <h2 class="memtitle"><span class="permalink"><a href="#a3e466a6ec5a4dc839c86586fb0e0dd6c">&#9670;&#160;</a></span>mLateralPart</h2>
  1132. <div class="memitem">
  1133. <div class="memproto">
  1134. <table class="mlabels">
  1135. <tr>
  1136. <td class="mlabels-left">
  1137. <table class="memname">
  1138. <tr>
  1139. <td class="memname"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a> Wheel::mLateralPart</td>
  1140. </tr>
  1141. </table>
  1142. </td>
  1143. <td class="mlabels-right">
  1144. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1145. </tr>
  1146. </table>
  1147. </div><div class="memdoc">
  1148. <p>Controls movement sideways (slip) </p>
  1149. </div>
  1150. </div>
  1151. <a id="aad04d9e83a92376fb5ef078fbc1577bc" name="aad04d9e83a92376fb5ef078fbc1577bc"></a>
  1152. <h2 class="memtitle"><span class="permalink"><a href="#aad04d9e83a92376fb5ef078fbc1577bc">&#9670;&#160;</a></span>mLongitudinalPart</h2>
  1153. <div class="memitem">
  1154. <div class="memproto">
  1155. <table class="mlabels">
  1156. <tr>
  1157. <td class="mlabels-left">
  1158. <table class="memname">
  1159. <tr>
  1160. <td class="memname"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a> Wheel::mLongitudinalPart</td>
  1161. </tr>
  1162. </table>
  1163. </td>
  1164. <td class="mlabels-right">
  1165. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1166. </tr>
  1167. </table>
  1168. </div><div class="memdoc">
  1169. <p>Controls movement forward/backward. </p>
  1170. </div>
  1171. </div>
  1172. <a id="a024cd676398378408f174ebdd8fefd6c" name="a024cd676398378408f174ebdd8fefd6c"></a>
  1173. <h2 class="memtitle"><span class="permalink"><a href="#a024cd676398378408f174ebdd8fefd6c">&#9670;&#160;</a></span>mSettings</h2>
  1174. <div class="memitem">
  1175. <div class="memproto">
  1176. <table class="mlabels">
  1177. <tr>
  1178. <td class="mlabels-left">
  1179. <table class="memname">
  1180. <tr>
  1181. <td class="memname"><a class="el" href="class_ref_const.html">RefConst</a>&lt;<a class="el" href="class_wheel_settings.html">WheelSettings</a>&gt; Wheel::mSettings</td>
  1182. </tr>
  1183. </table>
  1184. </td>
  1185. <td class="mlabels-right">
  1186. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1187. </tr>
  1188. </table>
  1189. </div><div class="memdoc">
  1190. <p>Configuration settings for this wheel. </p>
  1191. </div>
  1192. </div>
  1193. <a id="ae6d6847e2825c5e6b1f3203d8fe559fa" name="ae6d6847e2825c5e6b1f3203d8fe559fa"></a>
  1194. <h2 class="memtitle"><span class="permalink"><a href="#ae6d6847e2825c5e6b1f3203d8fe559fa">&#9670;&#160;</a></span>mSteerAngle</h2>
  1195. <div class="memitem">
  1196. <div class="memproto">
  1197. <table class="mlabels">
  1198. <tr>
  1199. <td class="mlabels-left">
  1200. <table class="memname">
  1201. <tr>
  1202. <td class="memname">float Wheel::mSteerAngle = 0.0f</td>
  1203. </tr>
  1204. </table>
  1205. </td>
  1206. <td class="mlabels-right">
  1207. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1208. </tr>
  1209. </table>
  1210. </div><div class="memdoc">
  1211. <p>Rotation around the suspension direction, positive is to the left. </p>
  1212. </div>
  1213. </div>
  1214. <a id="a49fc75e7639dbf0a484ccd9bf1968ae4" name="a49fc75e7639dbf0a484ccd9bf1968ae4"></a>
  1215. <h2 class="memtitle"><span class="permalink"><a href="#a49fc75e7639dbf0a484ccd9bf1968ae4">&#9670;&#160;</a></span>mSuspensionLength</h2>
  1216. <div class="memitem">
  1217. <div class="memproto">
  1218. <table class="mlabels">
  1219. <tr>
  1220. <td class="mlabels-left">
  1221. <table class="memname">
  1222. <tr>
  1223. <td class="memname">float Wheel::mSuspensionLength</td>
  1224. </tr>
  1225. </table>
  1226. </td>
  1227. <td class="mlabels-right">
  1228. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1229. </tr>
  1230. </table>
  1231. </div><div class="memdoc">
  1232. <p>Current length of the suspension. </p>
  1233. </div>
  1234. </div>
  1235. <a id="a568fed5d0dd04fd63020e9253801a34c" name="a568fed5d0dd04fd63020e9253801a34c"></a>
  1236. <h2 class="memtitle"><span class="permalink"><a href="#a568fed5d0dd04fd63020e9253801a34c">&#9670;&#160;</a></span>mSuspensionMaxUpPart</h2>
  1237. <div class="memitem">
  1238. <div class="memproto">
  1239. <table class="mlabels">
  1240. <tr>
  1241. <td class="mlabels-left">
  1242. <table class="memname">
  1243. <tr>
  1244. <td class="memname"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a> Wheel::mSuspensionMaxUpPart</td>
  1245. </tr>
  1246. </table>
  1247. </td>
  1248. <td class="mlabels-right">
  1249. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1250. </tr>
  1251. </table>
  1252. </div><div class="memdoc">
  1253. <p>Adds a hard limit when reaching the minimal suspension length. </p>
  1254. </div>
  1255. </div>
  1256. <a id="a9e9df1e9246d38363edc02b9d1c81ef4" name="a9e9df1e9246d38363edc02b9d1c81ef4"></a>
  1257. <h2 class="memtitle"><span class="permalink"><a href="#a9e9df1e9246d38363edc02b9d1c81ef4">&#9670;&#160;</a></span>mSuspensionPart</h2>
  1258. <div class="memitem">
  1259. <div class="memproto">
  1260. <table class="mlabels">
  1261. <tr>
  1262. <td class="mlabels-left">
  1263. <table class="memname">
  1264. <tr>
  1265. <td class="memname"><a class="el" href="class_axis_constraint_part.html">AxisConstraintPart</a> Wheel::mSuspensionPart</td>
  1266. </tr>
  1267. </table>
  1268. </td>
  1269. <td class="mlabels-right">
  1270. <span class="mlabels"><span class="mlabel">protected</span></span> </td>
  1271. </tr>
  1272. </table>
  1273. </div><div class="memdoc">
  1274. <p>Controls movement up/down along the contact normal. </p>
  1275. </div>
  1276. </div>
  1277. <hr/>The documentation for this class was generated from the following files:<ul>
  1278. <li>Jolt/Physics/Vehicle/<a class="el" href="_wheel_8h_source.html">Wheel.h</a></li>
  1279. <li>Jolt/Physics/Vehicle/<a class="el" href="_wheel_8cpp.html">Wheel.cpp</a></li>
  1280. </ul>
  1281. </div><!-- contents -->
  1282. </div><!-- doc-content -->
  1283. <!-- start footer part -->
  1284. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  1285. <ul>
  1286. <li class="navelem"><a class="el" href="class_wheel.html">Wheel</a></li>
  1287. <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>
  1288. </ul>
  1289. </div>
  1290. </body>
  1291. </html>