class_contact_settings.html 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  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: ContactSettings 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_contact_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="class_contact_settings-members.html">List of all members</a> </div>
  109. <div class="headertitle"><div class="title">ContactSettings Class Reference</div></div>
  110. </div><!--header-->
  111. <div class="contents">
  112. <p><code>#include &lt;<a class="el" href="_contact_listener_8h_source.html">ContactListener.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:a7a6722d38f6dd9f504412e3663400a2d" id="r_a7a6722d38f6dd9f504412e3663400a2d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7a6722d38f6dd9f504412e3663400a2d">mCombinedFriction</a></td></tr>
  117. <tr class="memdesc:a7a6722d38f6dd9f504412e3663400a2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combined friction for the body pair (see: <a class="el" href="class_physics_system.html#ae1cc3e726b7e186f642c7da5f6c6a2c2">PhysicsSystem::SetCombineFriction</a>) <br /></td></tr>
  118. <tr class="separator:a7a6722d38f6dd9f504412e3663400a2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:ade2482177e9dd9c8596a4a1cc6338979" id="r_ade2482177e9dd9c8596a4a1cc6338979"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ade2482177e9dd9c8596a4a1cc6338979">mCombinedRestitution</a></td></tr>
  120. <tr class="memdesc:ade2482177e9dd9c8596a4a1cc6338979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combined restitution for the body pair (see: <a class="el" href="class_physics_system.html#a1bf5312ff70cb942e4899eb0766d5ebe">PhysicsSystem::SetCombineRestitution</a>) <br /></td></tr>
  121. <tr class="separator:ade2482177e9dd9c8596a4a1cc6338979"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a6b2c4b599362d4e3837120571af2c3ce" id="r_a6b2c4b599362d4e3837120571af2c3ce"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6b2c4b599362d4e3837120571af2c3ce">mInvMassScale1</a> = 1.0f</td></tr>
  123. <tr class="memdesc:a6b2c4b599362d4e3837120571af2c3ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale factor for the inverse mass of body 1 (0 = infinite mass, 1 = use original mass, 2 = body has half the mass). For the same contact pair, you should strive to keep the value the same over time. <br /></td></tr>
  124. <tr class="separator:a6b2c4b599362d4e3837120571af2c3ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:aaf521121674ff2c72b762c87bfabed11" id="r_aaf521121674ff2c72b762c87bfabed11"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aaf521121674ff2c72b762c87bfabed11">mInvInertiaScale1</a> = 1.0f</td></tr>
  126. <tr class="memdesc:aaf521121674ff2c72b762c87bfabed11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale factor for the inverse inertia of body 1 (usually same as mInvMassScale1) <br /></td></tr>
  127. <tr class="separator:aaf521121674ff2c72b762c87bfabed11"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:a37639a208ebcf5ca37462c3689c73828" id="r_a37639a208ebcf5ca37462c3689c73828"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a37639a208ebcf5ca37462c3689c73828">mInvMassScale2</a> = 1.0f</td></tr>
  129. <tr class="memdesc:a37639a208ebcf5ca37462c3689c73828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale factor for the inverse mass of body 2 (0 = infinite mass, 1 = use original mass, 2 = body has half the mass). For the same contact pair, you should strive to keep the value the same over time. <br /></td></tr>
  130. <tr class="separator:a37639a208ebcf5ca37462c3689c73828"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a699874a8c427e9861a83b993c55b1ee8" id="r_a699874a8c427e9861a83b993c55b1ee8"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a699874a8c427e9861a83b993c55b1ee8">mInvInertiaScale2</a> = 1.0f</td></tr>
  132. <tr class="memdesc:a699874a8c427e9861a83b993c55b1ee8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale factor for the inverse inertia of body 2 (usually same as mInvMassScale2) <br /></td></tr>
  133. <tr class="separator:a699874a8c427e9861a83b993c55b1ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a1c5f448521399a40a9384dcc1aa1474f" id="r_a1c5f448521399a40a9384dcc1aa1474f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c5f448521399a40a9384dcc1aa1474f">mIsSensor</a></td></tr>
  135. <tr class="memdesc:a1c5f448521399a40a9384dcc1aa1474f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the contact should be treated as a sensor vs body contact (no collision response) <br /></td></tr>
  136. <tr class="separator:a1c5f448521399a40a9384dcc1aa1474f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:a42f0680fb14771132aab269491c217ff" id="r_a42f0680fb14771132aab269491c217ff"><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="#a42f0680fb14771132aab269491c217ff">mRelativeLinearSurfaceVelocity</a> = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td></tr>
  138. <tr class="memdesc:a42f0680fb14771132aab269491c217ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relative linear surface velocity between the bodies (world space surface velocity of body 2 - world space surface velocity of body 1), can be used to create a conveyor belt effect. <br /></td></tr>
  139. <tr class="separator:a42f0680fb14771132aab269491c217ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a5f18a7a0fa71d91b1bd75481ea549de9" id="r_a5f18a7a0fa71d91b1bd75481ea549de9"><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="#a5f18a7a0fa71d91b1bd75481ea549de9">mRelativeAngularSurfaceVelocity</a> = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td></tr>
  141. <tr class="memdesc:a5f18a7a0fa71d91b1bd75481ea549de9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relative angular surface velocity between the bodies (world space angular surface velocity of body 2 - world space angular surface velocity of body 1). Note that this angular velocity is relative to the center of mass of body 1, so if you want it relative to body 2's center of mass you need to add body 2 angular velocity x (body 1 world space center of mass - body 2 world space center of mass) to mRelativeLinearSurfaceVelocity. <br /></td></tr>
  142. <tr class="separator:a5f18a7a0fa71d91b1bd75481ea549de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. </table>
  144. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  145. <div class="textblock"><p>When a contact point is added or persisted, the callback gets a chance to override certain properties of the contact constraint. The values are filled in with their defaults by the system so the callback doesn't need to modify anything, but it can if it wants to. </p>
  146. </div><h2 class="groupheader">Member Data Documentation</h2>
  147. <a id="a7a6722d38f6dd9f504412e3663400a2d" name="a7a6722d38f6dd9f504412e3663400a2d"></a>
  148. <h2 class="memtitle"><span class="permalink"><a href="#a7a6722d38f6dd9f504412e3663400a2d">&#9670;&#160;</a></span>mCombinedFriction</h2>
  149. <div class="memitem">
  150. <div class="memproto">
  151. <table class="memname">
  152. <tr>
  153. <td class="memname">float ContactSettings::mCombinedFriction</td>
  154. </tr>
  155. </table>
  156. </div><div class="memdoc">
  157. <p>Combined friction for the body pair (see: <a class="el" href="class_physics_system.html#ae1cc3e726b7e186f642c7da5f6c6a2c2">PhysicsSystem::SetCombineFriction</a>) </p>
  158. </div>
  159. </div>
  160. <a id="ade2482177e9dd9c8596a4a1cc6338979" name="ade2482177e9dd9c8596a4a1cc6338979"></a>
  161. <h2 class="memtitle"><span class="permalink"><a href="#ade2482177e9dd9c8596a4a1cc6338979">&#9670;&#160;</a></span>mCombinedRestitution</h2>
  162. <div class="memitem">
  163. <div class="memproto">
  164. <table class="memname">
  165. <tr>
  166. <td class="memname">float ContactSettings::mCombinedRestitution</td>
  167. </tr>
  168. </table>
  169. </div><div class="memdoc">
  170. <p>Combined restitution for the body pair (see: <a class="el" href="class_physics_system.html#a1bf5312ff70cb942e4899eb0766d5ebe">PhysicsSystem::SetCombineRestitution</a>) </p>
  171. </div>
  172. </div>
  173. <a id="aaf521121674ff2c72b762c87bfabed11" name="aaf521121674ff2c72b762c87bfabed11"></a>
  174. <h2 class="memtitle"><span class="permalink"><a href="#aaf521121674ff2c72b762c87bfabed11">&#9670;&#160;</a></span>mInvInertiaScale1</h2>
  175. <div class="memitem">
  176. <div class="memproto">
  177. <table class="memname">
  178. <tr>
  179. <td class="memname">float ContactSettings::mInvInertiaScale1 = 1.0f</td>
  180. </tr>
  181. </table>
  182. </div><div class="memdoc">
  183. <p>Scale factor for the inverse inertia of body 1 (usually same as mInvMassScale1) </p>
  184. </div>
  185. </div>
  186. <a id="a699874a8c427e9861a83b993c55b1ee8" name="a699874a8c427e9861a83b993c55b1ee8"></a>
  187. <h2 class="memtitle"><span class="permalink"><a href="#a699874a8c427e9861a83b993c55b1ee8">&#9670;&#160;</a></span>mInvInertiaScale2</h2>
  188. <div class="memitem">
  189. <div class="memproto">
  190. <table class="memname">
  191. <tr>
  192. <td class="memname">float ContactSettings::mInvInertiaScale2 = 1.0f</td>
  193. </tr>
  194. </table>
  195. </div><div class="memdoc">
  196. <p>Scale factor for the inverse inertia of body 2 (usually same as mInvMassScale2) </p>
  197. </div>
  198. </div>
  199. <a id="a6b2c4b599362d4e3837120571af2c3ce" name="a6b2c4b599362d4e3837120571af2c3ce"></a>
  200. <h2 class="memtitle"><span class="permalink"><a href="#a6b2c4b599362d4e3837120571af2c3ce">&#9670;&#160;</a></span>mInvMassScale1</h2>
  201. <div class="memitem">
  202. <div class="memproto">
  203. <table class="memname">
  204. <tr>
  205. <td class="memname">float ContactSettings::mInvMassScale1 = 1.0f</td>
  206. </tr>
  207. </table>
  208. </div><div class="memdoc">
  209. <p>Scale factor for the inverse mass of body 1 (0 = infinite mass, 1 = use original mass, 2 = body has half the mass). For the same contact pair, you should strive to keep the value the same over time. </p>
  210. </div>
  211. </div>
  212. <a id="a37639a208ebcf5ca37462c3689c73828" name="a37639a208ebcf5ca37462c3689c73828"></a>
  213. <h2 class="memtitle"><span class="permalink"><a href="#a37639a208ebcf5ca37462c3689c73828">&#9670;&#160;</a></span>mInvMassScale2</h2>
  214. <div class="memitem">
  215. <div class="memproto">
  216. <table class="memname">
  217. <tr>
  218. <td class="memname">float ContactSettings::mInvMassScale2 = 1.0f</td>
  219. </tr>
  220. </table>
  221. </div><div class="memdoc">
  222. <p>Scale factor for the inverse mass of body 2 (0 = infinite mass, 1 = use original mass, 2 = body has half the mass). For the same contact pair, you should strive to keep the value the same over time. </p>
  223. </div>
  224. </div>
  225. <a id="a1c5f448521399a40a9384dcc1aa1474f" name="a1c5f448521399a40a9384dcc1aa1474f"></a>
  226. <h2 class="memtitle"><span class="permalink"><a href="#a1c5f448521399a40a9384dcc1aa1474f">&#9670;&#160;</a></span>mIsSensor</h2>
  227. <div class="memitem">
  228. <div class="memproto">
  229. <table class="memname">
  230. <tr>
  231. <td class="memname">bool ContactSettings::mIsSensor</td>
  232. </tr>
  233. </table>
  234. </div><div class="memdoc">
  235. <p>If the contact should be treated as a sensor vs body contact (no collision response) </p>
  236. </div>
  237. </div>
  238. <a id="a5f18a7a0fa71d91b1bd75481ea549de9" name="a5f18a7a0fa71d91b1bd75481ea549de9"></a>
  239. <h2 class="memtitle"><span class="permalink"><a href="#a5f18a7a0fa71d91b1bd75481ea549de9">&#9670;&#160;</a></span>mRelativeAngularSurfaceVelocity</h2>
  240. <div class="memitem">
  241. <div class="memproto">
  242. <table class="memname">
  243. <tr>
  244. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> ContactSettings::mRelativeAngularSurfaceVelocity = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td>
  245. </tr>
  246. </table>
  247. </div><div class="memdoc">
  248. <p>Relative angular surface velocity between the bodies (world space angular surface velocity of body 2 - world space angular surface velocity of body 1). Note that this angular velocity is relative to the center of mass of body 1, so if you want it relative to body 2's center of mass you need to add body 2 angular velocity x (body 1 world space center of mass - body 2 world space center of mass) to mRelativeLinearSurfaceVelocity. </p>
  249. </div>
  250. </div>
  251. <a id="a42f0680fb14771132aab269491c217ff" name="a42f0680fb14771132aab269491c217ff"></a>
  252. <h2 class="memtitle"><span class="permalink"><a href="#a42f0680fb14771132aab269491c217ff">&#9670;&#160;</a></span>mRelativeLinearSurfaceVelocity</h2>
  253. <div class="memitem">
  254. <div class="memproto">
  255. <table class="memname">
  256. <tr>
  257. <td class="memname"><a class="el" href="class_vec3.html">Vec3</a> ContactSettings::mRelativeLinearSurfaceVelocity = <a class="el" href="class_vec3.html#ad03c52ab27761bc1e64e33c47632ba51">Vec3::sZero</a>()</td>
  258. </tr>
  259. </table>
  260. </div><div class="memdoc">
  261. <p>Relative linear surface velocity between the bodies (world space surface velocity of body 2 - world space surface velocity of body 1), can be used to create a conveyor belt effect. </p>
  262. </div>
  263. </div>
  264. <hr/>The documentation for this class was generated from the following file:<ul>
  265. <li>Jolt/Physics/Collision/<a class="el" href="_contact_listener_8h_source.html">ContactListener.h</a></li>
  266. </ul>
  267. </div><!-- contents -->
  268. </div><!-- doc-content -->
  269. <!-- start footer part -->
  270. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  271. <ul>
  272. <li class="navelem"><a class="el" href="class_contact_settings.html">ContactSettings</a></li>
  273. <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>
  274. </ul>
  275. </div>
  276. </body>
  277. </html>