struct_physics_settings.html 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626
  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: PhysicsSettings Struct 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('struct_physics_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-attribs">Public Attributes</a> &#124;
  108. <a href="struct_physics_settings-members.html">List of all members</a> </div>
  109. <div class="headertitle"><div class="title">PhysicsSettings Struct Reference</div></div>
  110. </div><!--header-->
  111. <div class="contents">
  112. <p><code>#include &lt;<a class="el" href="_physics_settings_8h_source.html">PhysicsSettings.h</a>&gt;</code></p>
  113. <table class="memberdecls">
  114. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
  115. Public Attributes</h2></td></tr>
  116. <tr class="memitem:a4b51fef768d4839927757e9b3ae65177" id="r_a4b51fef768d4839927757e9b3ae65177"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_memory_8h.html#a91074fb218fe28954a0938c099ddd9e0">JPH_OVERRIDE_NEW_DELETE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4b51fef768d4839927757e9b3ae65177">mMaxInFlightBodyPairs</a> = 16384</td></tr>
  117. <tr class="separator:a4b51fef768d4839927757e9b3ae65177"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:a646cc49b1095c6c682189ba15d4de67f" id="r_a646cc49b1095c6c682189ba15d4de67f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a646cc49b1095c6c682189ba15d4de67f">mStepListenersBatchSize</a> = 8</td></tr>
  119. <tr class="memdesc:a646cc49b1095c6c682189ba15d4de67f"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many PhysicsStepListeners to notify in 1 batch. <br /></td></tr>
  120. <tr class="separator:a646cc49b1095c6c682189ba15d4de67f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:af9a3ca565935d36351a646e82ffe0867" id="r_af9a3ca565935d36351a646e82ffe0867"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af9a3ca565935d36351a646e82ffe0867">mStepListenerBatchesPerJob</a> = 1</td></tr>
  122. <tr class="memdesc:af9a3ca565935d36351a646e82ffe0867"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many step listener batches are needed before spawning another job (set to INT_MAX if no parallelism is desired) <br /></td></tr>
  123. <tr class="separator:af9a3ca565935d36351a646e82ffe0867"><td class="memSeparator" colspan="2">&#160;</td></tr>
  124. <tr class="memitem:ae1969d17d76a46e36471e1289d02355f" id="r_ae1969d17d76a46e36471e1289d02355f"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae1969d17d76a46e36471e1289d02355f">mBaumgarte</a> = 0.2f</td></tr>
  125. <tr class="memdesc:ae1969d17d76a46e36471e1289d02355f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Baumgarte stabilization factor (how much of the position error to 'fix' in 1 update) (unit: dimensionless, 0 = nothing, 1 = 100%) <br /></td></tr>
  126. <tr class="separator:ae1969d17d76a46e36471e1289d02355f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:a9d7cb8a2c982e6c63e4def8fcd88d7fb" id="r_a9d7cb8a2c982e6c63e4def8fcd88d7fb"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9d7cb8a2c982e6c63e4def8fcd88d7fb">mSpeculativeContactDistance</a> = 0.02f</td></tr>
  128. <tr class="separator:a9d7cb8a2c982e6c63e4def8fcd88d7fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:a9aff2f46a311da4e48974dce7e3b4cee" id="r_a9aff2f46a311da4e48974dce7e3b4cee"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9aff2f46a311da4e48974dce7e3b4cee">mPenetrationSlop</a> = 0.02f</td></tr>
  130. <tr class="memdesc:a9aff2f46a311da4e48974dce7e3b4cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">How much bodies are allowed to sink into each other (unit: meters) <br /></td></tr>
  131. <tr class="separator:a9aff2f46a311da4e48974dce7e3b4cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:ab5580db2e8580b84eb6be01a24cc54c4" id="r_ab5580db2e8580b84eb6be01a24cc54c4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5580db2e8580b84eb6be01a24cc54c4">mLinearCastThreshold</a> = 0.75f</td></tr>
  133. <tr class="memdesc:ab5580db2e8580b84eb6be01a24cc54c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fraction of its inner radius a body must move per step to enable casting for the LinearCast motion quality. <br /></td></tr>
  134. <tr class="separator:ab5580db2e8580b84eb6be01a24cc54c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:aa5090787a0d12a9e7519da9e752de0e7" id="r_aa5090787a0d12a9e7519da9e752de0e7"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5090787a0d12a9e7519da9e752de0e7">mLinearCastMaxPenetration</a> = 0.25f</td></tr>
  136. <tr class="memdesc:aa5090787a0d12a9e7519da9e752de0e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fraction of its inner radius a body may penetrate another body for the LinearCast motion quality. <br /></td></tr>
  137. <tr class="separator:aa5090787a0d12a9e7519da9e752de0e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:ae7470b551e567f16e18dc91961eceac2" id="r_ae7470b551e567f16e18dc91961eceac2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae7470b551e567f16e18dc91961eceac2">mManifoldTolerance</a> = 1.0e-3f</td></tr>
  139. <tr class="memdesc:ae7470b551e567f16e18dc91961eceac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max distance to use to determine if two points are on the same plane for determining the contact manifold between two shape faces (unit: meter) <br /></td></tr>
  140. <tr class="separator:ae7470b551e567f16e18dc91961eceac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:a85f7318d995294af04d6a5c0fe0d01a6" id="r_a85f7318d995294af04d6a5c0fe0d01a6"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a85f7318d995294af04d6a5c0fe0d01a6">mMaxPenetrationDistance</a> = 0.2f</td></tr>
  142. <tr class="memdesc:a85f7318d995294af04d6a5c0fe0d01a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum distance to correct in a single iteration when solving position constraints (unit: meters) <br /></td></tr>
  143. <tr class="separator:a85f7318d995294af04d6a5c0fe0d01a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:a739d00b8a125095ee04c70981244f1be" id="r_a739d00b8a125095ee04c70981244f1be"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a739d00b8a125095ee04c70981244f1be">mBodyPairCacheMaxDeltaPositionSq</a> = <a class="el" href="_math_8h.html#a61379b8b743a16fe823daeebc1482570">Square</a>(0.001f)</td></tr>
  145. <tr class="memdesc:a739d00b8a125095ee04c70981244f1be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum relative delta position for body pairs to be able to reuse collision results from last frame (units: meter^2) <br /></td></tr>
  146. <tr class="separator:a739d00b8a125095ee04c70981244f1be"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:ac56cd29f1987d79e105e5bf443254c3e" id="r_ac56cd29f1987d79e105e5bf443254c3e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac56cd29f1987d79e105e5bf443254c3e">mBodyPairCacheCosMaxDeltaRotationDiv2</a> = 0.99984769515639123915701155881391f</td></tr>
  148. <tr class="memdesc:ac56cd29f1987d79e105e5bf443254c3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum relative delta orientation for body pairs to be able to reuse collision results from last frame, stored as cos(max angle / 2) <br /></td></tr>
  149. <tr class="separator:ac56cd29f1987d79e105e5bf443254c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:aefc600483ad1234713fbd572f80f00da" id="r_aefc600483ad1234713fbd572f80f00da"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aefc600483ad1234713fbd572f80f00da">mContactNormalCosMaxDeltaRotation</a> = 0.99619469809174553229501040247389f</td></tr>
  151. <tr class="memdesc:aefc600483ad1234713fbd572f80f00da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum angle between normals that allows manifolds between different sub shapes of the same body pair to be combined. <br /></td></tr>
  152. <tr class="separator:aefc600483ad1234713fbd572f80f00da"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:a69350ac3ff30bca78c45d402938a3ebf" id="r_a69350ac3ff30bca78c45d402938a3ebf"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a69350ac3ff30bca78c45d402938a3ebf">mContactPointPreserveLambdaMaxDistSq</a> = <a class="el" href="_math_8h.html#a61379b8b743a16fe823daeebc1482570">Square</a>(0.01f)</td></tr>
  154. <tr class="memdesc:a69350ac3ff30bca78c45d402938a3ebf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum allowed distance between old and new contact point to preserve contact forces for warm start (units: meter^2) <br /></td></tr>
  155. <tr class="separator:a69350ac3ff30bca78c45d402938a3ebf"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. <tr class="memitem:a66af679ba7f202b402bb23d0a0e117ad" id="r_a66af679ba7f202b402bb23d0a0e117ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a66af679ba7f202b402bb23d0a0e117ad">mNumVelocitySteps</a> = 10</td></tr>
  157. <tr class="separator:a66af679ba7f202b402bb23d0a0e117ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
  158. <tr class="memitem:a3724f8c1ef9269076dac93c4d7b7cfdb" id="r_a3724f8c1ef9269076dac93c4d7b7cfdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3724f8c1ef9269076dac93c4d7b7cfdb">mNumPositionSteps</a> = 2</td></tr>
  159. <tr class="memdesc:a3724f8c1ef9269076dac93c4d7b7cfdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of solver position iterations to run. <br /></td></tr>
  160. <tr class="separator:a3724f8c1ef9269076dac93c4d7b7cfdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:a3f68f35ad1244421ad126d3db5a617f3" id="r_a3f68f35ad1244421ad126d3db5a617f3"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3f68f35ad1244421ad126d3db5a617f3">mMinVelocityForRestitution</a> = 1.0f</td></tr>
  162. <tr class="separator:a3f68f35ad1244421ad126d3db5a617f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a0bd7d6eb98c547488f874a9577fff451" id="r_a0bd7d6eb98c547488f874a9577fff451"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0bd7d6eb98c547488f874a9577fff451">mTimeBeforeSleep</a> = 0.5f</td></tr>
  164. <tr class="memdesc:a0bd7d6eb98c547488f874a9577fff451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Time before object is allowed to go to sleep (unit: seconds) <br /></td></tr>
  165. <tr class="separator:a0bd7d6eb98c547488f874a9577fff451"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:aae6093b99380ed5b72f5af1cc6529785" id="r_aae6093b99380ed5b72f5af1cc6529785"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aae6093b99380ed5b72f5af1cc6529785">mPointVelocitySleepThreshold</a> = 0.03f</td></tr>
  167. <tr class="separator:aae6093b99380ed5b72f5af1cc6529785"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr class="memitem:aee2d7c40a127dc9c347d3b84b24ab4e3" id="r_aee2d7c40a127dc9c347d3b84b24ab4e3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aee2d7c40a127dc9c347d3b84b24ab4e3">mDeterministicSimulation</a> = true</td></tr>
  169. <tr class="memdesc:aee2d7c40a127dc9c347d3b84b24ab4e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">By default the simulation is deterministic, it is possible to turn this off by setting this setting to false. This will make the simulation run faster but it will no longer be deterministic. <br /></td></tr>
  170. <tr class="separator:aee2d7c40a127dc9c347d3b84b24ab4e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr><td colspan="2"><div class="groupHeader">These variables are mainly for debugging purposes, they allow turning on/off certain subsystems. You probably want to leave them alone.</div></td></tr>
  172. <tr class="memitem:ad477a1ff8add4e1f8684b131c1485480" id="r_ad477a1ff8add4e1f8684b131c1485480"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad477a1ff8add4e1f8684b131c1485480">mConstraintWarmStart</a> = true</td></tr>
  173. <tr class="memdesc:ad477a1ff8add4e1f8684b131c1485480"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether or not to use warm starting for constraints (initially applying previous frames impulses) <br /></td></tr>
  174. <tr class="separator:ad477a1ff8add4e1f8684b131c1485480"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a5a6d3286936ff2f74d1cf106e8ebf3f6" id="r_a5a6d3286936ff2f74d1cf106e8ebf3f6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5a6d3286936ff2f74d1cf106e8ebf3f6">mUseBodyPairContactCache</a> = true</td></tr>
  176. <tr class="memdesc:a5a6d3286936ff2f74d1cf106e8ebf3f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether or not to use the body pair cache, which removes the need for narrow phase collision detection when orientation between two bodies didn't change. <br /></td></tr>
  177. <tr class="separator:a5a6d3286936ff2f74d1cf106e8ebf3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. <tr class="memitem:af715e8c12331e908a82768501d09db97" id="r_af715e8c12331e908a82768501d09db97"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af715e8c12331e908a82768501d09db97">mUseManifoldReduction</a> = true</td></tr>
  179. <tr class="memdesc:af715e8c12331e908a82768501d09db97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether or not to reduce manifolds with similar contact normals into one contact manifold (see description at <a class="el" href="class_body.html#a8c24ff0c08f1a31fc57d01420f9cae8b">Body::SetUseManifoldReduction</a>) <br /></td></tr>
  180. <tr class="separator:af715e8c12331e908a82768501d09db97"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:ad391d29bbd9cd0cc0ce6358adb501e97" id="r_ad391d29bbd9cd0cc0ce6358adb501e97"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad391d29bbd9cd0cc0ce6358adb501e97">mUseLargeIslandSplitter</a> = true</td></tr>
  182. <tr class="memdesc:ad391d29bbd9cd0cc0ce6358adb501e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">If we split up large islands into smaller parallel batches of work (to improve performance) <br /></td></tr>
  183. <tr class="separator:ad391d29bbd9cd0cc0ce6358adb501e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
  184. <tr class="memitem:a5386b79ed560a23cdbe06482b5a58de6" id="r_a5386b79ed560a23cdbe06482b5a58de6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5386b79ed560a23cdbe06482b5a58de6">mAllowSleeping</a> = true</td></tr>
  185. <tr class="memdesc:a5386b79ed560a23cdbe06482b5a58de6"><td class="mdescLeft">&#160;</td><td class="mdescRight">If objects can go to sleep or not. <br /></td></tr>
  186. <tr class="separator:a5386b79ed560a23cdbe06482b5a58de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:ad5b9533124cc07d57c5dd7ff050caba7" id="r_ad5b9533124cc07d57c5dd7ff050caba7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad5b9533124cc07d57c5dd7ff050caba7">mCheckActiveEdges</a> = true</td></tr>
  188. <tr class="memdesc:ad5b9533124cc07d57c5dd7ff050caba7"><td class="mdescLeft">&#160;</td><td class="mdescRight">When false, we prevent collision against non-active (shared) edges. Mainly for debugging the algorithm. <br /></td></tr>
  189. <tr class="separator:ad5b9533124cc07d57c5dd7ff050caba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. </table>
  191. <h2 class="groupheader">Member Data Documentation</h2>
  192. <a id="a5386b79ed560a23cdbe06482b5a58de6" name="a5386b79ed560a23cdbe06482b5a58de6"></a>
  193. <h2 class="memtitle"><span class="permalink"><a href="#a5386b79ed560a23cdbe06482b5a58de6">&#9670;&#160;</a></span>mAllowSleeping</h2>
  194. <div class="memitem">
  195. <div class="memproto">
  196. <table class="memname">
  197. <tr>
  198. <td class="memname">bool PhysicsSettings::mAllowSleeping = true</td>
  199. </tr>
  200. </table>
  201. </div><div class="memdoc">
  202. <p>If objects can go to sleep or not. </p>
  203. </div>
  204. </div>
  205. <a id="ae1969d17d76a46e36471e1289d02355f" name="ae1969d17d76a46e36471e1289d02355f"></a>
  206. <h2 class="memtitle"><span class="permalink"><a href="#ae1969d17d76a46e36471e1289d02355f">&#9670;&#160;</a></span>mBaumgarte</h2>
  207. <div class="memitem">
  208. <div class="memproto">
  209. <table class="memname">
  210. <tr>
  211. <td class="memname">float PhysicsSettings::mBaumgarte = 0.2f</td>
  212. </tr>
  213. </table>
  214. </div><div class="memdoc">
  215. <p>Baumgarte stabilization factor (how much of the position error to 'fix' in 1 update) (unit: dimensionless, 0 = nothing, 1 = 100%) </p>
  216. </div>
  217. </div>
  218. <a id="ac56cd29f1987d79e105e5bf443254c3e" name="ac56cd29f1987d79e105e5bf443254c3e"></a>
  219. <h2 class="memtitle"><span class="permalink"><a href="#ac56cd29f1987d79e105e5bf443254c3e">&#9670;&#160;</a></span>mBodyPairCacheCosMaxDeltaRotationDiv2</h2>
  220. <div class="memitem">
  221. <div class="memproto">
  222. <table class="memname">
  223. <tr>
  224. <td class="memname">float PhysicsSettings::mBodyPairCacheCosMaxDeltaRotationDiv2 = 0.99984769515639123915701155881391f</td>
  225. </tr>
  226. </table>
  227. </div><div class="memdoc">
  228. <p>Maximum relative delta orientation for body pairs to be able to reuse collision results from last frame, stored as cos(max angle / 2) </p>
  229. <p>cos(2 degrees / 2) </p>
  230. </div>
  231. </div>
  232. <a id="a739d00b8a125095ee04c70981244f1be" name="a739d00b8a125095ee04c70981244f1be"></a>
  233. <h2 class="memtitle"><span class="permalink"><a href="#a739d00b8a125095ee04c70981244f1be">&#9670;&#160;</a></span>mBodyPairCacheMaxDeltaPositionSq</h2>
  234. <div class="memitem">
  235. <div class="memproto">
  236. <table class="memname">
  237. <tr>
  238. <td class="memname">float PhysicsSettings::mBodyPairCacheMaxDeltaPositionSq = <a class="el" href="_math_8h.html#a61379b8b743a16fe823daeebc1482570">Square</a>(0.001f)</td>
  239. </tr>
  240. </table>
  241. </div><div class="memdoc">
  242. <p>Maximum relative delta position for body pairs to be able to reuse collision results from last frame (units: meter^2) </p>
  243. <p>1 mm </p>
  244. </div>
  245. </div>
  246. <a id="ad5b9533124cc07d57c5dd7ff050caba7" name="ad5b9533124cc07d57c5dd7ff050caba7"></a>
  247. <h2 class="memtitle"><span class="permalink"><a href="#ad5b9533124cc07d57c5dd7ff050caba7">&#9670;&#160;</a></span>mCheckActiveEdges</h2>
  248. <div class="memitem">
  249. <div class="memproto">
  250. <table class="memname">
  251. <tr>
  252. <td class="memname">bool PhysicsSettings::mCheckActiveEdges = true</td>
  253. </tr>
  254. </table>
  255. </div><div class="memdoc">
  256. <p>When false, we prevent collision against non-active (shared) edges. Mainly for debugging the algorithm. </p>
  257. </div>
  258. </div>
  259. <a id="ad477a1ff8add4e1f8684b131c1485480" name="ad477a1ff8add4e1f8684b131c1485480"></a>
  260. <h2 class="memtitle"><span class="permalink"><a href="#ad477a1ff8add4e1f8684b131c1485480">&#9670;&#160;</a></span>mConstraintWarmStart</h2>
  261. <div class="memitem">
  262. <div class="memproto">
  263. <table class="memname">
  264. <tr>
  265. <td class="memname">bool PhysicsSettings::mConstraintWarmStart = true</td>
  266. </tr>
  267. </table>
  268. </div><div class="memdoc">
  269. <p>Whether or not to use warm starting for constraints (initially applying previous frames impulses) </p>
  270. </div>
  271. </div>
  272. <a id="aefc600483ad1234713fbd572f80f00da" name="aefc600483ad1234713fbd572f80f00da"></a>
  273. <h2 class="memtitle"><span class="permalink"><a href="#aefc600483ad1234713fbd572f80f00da">&#9670;&#160;</a></span>mContactNormalCosMaxDeltaRotation</h2>
  274. <div class="memitem">
  275. <div class="memproto">
  276. <table class="memname">
  277. <tr>
  278. <td class="memname">float PhysicsSettings::mContactNormalCosMaxDeltaRotation = 0.99619469809174553229501040247389f</td>
  279. </tr>
  280. </table>
  281. </div><div class="memdoc">
  282. <p>Maximum angle between normals that allows manifolds between different sub shapes of the same body pair to be combined. </p>
  283. <p>cos(5 degree) </p>
  284. </div>
  285. </div>
  286. <a id="a69350ac3ff30bca78c45d402938a3ebf" name="a69350ac3ff30bca78c45d402938a3ebf"></a>
  287. <h2 class="memtitle"><span class="permalink"><a href="#a69350ac3ff30bca78c45d402938a3ebf">&#9670;&#160;</a></span>mContactPointPreserveLambdaMaxDistSq</h2>
  288. <div class="memitem">
  289. <div class="memproto">
  290. <table class="memname">
  291. <tr>
  292. <td class="memname">float PhysicsSettings::mContactPointPreserveLambdaMaxDistSq = <a class="el" href="_math_8h.html#a61379b8b743a16fe823daeebc1482570">Square</a>(0.01f)</td>
  293. </tr>
  294. </table>
  295. </div><div class="memdoc">
  296. <p>Maximum allowed distance between old and new contact point to preserve contact forces for warm start (units: meter^2) </p>
  297. <p>1 cm </p>
  298. </div>
  299. </div>
  300. <a id="aee2d7c40a127dc9c347d3b84b24ab4e3" name="aee2d7c40a127dc9c347d3b84b24ab4e3"></a>
  301. <h2 class="memtitle"><span class="permalink"><a href="#aee2d7c40a127dc9c347d3b84b24ab4e3">&#9670;&#160;</a></span>mDeterministicSimulation</h2>
  302. <div class="memitem">
  303. <div class="memproto">
  304. <table class="memname">
  305. <tr>
  306. <td class="memname">bool PhysicsSettings::mDeterministicSimulation = true</td>
  307. </tr>
  308. </table>
  309. </div><div class="memdoc">
  310. <p>By default the simulation is deterministic, it is possible to turn this off by setting this setting to false. This will make the simulation run faster but it will no longer be deterministic. </p>
  311. </div>
  312. </div>
  313. <a id="aa5090787a0d12a9e7519da9e752de0e7" name="aa5090787a0d12a9e7519da9e752de0e7"></a>
  314. <h2 class="memtitle"><span class="permalink"><a href="#aa5090787a0d12a9e7519da9e752de0e7">&#9670;&#160;</a></span>mLinearCastMaxPenetration</h2>
  315. <div class="memitem">
  316. <div class="memproto">
  317. <table class="memname">
  318. <tr>
  319. <td class="memname">float PhysicsSettings::mLinearCastMaxPenetration = 0.25f</td>
  320. </tr>
  321. </table>
  322. </div><div class="memdoc">
  323. <p>Fraction of its inner radius a body may penetrate another body for the LinearCast motion quality. </p>
  324. </div>
  325. </div>
  326. <a id="ab5580db2e8580b84eb6be01a24cc54c4" name="ab5580db2e8580b84eb6be01a24cc54c4"></a>
  327. <h2 class="memtitle"><span class="permalink"><a href="#ab5580db2e8580b84eb6be01a24cc54c4">&#9670;&#160;</a></span>mLinearCastThreshold</h2>
  328. <div class="memitem">
  329. <div class="memproto">
  330. <table class="memname">
  331. <tr>
  332. <td class="memname">float PhysicsSettings::mLinearCastThreshold = 0.75f</td>
  333. </tr>
  334. </table>
  335. </div><div class="memdoc">
  336. <p>Fraction of its inner radius a body must move per step to enable casting for the LinearCast motion quality. </p>
  337. </div>
  338. </div>
  339. <a id="ae7470b551e567f16e18dc91961eceac2" name="ae7470b551e567f16e18dc91961eceac2"></a>
  340. <h2 class="memtitle"><span class="permalink"><a href="#ae7470b551e567f16e18dc91961eceac2">&#9670;&#160;</a></span>mManifoldTolerance</h2>
  341. <div class="memitem">
  342. <div class="memproto">
  343. <table class="memname">
  344. <tr>
  345. <td class="memname">float PhysicsSettings::mManifoldTolerance = 1.0e-3f</td>
  346. </tr>
  347. </table>
  348. </div><div class="memdoc">
  349. <p>Max distance to use to determine if two points are on the same plane for determining the contact manifold between two shape faces (unit: meter) </p>
  350. </div>
  351. </div>
  352. <a id="a4b51fef768d4839927757e9b3ae65177" name="a4b51fef768d4839927757e9b3ae65177"></a>
  353. <h2 class="memtitle"><span class="permalink"><a href="#a4b51fef768d4839927757e9b3ae65177">&#9670;&#160;</a></span>mMaxInFlightBodyPairs</h2>
  354. <div class="memitem">
  355. <div class="memproto">
  356. <table class="memname">
  357. <tr>
  358. <td class="memname"><a class="el" href="_memory_8h.html#a91074fb218fe28954a0938c099ddd9e0">JPH_OVERRIDE_NEW_DELETE</a> int PhysicsSettings::mMaxInFlightBodyPairs = 16384</td>
  359. </tr>
  360. </table>
  361. </div><div class="memdoc">
  362. <p>Size of body pairs array, corresponds to the maximum amount of potential body pairs that can be in flight at any time. Setting this to a low value will use less memory but slow down simulation as threads may run out of narrow phase work. </p>
  363. </div>
  364. </div>
  365. <a id="a85f7318d995294af04d6a5c0fe0d01a6" name="a85f7318d995294af04d6a5c0fe0d01a6"></a>
  366. <h2 class="memtitle"><span class="permalink"><a href="#a85f7318d995294af04d6a5c0fe0d01a6">&#9670;&#160;</a></span>mMaxPenetrationDistance</h2>
  367. <div class="memitem">
  368. <div class="memproto">
  369. <table class="memname">
  370. <tr>
  371. <td class="memname">float PhysicsSettings::mMaxPenetrationDistance = 0.2f</td>
  372. </tr>
  373. </table>
  374. </div><div class="memdoc">
  375. <p>Maximum distance to correct in a single iteration when solving position constraints (unit: meters) </p>
  376. </div>
  377. </div>
  378. <a id="a3f68f35ad1244421ad126d3db5a617f3" name="a3f68f35ad1244421ad126d3db5a617f3"></a>
  379. <h2 class="memtitle"><span class="permalink"><a href="#a3f68f35ad1244421ad126d3db5a617f3">&#9670;&#160;</a></span>mMinVelocityForRestitution</h2>
  380. <div class="memitem">
  381. <div class="memproto">
  382. <table class="memname">
  383. <tr>
  384. <td class="memname">float PhysicsSettings::mMinVelocityForRestitution = 1.0f</td>
  385. </tr>
  386. </table>
  387. </div><div class="memdoc">
  388. <p>Minimal velocity needed before a collision can be elastic. If the relative velocity between colliding objects in the direction of the contact normal is lower than this, the restitution will be zero regardless of the configured value. This lets an object settle sooner. Must be a positive number. (unit: m) </p>
  389. </div>
  390. </div>
  391. <a id="a3724f8c1ef9269076dac93c4d7b7cfdb" name="a3724f8c1ef9269076dac93c4d7b7cfdb"></a>
  392. <h2 class="memtitle"><span class="permalink"><a href="#a3724f8c1ef9269076dac93c4d7b7cfdb">&#9670;&#160;</a></span>mNumPositionSteps</h2>
  393. <div class="memitem">
  394. <div class="memproto">
  395. <table class="memname">
  396. <tr>
  397. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> PhysicsSettings::mNumPositionSteps = 2</td>
  398. </tr>
  399. </table>
  400. </div><div class="memdoc">
  401. <p>Number of solver position iterations to run. </p>
  402. </div>
  403. </div>
  404. <a id="a66af679ba7f202b402bb23d0a0e117ad" name="a66af679ba7f202b402bb23d0a0e117ad"></a>
  405. <h2 class="memtitle"><span class="permalink"><a href="#a66af679ba7f202b402bb23d0a0e117ad">&#9670;&#160;</a></span>mNumVelocitySteps</h2>
  406. <div class="memitem">
  407. <div class="memproto">
  408. <table class="memname">
  409. <tr>
  410. <td class="memname"><a class="el" href="_core_8h.html#a69aa29b598b851b0640aa225a9e5d61d">uint</a> PhysicsSettings::mNumVelocitySteps = 10</td>
  411. </tr>
  412. </table>
  413. </div><div class="memdoc">
  414. <p>Number of solver velocity iterations to run Note that this needs to be &gt;= 2 in order for friction to work (friction is applied using the non-penetration impulse from the previous iteration) </p>
  415. </div>
  416. </div>
  417. <a id="a9aff2f46a311da4e48974dce7e3b4cee" name="a9aff2f46a311da4e48974dce7e3b4cee"></a>
  418. <h2 class="memtitle"><span class="permalink"><a href="#a9aff2f46a311da4e48974dce7e3b4cee">&#9670;&#160;</a></span>mPenetrationSlop</h2>
  419. <div class="memitem">
  420. <div class="memproto">
  421. <table class="memname">
  422. <tr>
  423. <td class="memname">float PhysicsSettings::mPenetrationSlop = 0.02f</td>
  424. </tr>
  425. </table>
  426. </div><div class="memdoc">
  427. <p>How much bodies are allowed to sink into each other (unit: meters) </p>
  428. </div>
  429. </div>
  430. <a id="aae6093b99380ed5b72f5af1cc6529785" name="aae6093b99380ed5b72f5af1cc6529785"></a>
  431. <h2 class="memtitle"><span class="permalink"><a href="#aae6093b99380ed5b72f5af1cc6529785">&#9670;&#160;</a></span>mPointVelocitySleepThreshold</h2>
  432. <div class="memitem">
  433. <div class="memproto">
  434. <table class="memname">
  435. <tr>
  436. <td class="memname">float PhysicsSettings::mPointVelocitySleepThreshold = 0.03f</td>
  437. </tr>
  438. </table>
  439. </div><div class="memdoc">
  440. <p>To detect if an object is sleeping, we use 3 points:</p><ul>
  441. <li>The center of mass.</li>
  442. <li>The centers of the faces of the bounding box that are furthest away from the center. The movement of these points is tracked and if the velocity of all 3 points is lower than this value, the object is allowed to go to sleep. Must be a positive number. (unit: m/s) </li>
  443. </ul>
  444. </div>
  445. </div>
  446. <a id="a9d7cb8a2c982e6c63e4def8fcd88d7fb" name="a9d7cb8a2c982e6c63e4def8fcd88d7fb"></a>
  447. <h2 class="memtitle"><span class="permalink"><a href="#a9d7cb8a2c982e6c63e4def8fcd88d7fb">&#9670;&#160;</a></span>mSpeculativeContactDistance</h2>
  448. <div class="memitem">
  449. <div class="memproto">
  450. <table class="memname">
  451. <tr>
  452. <td class="memname">float PhysicsSettings::mSpeculativeContactDistance = 0.02f</td>
  453. </tr>
  454. </table>
  455. </div><div class="memdoc">
  456. <p>Radius around objects inside which speculative contact points will be detected. Note that if this is too big you will get ghost collisions as speculative contacts are based on the closest points during the collision detection step which may not be the actual closest points by the time the two objects hit (unit: meters) </p>
  457. </div>
  458. </div>
  459. <a id="af9a3ca565935d36351a646e82ffe0867" name="af9a3ca565935d36351a646e82ffe0867"></a>
  460. <h2 class="memtitle"><span class="permalink"><a href="#af9a3ca565935d36351a646e82ffe0867">&#9670;&#160;</a></span>mStepListenerBatchesPerJob</h2>
  461. <div class="memitem">
  462. <div class="memproto">
  463. <table class="memname">
  464. <tr>
  465. <td class="memname">int PhysicsSettings::mStepListenerBatchesPerJob = 1</td>
  466. </tr>
  467. </table>
  468. </div><div class="memdoc">
  469. <p>How many step listener batches are needed before spawning another job (set to INT_MAX if no parallelism is desired) </p>
  470. </div>
  471. </div>
  472. <a id="a646cc49b1095c6c682189ba15d4de67f" name="a646cc49b1095c6c682189ba15d4de67f"></a>
  473. <h2 class="memtitle"><span class="permalink"><a href="#a646cc49b1095c6c682189ba15d4de67f">&#9670;&#160;</a></span>mStepListenersBatchSize</h2>
  474. <div class="memitem">
  475. <div class="memproto">
  476. <table class="memname">
  477. <tr>
  478. <td class="memname">int PhysicsSettings::mStepListenersBatchSize = 8</td>
  479. </tr>
  480. </table>
  481. </div><div class="memdoc">
  482. <p>How many PhysicsStepListeners to notify in 1 batch. </p>
  483. </div>
  484. </div>
  485. <a id="a0bd7d6eb98c547488f874a9577fff451" name="a0bd7d6eb98c547488f874a9577fff451"></a>
  486. <h2 class="memtitle"><span class="permalink"><a href="#a0bd7d6eb98c547488f874a9577fff451">&#9670;&#160;</a></span>mTimeBeforeSleep</h2>
  487. <div class="memitem">
  488. <div class="memproto">
  489. <table class="memname">
  490. <tr>
  491. <td class="memname">float PhysicsSettings::mTimeBeforeSleep = 0.5f</td>
  492. </tr>
  493. </table>
  494. </div><div class="memdoc">
  495. <p>Time before object is allowed to go to sleep (unit: seconds) </p>
  496. </div>
  497. </div>
  498. <a id="a5a6d3286936ff2f74d1cf106e8ebf3f6" name="a5a6d3286936ff2f74d1cf106e8ebf3f6"></a>
  499. <h2 class="memtitle"><span class="permalink"><a href="#a5a6d3286936ff2f74d1cf106e8ebf3f6">&#9670;&#160;</a></span>mUseBodyPairContactCache</h2>
  500. <div class="memitem">
  501. <div class="memproto">
  502. <table class="memname">
  503. <tr>
  504. <td class="memname">bool PhysicsSettings::mUseBodyPairContactCache = true</td>
  505. </tr>
  506. </table>
  507. </div><div class="memdoc">
  508. <p>Whether or not to use the body pair cache, which removes the need for narrow phase collision detection when orientation between two bodies didn't change. </p>
  509. </div>
  510. </div>
  511. <a id="ad391d29bbd9cd0cc0ce6358adb501e97" name="ad391d29bbd9cd0cc0ce6358adb501e97"></a>
  512. <h2 class="memtitle"><span class="permalink"><a href="#ad391d29bbd9cd0cc0ce6358adb501e97">&#9670;&#160;</a></span>mUseLargeIslandSplitter</h2>
  513. <div class="memitem">
  514. <div class="memproto">
  515. <table class="memname">
  516. <tr>
  517. <td class="memname">bool PhysicsSettings::mUseLargeIslandSplitter = true</td>
  518. </tr>
  519. </table>
  520. </div><div class="memdoc">
  521. <p>If we split up large islands into smaller parallel batches of work (to improve performance) </p>
  522. </div>
  523. </div>
  524. <a id="af715e8c12331e908a82768501d09db97" name="af715e8c12331e908a82768501d09db97"></a>
  525. <h2 class="memtitle"><span class="permalink"><a href="#af715e8c12331e908a82768501d09db97">&#9670;&#160;</a></span>mUseManifoldReduction</h2>
  526. <div class="memitem">
  527. <div class="memproto">
  528. <table class="memname">
  529. <tr>
  530. <td class="memname">bool PhysicsSettings::mUseManifoldReduction = true</td>
  531. </tr>
  532. </table>
  533. </div><div class="memdoc">
  534. <p>Whether or not to reduce manifolds with similar contact normals into one contact manifold (see description at <a class="el" href="class_body.html#a8c24ff0c08f1a31fc57d01420f9cae8b">Body::SetUseManifoldReduction</a>) </p>
  535. </div>
  536. </div>
  537. <hr/>The documentation for this struct was generated from the following file:<ul>
  538. <li>Jolt/Physics/<a class="el" href="_physics_settings_8h_source.html">PhysicsSettings.h</a></li>
  539. </ul>
  540. </div><!-- contents -->
  541. </div><!-- doc-content -->
  542. <!-- start footer part -->
  543. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  544. <ul>
  545. <li class="navelem"><a class="el" href="struct_physics_settings.html">PhysicsSettings</a></li>
  546. <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>
  547. </ul>
  548. </div>
  549. </body>
  550. </html>