class_motorcycle_controller_settings.html 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  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: MotorcycleControllerSettings 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_motorcycle_controller_settings.html',''); initResizable(true); });
  83. /* @license-end */
  84. </script>
  85. <div id="doc-content">
  86. <!-- window showing the filter options -->
  87. <div id="MSearchSelectWindow"
  88. onmouseover="return searchBox.OnSearchSelectShow()"
  89. onmouseout="return searchBox.OnSearchSelectHide()"
  90. onkeydown="return searchBox.OnSearchSelectKey(event)">
  91. </div>
  92. <!-- iframe showing the search results (closed by default) -->
  93. <div id="MSearchResultsWindow">
  94. <div id="MSearchResults">
  95. <div class="SRPage">
  96. <div id="SRIndex">
  97. <div id="SRResults"></div>
  98. <div class="SRStatus" id="Loading">Loading...</div>
  99. <div class="SRStatus" id="Searching">Searching...</div>
  100. <div class="SRStatus" id="NoMatches">No Matches</div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="header">
  106. <div class="summary">
  107. <a href="#pub-methods">Public Member Functions</a> &#124;
  108. <a href="#pub-attribs">Public Attributes</a> &#124;
  109. <a href="class_motorcycle_controller_settings-members.html">List of all members</a> </div>
  110. <div class="headertitle"><div class="title">MotorcycleControllerSettings Class Reference</div></div>
  111. </div><!--header-->
  112. <div class="contents">
  113. <p><code>#include &lt;<a class="el" href="_motorcycle_controller_8h_source.html">MotorcycleController.h</a>&gt;</code></p>
  114. <div class="dynheader">
  115. Inheritance diagram for MotorcycleControllerSettings:</div>
  116. <div class="dyncontent">
  117. <div class="center">
  118. <img src="class_motorcycle_controller_settings.png" usemap="#MotorcycleControllerSettings_map" alt=""/>
  119. <map id="MotorcycleControllerSettings_map" name="MotorcycleControllerSettings_map">
  120. <area href="class_wheeled_vehicle_controller_settings.html" alt="WheeledVehicleControllerSettings" shape="rect" coords="122,112,356,136"/>
  121. <area href="class_vehicle_controller_settings.html" title="Basic settings object for interface that controls acceleration / deceleration of the vehicle." alt="VehicleControllerSettings" shape="rect" coords="122,56,356,80"/>
  122. <area href="class_serializable_object.html" alt="SerializableObject" shape="rect" coords="0,0,234,24"/>
  123. <area href="class_ref_target.html" alt="RefTarget&lt; VehicleControllerSettings &gt;" shape="rect" coords="244,0,478,24"/>
  124. </map>
  125. </div></div>
  126. <table class="memberdecls">
  127. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
  128. Public Member Functions</h2></td></tr>
  129. <tr class="memitem:a182ceaeed3e3c7f76d507ecf9ef5a4ef" id="r_a182ceaeed3e3c7f76d507ecf9ef5a4ef"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_vehicle_controller.html">VehicleController</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a182ceaeed3e3c7f76d507ecf9ef5a4ef">ConstructController</a> (<a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;inConstraint) const override</td></tr>
  130. <tr class="memdesc:a182ceaeed3e3c7f76d507ecf9ef5a4ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an instance of the vehicle controller class. <br /></td></tr>
  131. <tr class="separator:a182ceaeed3e3c7f76d507ecf9ef5a4ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:a715ebed22f63c05036175346dd7aa508" id="r_a715ebed22f63c05036175346dd7aa508"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a715ebed22f63c05036175346dd7aa508">SaveBinaryState</a> (<a class="el" href="class_stream_out.html">StreamOut</a> &amp;inStream) const override</td></tr>
  133. <tr class="memdesc:a715ebed22f63c05036175346dd7aa508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the contents of the controller settings in binary form to inStream. <br /></td></tr>
  134. <tr class="separator:a715ebed22f63c05036175346dd7aa508"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:aecb6c2070fcb21e83a14dfa4e3157f6d" id="r_aecb6c2070fcb21e83a14dfa4e3157f6d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aecb6c2070fcb21e83a14dfa4e3157f6d">RestoreBinaryState</a> (<a class="el" href="class_stream_in.html">StreamIn</a> &amp;inStream) override</td></tr>
  136. <tr class="memdesc:aecb6c2070fcb21e83a14dfa4e3157f6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the contents of the controller settings in binary form from inStream. <br /></td></tr>
  137. <tr class="separator:aecb6c2070fcb21e83a14dfa4e3157f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="inherit_header pub_methods_class_wheeled_vehicle_controller_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_wheeled_vehicle_controller_settings')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_wheeled_vehicle_controller_settings.html">WheeledVehicleControllerSettings</a></td></tr>
  139. <tr class="inherit_header pub_methods_class_vehicle_controller_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_vehicle_controller_settings')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_vehicle_controller_settings.html">VehicleControllerSettings</a></td></tr>
  140. <tr class="inherit_header pub_methods_class_serializable_object"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_class_serializable_object')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_serializable_object.html">SerializableObject</a></td></tr>
  141. <tr class="memitem:afad98c73b77e9cef11cf5083a5866d49 inherit pub_methods_class_serializable_object" id="r_afad98c73b77e9cef11cf5083a5866d49"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#afad98c73b77e9cef11cf5083a5866d49">~SerializableObject</a> ()=default</td></tr>
  142. <tr class="memdesc:afad98c73b77e9cef11cf5083a5866d49 inherit pub_methods_class_serializable_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
  143. <tr class="separator:afad98c73b77e9cef11cf5083a5866d49 inherit pub_methods_class_serializable_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <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; VehicleControllerSettings &gt;</a></td></tr>
  145. <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>
  146. <tr class="memdesc:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
  147. <tr class="separator:a4c8a23738e2e1dd6369520a30e250b17 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <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>
  149. <tr class="separator:a50444e3b659c6f93c64aee224a93f6ab inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <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>
  151. <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>
  152. <tr class="separator:ac3110b9f511287f881d7afaf26871e1b inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <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>
  154. <tr class="separator:a3befa746ea517453572f6f4f5fc3b099 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <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>
  156. <tr class="memdesc:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br /></td></tr>
  157. <tr class="separator:a1fc15bfe979bc43a7fa71c7c34f87ed0 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  158. <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>
  159. <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>
  160. <tr class="separator:acaf07366183c51cd8460c7d3dcd07c2d inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <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>
  162. <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>
  163. <tr class="separator:acf02c18a343bc9de9d6afb7c966f0363 inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  164. <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>
  165. <tr class="separator:a0451661dd5d85b01f969319e767993eb inherit pub_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. </table><table class="memberdecls">
  167. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
  168. Public Attributes</h2></td></tr>
  169. <tr class="memitem:a0dac3fbd774847fa6fa66631b7cc2e91" id="r_a0dac3fbd774847fa6fa66631b7cc2e91"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0dac3fbd774847fa6fa66631b7cc2e91">mMaxLeanAngle</a> = <a class="el" href="_math_8h.html#a636689581f2a6ce1d3030dc4dd83b2f5">DegreesToRadians</a>(45.0f)</td></tr>
  170. <tr class="memdesc:a0dac3fbd774847fa6fa66631b7cc2e91"><td class="mdescLeft">&#160;</td><td class="mdescRight">How far we're willing to make the bike lean over in turns (in radians) <br /></td></tr>
  171. <tr class="separator:a0dac3fbd774847fa6fa66631b7cc2e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:a89d4563cd7e9659a4fcdc2c7b34832d9" id="r_a89d4563cd7e9659a4fcdc2c7b34832d9"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a89d4563cd7e9659a4fcdc2c7b34832d9">mLeanSpringConstant</a> = 5000.0f</td></tr>
  173. <tr class="memdesc:a89d4563cd7e9659a4fcdc2c7b34832d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spring constant for the lean spring. <br /></td></tr>
  174. <tr class="separator:a89d4563cd7e9659a4fcdc2c7b34832d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a1b4a9d49c0305c91955ce074881d46b0" id="r_a1b4a9d49c0305c91955ce074881d46b0"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1b4a9d49c0305c91955ce074881d46b0">mLeanSpringDamping</a> = 1000.0f</td></tr>
  176. <tr class="memdesc:a1b4a9d49c0305c91955ce074881d46b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Spring damping constant for the lean spring. <br /></td></tr>
  177. <tr class="separator:a1b4a9d49c0305c91955ce074881d46b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:a1dbe2b657773dabc46548a4b14a09446" id="r_a1dbe2b657773dabc46548a4b14a09446"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1dbe2b657773dabc46548a4b14a09446">mLeanSpringIntegrationCoefficient</a> = 0.0f</td></tr>
  179. <tr class="memdesc:a1dbe2b657773dabc46548a4b14a09446"><td class="mdescLeft">&#160;</td><td class="mdescRight">The lean spring applies an additional force equal to this coefficient * Integral(delta angle, 0, t), this effectively makes the lean spring a PID controller. <br /></td></tr>
  180. <tr class="separator:a1dbe2b657773dabc46548a4b14a09446"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:ab0a0e9d685c79d159bfab4736a578273" id="r_ab0a0e9d685c79d159bfab4736a578273"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab0a0e9d685c79d159bfab4736a578273">mLeanSpringIntegrationCoefficientDecay</a> = 4.0f</td></tr>
  182. <tr class="memdesc:ab0a0e9d685c79d159bfab4736a578273"><td class="mdescLeft">&#160;</td><td class="mdescRight">How much to decay the angle integral when the wheels are not touching the floor: new_value = e^(-decay * t) * initial_value. <br /></td></tr>
  183. <tr class="separator:ab0a0e9d685c79d159bfab4736a578273"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:ab432e48f3f8bf7836d0b6c2ea9745a8f" id="r_ab432e48f3f8bf7836d0b6c2ea9745a8f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab432e48f3f8bf7836d0b6c2ea9745a8f">mLeanSmoothingFactor</a> = 0.8f</td></tr>
  185. <tr class="separator:ab432e48f3f8bf7836d0b6c2ea9745a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="inherit_header pub_attribs_class_wheeled_vehicle_controller_settings"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_attribs_class_wheeled_vehicle_controller_settings')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="class_wheeled_vehicle_controller_settings.html">WheeledVehicleControllerSettings</a></td></tr>
  187. <tr class="memitem:a4feb45c9b8ece24445bd8d3b2db8879b inherit pub_attribs_class_wheeled_vehicle_controller_settings" id="r_a4feb45c9b8ece24445bd8d3b2db8879b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vehicle_engine_settings.html">VehicleEngineSettings</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_wheeled_vehicle_controller_settings.html#a4feb45c9b8ece24445bd8d3b2db8879b">mEngine</a></td></tr>
  188. <tr class="memdesc:a4feb45c9b8ece24445bd8d3b2db8879b inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="mdescLeft">&#160;</td><td class="mdescRight">The properties of the engine. <br /></td></tr>
  189. <tr class="separator:a4feb45c9b8ece24445bd8d3b2db8879b inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:a4cef336c9cfcecd52ade9a0ca4e10315 inherit pub_attribs_class_wheeled_vehicle_controller_settings" id="r_a4cef336c9cfcecd52ade9a0ca4e10315"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_vehicle_transmission_settings.html">VehicleTransmissionSettings</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_wheeled_vehicle_controller_settings.html#a4cef336c9cfcecd52ade9a0ca4e10315">mTransmission</a></td></tr>
  191. <tr class="memdesc:a4cef336c9cfcecd52ade9a0ca4e10315 inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="mdescLeft">&#160;</td><td class="mdescRight">The properties of the transmission (aka gear box) <br /></td></tr>
  192. <tr class="separator:a4cef336c9cfcecd52ade9a0ca4e10315 inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:a1546de08a8e3f54375fd5acbc20de0aa inherit pub_attribs_class_wheeled_vehicle_controller_settings" id="r_a1546de08a8e3f54375fd5acbc20de0aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_array.html">Array</a>&lt; <a class="el" href="class_vehicle_differential_settings.html">VehicleDifferentialSettings</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_wheeled_vehicle_controller_settings.html#a1546de08a8e3f54375fd5acbc20de0aa">mDifferentials</a></td></tr>
  194. <tr class="memdesc:a1546de08a8e3f54375fd5acbc20de0aa inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of differentials and their properties. <br /></td></tr>
  195. <tr class="separator:a1546de08a8e3f54375fd5acbc20de0aa inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:a956258093f2aa7604630d1a025d3054a inherit pub_attribs_class_wheeled_vehicle_controller_settings" id="r_a956258093f2aa7604630d1a025d3054a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_wheeled_vehicle_controller_settings.html#a956258093f2aa7604630d1a025d3054a">mDifferentialLimitedSlipRatio</a> = 1.4f</td></tr>
  197. <tr class="memdesc:a956258093f2aa7604630d1a025d3054a inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ratio max / min average wheel speed of each differential (measured at the clutch). When the ratio is exceeded all torque gets distributed to the differential with the minimal average velocity. This allows implementing a limited slip differential between differentials. Set to FLT_MAX for an open differential. Value should be &gt; 1. <br /></td></tr>
  198. <tr class="separator:a956258093f2aa7604630d1a025d3054a inherit pub_attribs_class_wheeled_vehicle_controller_settings"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. </table><table class="memberdecls">
  200. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
  201. Additional Inherited Members</h2></td></tr>
  202. <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; VehicleControllerSettings &gt;</a></td></tr>
  203. <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>
  204. <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>
  205. <tr class="separator:a58b5a94748691b18ecf651ce918ae743 inherit pub_static_methods_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. <tr class="inherit_header pro_methods_class_serializable_object"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pro_methods_class_serializable_object')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_serializable_object.html">SerializableObject</a></td></tr>
  207. <tr class="memitem:a17ef2cfabac970a7b97b3dc75fa06eee inherit pro_methods_class_serializable_object" id="r_a17ef2cfabac970a7b97b3dc75fa06eee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#a17ef2cfabac970a7b97b3dc75fa06eee">SerializableObject</a> ()=default</td></tr>
  208. <tr class="memdesc:a17ef2cfabac970a7b97b3dc75fa06eee inherit pro_methods_class_serializable_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Don't allow (copy) constructing this base class, but allow derived classes to (copy) construct themselves. <br /></td></tr>
  209. <tr class="separator:a17ef2cfabac970a7b97b3dc75fa06eee inherit pro_methods_class_serializable_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
  210. <tr class="memitem:aaf09b99b1dcfe726a392cfa2f9e2b3eb inherit pro_methods_class_serializable_object" id="r_aaf09b99b1dcfe726a392cfa2f9e2b3eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#aaf09b99b1dcfe726a392cfa2f9e2b3eb">SerializableObject</a> (const <a class="el" href="class_serializable_object.html">SerializableObject</a> &amp;)=default</td></tr>
  211. <tr class="separator:aaf09b99b1dcfe726a392cfa2f9e2b3eb inherit pro_methods_class_serializable_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:a2e1b9e7dda273bacf82f2708c9f8537a inherit pro_methods_class_serializable_object" id="r_a2e1b9e7dda273bacf82f2708c9f8537a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_serializable_object.html">SerializableObject</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_serializable_object.html#a2e1b9e7dda273bacf82f2708c9f8537a">operator=</a> (const <a class="el" href="class_serializable_object.html">SerializableObject</a> &amp;)=default</td></tr>
  213. <tr class="separator:a2e1b9e7dda273bacf82f2708c9f8537a inherit pro_methods_class_serializable_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <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; VehicleControllerSettings &gt;</a></td></tr>
  215. <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>
  216. <tr class="memdesc:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="mdescLeft">&#160;</td><td class="mdescRight">Current reference count. <br /></td></tr>
  217. <tr class="separator:a12afba0bdae7706a0afd4d96ac128231 inherit pro_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <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; VehicleControllerSettings &gt;</a></td></tr>
  219. <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>
  220. <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>
  221. <tr class="separator:ad37db773efa3c8756f6d95df3862b875 inherit pro_static_attribs_class_ref_target"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. </table>
  223. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  224. <div class="textblock"><p>Settings of a two wheeled motorcycle (adds a spring to balance the motorcycle) Note: The motor cycle controller is still in development and may need a lot of tweaks/hacks to work properly! </p>
  225. </div><h2 class="groupheader">Member Function Documentation</h2>
  226. <a id="a182ceaeed3e3c7f76d507ecf9ef5a4ef" name="a182ceaeed3e3c7f76d507ecf9ef5a4ef"></a>
  227. <h2 class="memtitle"><span class="permalink"><a href="#a182ceaeed3e3c7f76d507ecf9ef5a4ef">&#9670;&#160;</a></span>ConstructController()</h2>
  228. <div class="memitem">
  229. <div class="memproto">
  230. <table class="mlabels">
  231. <tr>
  232. <td class="mlabels-left">
  233. <table class="memname">
  234. <tr>
  235. <td class="memname"><a class="el" href="class_vehicle_controller.html">VehicleController</a> * MotorcycleControllerSettings::ConstructController </td>
  236. <td>(</td>
  237. <td class="paramtype"><a class="el" href="class_vehicle_constraint.html">VehicleConstraint</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inConstraint</em></span></td><td>)</td>
  238. <td> const</td>
  239. </tr>
  240. </table>
  241. </td>
  242. <td class="mlabels-right">
  243. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  244. </tr>
  245. </table>
  246. </div><div class="memdoc">
  247. <p>Create an instance of the vehicle controller class. </p>
  248. <p>Reimplemented from <a class="el" href="class_wheeled_vehicle_controller_settings.html#a6ab2f1877dd58bc447f4392b553bfb6a">WheeledVehicleControllerSettings</a>.</p>
  249. </div>
  250. </div>
  251. <a id="aecb6c2070fcb21e83a14dfa4e3157f6d" name="aecb6c2070fcb21e83a14dfa4e3157f6d"></a>
  252. <h2 class="memtitle"><span class="permalink"><a href="#aecb6c2070fcb21e83a14dfa4e3157f6d">&#9670;&#160;</a></span>RestoreBinaryState()</h2>
  253. <div class="memitem">
  254. <div class="memproto">
  255. <table class="mlabels">
  256. <tr>
  257. <td class="mlabels-left">
  258. <table class="memname">
  259. <tr>
  260. <td class="memname">void MotorcycleControllerSettings::RestoreBinaryState </td>
  261. <td>(</td>
  262. <td class="paramtype"><a class="el" href="class_stream_in.html">StreamIn</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
  263. <td></td>
  264. </tr>
  265. </table>
  266. </td>
  267. <td class="mlabels-right">
  268. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  269. </tr>
  270. </table>
  271. </div><div class="memdoc">
  272. <p>Restore the contents of the controller settings in binary form from inStream. </p>
  273. <p>Reimplemented from <a class="el" href="class_wheeled_vehicle_controller_settings.html#a2521d5acd5088a1110c5abf5df948734">WheeledVehicleControllerSettings</a>.</p>
  274. </div>
  275. </div>
  276. <a id="a715ebed22f63c05036175346dd7aa508" name="a715ebed22f63c05036175346dd7aa508"></a>
  277. <h2 class="memtitle"><span class="permalink"><a href="#a715ebed22f63c05036175346dd7aa508">&#9670;&#160;</a></span>SaveBinaryState()</h2>
  278. <div class="memitem">
  279. <div class="memproto">
  280. <table class="mlabels">
  281. <tr>
  282. <td class="mlabels-left">
  283. <table class="memname">
  284. <tr>
  285. <td class="memname">void MotorcycleControllerSettings::SaveBinaryState </td>
  286. <td>(</td>
  287. <td class="paramtype"><a class="el" href="class_stream_out.html">StreamOut</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inStream</em></span></td><td>)</td>
  288. <td> const</td>
  289. </tr>
  290. </table>
  291. </td>
  292. <td class="mlabels-right">
  293. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
  294. </tr>
  295. </table>
  296. </div><div class="memdoc">
  297. <p>Saves the contents of the controller settings in binary form to inStream. </p>
  298. <p>Reimplemented from <a class="el" href="class_wheeled_vehicle_controller_settings.html#ae82335336bab2f06e41dc7ae4325f394">WheeledVehicleControllerSettings</a>.</p>
  299. </div>
  300. </div>
  301. <h2 class="groupheader">Member Data Documentation</h2>
  302. <a id="ab432e48f3f8bf7836d0b6c2ea9745a8f" name="ab432e48f3f8bf7836d0b6c2ea9745a8f"></a>
  303. <h2 class="memtitle"><span class="permalink"><a href="#ab432e48f3f8bf7836d0b6c2ea9745a8f">&#9670;&#160;</a></span>mLeanSmoothingFactor</h2>
  304. <div class="memitem">
  305. <div class="memproto">
  306. <table class="memname">
  307. <tr>
  308. <td class="memname">float MotorcycleControllerSettings::mLeanSmoothingFactor = 0.8f</td>
  309. </tr>
  310. </table>
  311. </div><div class="memdoc">
  312. <p>How much to smooth the lean angle (0 = no smoothing, 1 = lean angle never changes) Note that this is frame rate dependent because the formula is: smoothing_factor * previous + (1 - smoothing_factor) * current </p>
  313. </div>
  314. </div>
  315. <a id="a89d4563cd7e9659a4fcdc2c7b34832d9" name="a89d4563cd7e9659a4fcdc2c7b34832d9"></a>
  316. <h2 class="memtitle"><span class="permalink"><a href="#a89d4563cd7e9659a4fcdc2c7b34832d9">&#9670;&#160;</a></span>mLeanSpringConstant</h2>
  317. <div class="memitem">
  318. <div class="memproto">
  319. <table class="memname">
  320. <tr>
  321. <td class="memname">float MotorcycleControllerSettings::mLeanSpringConstant = 5000.0f</td>
  322. </tr>
  323. </table>
  324. </div><div class="memdoc">
  325. <p>Spring constant for the lean spring. </p>
  326. </div>
  327. </div>
  328. <a id="a1b4a9d49c0305c91955ce074881d46b0" name="a1b4a9d49c0305c91955ce074881d46b0"></a>
  329. <h2 class="memtitle"><span class="permalink"><a href="#a1b4a9d49c0305c91955ce074881d46b0">&#9670;&#160;</a></span>mLeanSpringDamping</h2>
  330. <div class="memitem">
  331. <div class="memproto">
  332. <table class="memname">
  333. <tr>
  334. <td class="memname">float MotorcycleControllerSettings::mLeanSpringDamping = 1000.0f</td>
  335. </tr>
  336. </table>
  337. </div><div class="memdoc">
  338. <p>Spring damping constant for the lean spring. </p>
  339. </div>
  340. </div>
  341. <a id="a1dbe2b657773dabc46548a4b14a09446" name="a1dbe2b657773dabc46548a4b14a09446"></a>
  342. <h2 class="memtitle"><span class="permalink"><a href="#a1dbe2b657773dabc46548a4b14a09446">&#9670;&#160;</a></span>mLeanSpringIntegrationCoefficient</h2>
  343. <div class="memitem">
  344. <div class="memproto">
  345. <table class="memname">
  346. <tr>
  347. <td class="memname">float MotorcycleControllerSettings::mLeanSpringIntegrationCoefficient = 0.0f</td>
  348. </tr>
  349. </table>
  350. </div><div class="memdoc">
  351. <p>The lean spring applies an additional force equal to this coefficient * Integral(delta angle, 0, t), this effectively makes the lean spring a PID controller. </p>
  352. </div>
  353. </div>
  354. <a id="ab0a0e9d685c79d159bfab4736a578273" name="ab0a0e9d685c79d159bfab4736a578273"></a>
  355. <h2 class="memtitle"><span class="permalink"><a href="#ab0a0e9d685c79d159bfab4736a578273">&#9670;&#160;</a></span>mLeanSpringIntegrationCoefficientDecay</h2>
  356. <div class="memitem">
  357. <div class="memproto">
  358. <table class="memname">
  359. <tr>
  360. <td class="memname">float MotorcycleControllerSettings::mLeanSpringIntegrationCoefficientDecay = 4.0f</td>
  361. </tr>
  362. </table>
  363. </div><div class="memdoc">
  364. <p>How much to decay the angle integral when the wheels are not touching the floor: new_value = e^(-decay * t) * initial_value. </p>
  365. </div>
  366. </div>
  367. <a id="a0dac3fbd774847fa6fa66631b7cc2e91" name="a0dac3fbd774847fa6fa66631b7cc2e91"></a>
  368. <h2 class="memtitle"><span class="permalink"><a href="#a0dac3fbd774847fa6fa66631b7cc2e91">&#9670;&#160;</a></span>mMaxLeanAngle</h2>
  369. <div class="memitem">
  370. <div class="memproto">
  371. <table class="memname">
  372. <tr>
  373. <td class="memname">float MotorcycleControllerSettings::mMaxLeanAngle = <a class="el" href="_math_8h.html#a636689581f2a6ce1d3030dc4dd83b2f5">DegreesToRadians</a>(45.0f)</td>
  374. </tr>
  375. </table>
  376. </div><div class="memdoc">
  377. <p>How far we're willing to make the bike lean over in turns (in radians) </p>
  378. </div>
  379. </div>
  380. <hr/>The documentation for this class was generated from the following files:<ul>
  381. <li>Jolt/Physics/Vehicle/<a class="el" href="_motorcycle_controller_8h_source.html">MotorcycleController.h</a></li>
  382. <li>Jolt/Physics/Vehicle/<a class="el" href="_motorcycle_controller_8cpp.html">MotorcycleController.cpp</a></li>
  383. </ul>
  384. </div><!-- contents -->
  385. </div><!-- doc-content -->
  386. <!-- start footer part -->
  387. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  388. <ul>
  389. <li class="navelem"><a class="el" href="class_motorcycle_controller_settings.html">MotorcycleControllerSettings</a></li>
  390. <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>
  391. </ul>
  392. </div>
  393. </body>
  394. </html>