class_collision_dispatch.html 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678
  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: CollisionDispatch 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_collision_dispatch.html',''); initResizable(true); });
  83. /* @license-end */
  84. </script>
  85. <div id="doc-content">
  86. <!-- window showing the filter options -->
  87. <div id="MSearchSelectWindow"
  88. onmouseover="return searchBox.OnSearchSelectShow()"
  89. onmouseout="return searchBox.OnSearchSelectHide()"
  90. onkeydown="return searchBox.OnSearchSelectKey(event)">
  91. </div>
  92. <!-- iframe showing the search results (closed by default) -->
  93. <div id="MSearchResultsWindow">
  94. <div id="MSearchResults">
  95. <div class="SRPage">
  96. <div id="SRIndex">
  97. <div id="SRResults"></div>
  98. <div class="SRStatus" id="Loading">Loading...</div>
  99. <div class="SRStatus" id="Searching">Searching...</div>
  100. <div class="SRStatus" id="NoMatches">No Matches</div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="header">
  106. <div class="summary">
  107. <a href="#pub-types">Public Types</a> &#124;
  108. <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
  109. <a href="class_collision_dispatch-members.html">List of all members</a> </div>
  110. <div class="headertitle"><div class="title">CollisionDispatch Class Reference</div></div>
  111. </div><!--header-->
  112. <div class="contents">
  113. <p>Dispatch function, main function to handle collisions between shapes.
  114. <a href="#details">More...</a></p>
  115. <p><code>#include &lt;<a class="el" href="_collision_dispatch_8h_source.html">CollisionDispatch.h</a>&gt;</code></p>
  116. <table class="memberdecls">
  117. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
  118. Public Types</h2></td></tr>
  119. <tr class="memitem:ad1a72bfcb8688f4eaf881aad847c2319" id="r_ad1a72bfcb8688f4eaf881aad847c2319"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad1a72bfcb8688f4eaf881aad847c2319">CollideShape</a> = void (*)(const <a class="el" href="class_shape.html">Shape</a> *inShape1, const <a class="el" href="class_shape.html">Shape</a> *inShape2, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, const <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &amp;inCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &amp;ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter)</td></tr>
  120. <tr class="memdesc:ad1a72bfcb8688f4eaf881aad847c2319"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that collides 2 shapes (see sCollideShapeVsShape) <br /></td></tr>
  121. <tr class="separator:ad1a72bfcb8688f4eaf881aad847c2319"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a9b0ecb3f10cdac7c5cf648cb2fa0b8e8" id="r_a9b0ecb3f10cdac7c5cf648cb2fa0b8e8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9b0ecb3f10cdac7c5cf648cb2fa0b8e8">CastShape</a> = void (*)(const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;inShapeCast, const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;inShapeCastSettings, const <a class="el" href="class_shape.html">Shape</a> *inShape, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, <a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;ioCollector)</td></tr>
  123. <tr class="memdesc:a9b0ecb3f10cdac7c5cf648cb2fa0b8e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that casts a shape vs another shape (see sCastShapeVsShapeLocalSpace) <br /></td></tr>
  124. <tr class="separator:a9b0ecb3f10cdac7c5cf648cb2fa0b8e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. </table><table class="memberdecls">
  126. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
  127. Static Public Member Functions</h2></td></tr>
  128. <tr class="memitem:a29634d08db5d24ce7c0d5c44b547c075" id="r_a29634d08db5d24ce7c0d5c44b547c075"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a29634d08db5d24ce7c0d5c44b547c075">sCollideShapeVsShape</a> (const <a class="el" href="class_shape.html">Shape</a> *inShape1, const <a class="el" href="class_shape.html">Shape</a> *inShape2, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, const <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &amp;inCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &amp;ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter={ })</td></tr>
  129. <tr class="separator:a29634d08db5d24ce7c0d5c44b547c075"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:a684c783f79569805d64cd436800b1d2a" id="r_a684c783f79569805d64cd436800b1d2a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a684c783f79569805d64cd436800b1d2a">sCastShapeVsShapeLocalSpace</a> (const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;inShapeCastLocal, const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;inShapeCastSettings, const <a class="el" href="class_shape.html">Shape</a> *inShape, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, <a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;ioCollector)</td></tr>
  131. <tr class="separator:a684c783f79569805d64cd436800b1d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <tr class="memitem:a50ed5fc6de2aa13d6f48ab29f6cf0b7f" id="r_a50ed5fc6de2aa13d6f48ab29f6cf0b7f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a50ed5fc6de2aa13d6f48ab29f6cf0b7f">sCastShapeVsShapeWorldSpace</a> (const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;inShapeCastWorld, const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;inShapeCastSettings, const <a class="el" href="class_shape.html">Shape</a> *inShape, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, <a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;ioCollector)</td></tr>
  133. <tr class="separator:a50ed5fc6de2aa13d6f48ab29f6cf0b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a78989af31a71c0421249c9074b94a2e0" id="r_a78989af31a71c0421249c9074b94a2e0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a78989af31a71c0421249c9074b94a2e0">sInit</a> ()</td></tr>
  135. <tr class="memdesc:a78989af31a71c0421249c9074b94a2e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize all collision functions with a function that asserts and returns no collision. <br /></td></tr>
  136. <tr class="separator:a78989af31a71c0421249c9074b94a2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:a20d56fd7360a0b72be7803eef2d616ed" id="r_a20d56fd7360a0b72be7803eef2d616ed"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a20d56fd7360a0b72be7803eef2d616ed">sRegisterCollideShape</a> (<a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a> inType1, <a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a> inType2, <a class="el" href="#ad1a72bfcb8688f4eaf881aad847c2319">CollideShape</a> inFunction)</td></tr>
  138. <tr class="memdesc:a20d56fd7360a0b72be7803eef2d616ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a collide shape function in the collision table. <br /></td></tr>
  139. <tr class="separator:a20d56fd7360a0b72be7803eef2d616ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a211b05424a9e6e7bff777af77edad6be" id="r_a211b05424a9e6e7bff777af77edad6be"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a211b05424a9e6e7bff777af77edad6be">sRegisterCastShape</a> (<a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a> inType1, <a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a> inType2, <a class="el" href="#a9b0ecb3f10cdac7c5cf648cb2fa0b8e8">CastShape</a> inFunction)</td></tr>
  141. <tr class="memdesc:a211b05424a9e6e7bff777af77edad6be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a cast shape function in the collision table. <br /></td></tr>
  142. <tr class="separator:a211b05424a9e6e7bff777af77edad6be"><td class="memSeparator" colspan="2">&#160;</td></tr>
  143. <tr class="memitem:a931dfb0bf6aeeed8acc7d6c6907f903b" id="r_a931dfb0bf6aeeed8acc7d6c6907f903b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a931dfb0bf6aeeed8acc7d6c6907f903b">sReversedCollideShape</a> (const <a class="el" href="class_shape.html">Shape</a> *inShape1, const <a class="el" href="class_shape.html">Shape</a> *inShape2, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, const <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &amp;inCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &amp;ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter)</td></tr>
  144. <tr class="memdesc:a931dfb0bf6aeeed8acc7d6c6907f903b"><td class="mdescLeft">&#160;</td><td class="mdescRight">An implementation of CollideShape that swaps inShape1 and inShape2 and swaps the result back, can be registered if the collision function only exists the other way around. <br /></td></tr>
  145. <tr class="separator:a931dfb0bf6aeeed8acc7d6c6907f903b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  146. <tr class="memitem:a559aa7de19de882317f52329f88182ea" id="r_a559aa7de19de882317f52329f88182ea"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a559aa7de19de882317f52329f88182ea">sReversedCastShape</a> (const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;inShapeCast, const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;inShapeCastSettings, const <a class="el" href="class_shape.html">Shape</a> *inShape, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, <a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;ioCollector)</td></tr>
  147. <tr class="memdesc:a559aa7de19de882317f52329f88182ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">An implementation of CastShape that swaps inShape1 and inShape2 and swaps the result back, can be registered if the collision function only exists the other way around. <br /></td></tr>
  148. <tr class="separator:a559aa7de19de882317f52329f88182ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. </table>
  150. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  151. <div class="textblock"><p>Dispatch function, main function to handle collisions between shapes. </p>
  152. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  153. <a id="a9b0ecb3f10cdac7c5cf648cb2fa0b8e8" name="a9b0ecb3f10cdac7c5cf648cb2fa0b8e8"></a>
  154. <h2 class="memtitle"><span class="permalink"><a href="#a9b0ecb3f10cdac7c5cf648cb2fa0b8e8">&#9670;&#160;</a></span>CastShape</h2>
  155. <div class="memitem">
  156. <div class="memproto">
  157. <table class="memname">
  158. <tr>
  159. <td class="memname">using <a class="el" href="#a9b0ecb3f10cdac7c5cf648cb2fa0b8e8">CollisionDispatch::CastShape</a> = void (*)(const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;inShapeCast, const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;inShapeCastSettings, const <a class="el" href="class_shape.html">Shape</a> *inShape, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, <a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;ioCollector)</td>
  160. </tr>
  161. </table>
  162. </div><div class="memdoc">
  163. <p>Function that casts a shape vs another shape (see sCastShapeVsShapeLocalSpace) </p>
  164. </div>
  165. </div>
  166. <a id="ad1a72bfcb8688f4eaf881aad847c2319" name="ad1a72bfcb8688f4eaf881aad847c2319"></a>
  167. <h2 class="memtitle"><span class="permalink"><a href="#ad1a72bfcb8688f4eaf881aad847c2319">&#9670;&#160;</a></span>CollideShape</h2>
  168. <div class="memitem">
  169. <div class="memproto">
  170. <table class="memname">
  171. <tr>
  172. <td class="memname">using <a class="el" href="#ad1a72bfcb8688f4eaf881aad847c2319">CollisionDispatch::CollideShape</a> = void (*)(const <a class="el" href="class_shape.html">Shape</a> *inShape1, const <a class="el" href="class_shape.html">Shape</a> *inShape2, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale1, <a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a> inScale2, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform1, <a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a> inCenterOfMassTransform2, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator1, const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;inSubShapeIDCreator2, const <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &amp;inCollideShapeSettings, <a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &amp;ioCollector, const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;inShapeFilter)</td>
  173. </tr>
  174. </table>
  175. </div><div class="memdoc">
  176. <p>Function that collides 2 shapes (see sCollideShapeVsShape) </p>
  177. </div>
  178. </div>
  179. <h2 class="groupheader">Member Function Documentation</h2>
  180. <a id="a684c783f79569805d64cd436800b1d2a" name="a684c783f79569805d64cd436800b1d2a"></a>
  181. <h2 class="memtitle"><span class="permalink"><a href="#a684c783f79569805d64cd436800b1d2a">&#9670;&#160;</a></span>sCastShapeVsShapeLocalSpace()</h2>
  182. <div class="memitem">
  183. <div class="memproto">
  184. <table class="mlabels">
  185. <tr>
  186. <td class="mlabels-left">
  187. <table class="memname">
  188. <tr>
  189. <td class="memname">static void CollisionDispatch::sCastShapeVsShapeLocalSpace </td>
  190. <td>(</td>
  191. <td class="paramtype">const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeCastLocal</em></span>, </td>
  192. </tr>
  193. <tr>
  194. <td class="paramkey"></td>
  195. <td></td>
  196. <td class="paramtype">const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeCastSettings</em></span>, </td>
  197. </tr>
  198. <tr>
  199. <td class="paramkey"></td>
  200. <td></td>
  201. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape</em></span>, </td>
  202. </tr>
  203. <tr>
  204. <td class="paramkey"></td>
  205. <td></td>
  206. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale</em></span>, </td>
  207. </tr>
  208. <tr>
  209. <td class="paramkey"></td>
  210. <td></td>
  211. <td class="paramtype">const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</em></span>, </td>
  212. </tr>
  213. <tr>
  214. <td class="paramkey"></td>
  215. <td></td>
  216. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform2</em></span>, </td>
  217. </tr>
  218. <tr>
  219. <td class="paramkey"></td>
  220. <td></td>
  221. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator1</em></span>, </td>
  222. </tr>
  223. <tr>
  224. <td class="paramkey"></td>
  225. <td></td>
  226. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator2</em></span>, </td>
  227. </tr>
  228. <tr>
  229. <td class="paramkey"></td>
  230. <td></td>
  231. <td class="paramtype"><a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioCollector</em></span>&#160;)</td>
  232. </tr>
  233. </table>
  234. </td>
  235. <td class="mlabels-right">
  236. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  237. </tr>
  238. </table>
  239. </div><div class="memdoc">
  240. <p>Cast a shape against this shape, passes any hits found to ioCollector. Note: This version takes the shape cast in local space relative to the center of mass of inShape, take a look at sCastShapeVsShapeWorldSpace if you have a shape cast in world space. </p><dl class="params"><dt>Parameters</dt><dd>
  241. <table class="params">
  242. <tr><td class="paramname">inShapeCastLocal</td><td>The shape to cast against the other shape and its start and direction. </td></tr>
  243. <tr><td class="paramname">inShapeCastSettings</td><td>Settings for performing the cast </td></tr>
  244. <tr><td class="paramname">inShape</td><td>The shape to cast against. </td></tr>
  245. <tr><td class="paramname">inScale</td><td>Local space scale for the shape to cast against (scales relative to its center of mass). </td></tr>
  246. <tr><td class="paramname">inShapeFilter</td><td>allows selectively disabling collisions between pairs of (sub) shapes. </td></tr>
  247. <tr><td class="paramname">inCenterOfMassTransform2</td><td>Is the center of mass transform of shape 2 (excluding scale), this is used to provide a transform to the shape cast result so that local hit result quantities can be transformed into world space. </td></tr>
  248. <tr><td class="paramname">inSubShapeIDCreator1</td><td>Class that tracks the current sub shape ID for the casting shape </td></tr>
  249. <tr><td class="paramname">inSubShapeIDCreator2</td><td>Class that tracks the current sub shape ID for the shape we're casting against </td></tr>
  250. <tr><td class="paramname">ioCollector</td><td>The collector that receives the results. </td></tr>
  251. </table>
  252. </dd>
  253. </dl>
  254. </div>
  255. </div>
  256. <a id="a50ed5fc6de2aa13d6f48ab29f6cf0b7f" name="a50ed5fc6de2aa13d6f48ab29f6cf0b7f"></a>
  257. <h2 class="memtitle"><span class="permalink"><a href="#a50ed5fc6de2aa13d6f48ab29f6cf0b7f">&#9670;&#160;</a></span>sCastShapeVsShapeWorldSpace()</h2>
  258. <div class="memitem">
  259. <div class="memproto">
  260. <table class="mlabels">
  261. <tr>
  262. <td class="mlabels-left">
  263. <table class="memname">
  264. <tr>
  265. <td class="memname">static void CollisionDispatch::sCastShapeVsShapeWorldSpace </td>
  266. <td>(</td>
  267. <td class="paramtype">const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeCastWorld</em></span>, </td>
  268. </tr>
  269. <tr>
  270. <td class="paramkey"></td>
  271. <td></td>
  272. <td class="paramtype">const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeCastSettings</em></span>, </td>
  273. </tr>
  274. <tr>
  275. <td class="paramkey"></td>
  276. <td></td>
  277. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape</em></span>, </td>
  278. </tr>
  279. <tr>
  280. <td class="paramkey"></td>
  281. <td></td>
  282. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale</em></span>, </td>
  283. </tr>
  284. <tr>
  285. <td class="paramkey"></td>
  286. <td></td>
  287. <td class="paramtype">const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</em></span>, </td>
  288. </tr>
  289. <tr>
  290. <td class="paramkey"></td>
  291. <td></td>
  292. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform2</em></span>, </td>
  293. </tr>
  294. <tr>
  295. <td class="paramkey"></td>
  296. <td></td>
  297. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator1</em></span>, </td>
  298. </tr>
  299. <tr>
  300. <td class="paramkey"></td>
  301. <td></td>
  302. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator2</em></span>, </td>
  303. </tr>
  304. <tr>
  305. <td class="paramkey"></td>
  306. <td></td>
  307. <td class="paramtype"><a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioCollector</em></span>&#160;)</td>
  308. </tr>
  309. </table>
  310. </td>
  311. <td class="mlabels-right">
  312. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  313. </tr>
  314. </table>
  315. </div><div class="memdoc">
  316. <p>See: sCastShapeVsShapeLocalSpace. The only difference is that the shape cast (inShapeCastWorld) is provided in world space. Note: A shape cast contains the center of mass start of the shape, if you have the world transform of the shape you probably want to construct it using <a class="el" href="struct_shape_cast_t.html#a0195f56ecbe283d8e393f1564d864823">ShapeCast::sFromWorldTransform</a>. </p>
  317. </div>
  318. </div>
  319. <a id="a29634d08db5d24ce7c0d5c44b547c075" name="a29634d08db5d24ce7c0d5c44b547c075"></a>
  320. <h2 class="memtitle"><span class="permalink"><a href="#a29634d08db5d24ce7c0d5c44b547c075">&#9670;&#160;</a></span>sCollideShapeVsShape()</h2>
  321. <div class="memitem">
  322. <div class="memproto">
  323. <table class="mlabels">
  324. <tr>
  325. <td class="mlabels-left">
  326. <table class="memname">
  327. <tr>
  328. <td class="memname">static void CollisionDispatch::sCollideShapeVsShape </td>
  329. <td>(</td>
  330. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape1</em></span>, </td>
  331. </tr>
  332. <tr>
  333. <td class="paramkey"></td>
  334. <td></td>
  335. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape2</em></span>, </td>
  336. </tr>
  337. <tr>
  338. <td class="paramkey"></td>
  339. <td></td>
  340. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale1</em></span>, </td>
  341. </tr>
  342. <tr>
  343. <td class="paramkey"></td>
  344. <td></td>
  345. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale2</em></span>, </td>
  346. </tr>
  347. <tr>
  348. <td class="paramkey"></td>
  349. <td></td>
  350. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform1</em></span>, </td>
  351. </tr>
  352. <tr>
  353. <td class="paramkey"></td>
  354. <td></td>
  355. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform2</em></span>, </td>
  356. </tr>
  357. <tr>
  358. <td class="paramkey"></td>
  359. <td></td>
  360. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator1</em></span>, </td>
  361. </tr>
  362. <tr>
  363. <td class="paramkey"></td>
  364. <td></td>
  365. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator2</em></span>, </td>
  366. </tr>
  367. <tr>
  368. <td class="paramkey"></td>
  369. <td></td>
  370. <td class="paramtype">const <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inCollideShapeSettings</em></span>, </td>
  371. </tr>
  372. <tr>
  373. <td class="paramkey"></td>
  374. <td></td>
  375. <td class="paramtype"><a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioCollector</em></span>, </td>
  376. </tr>
  377. <tr>
  378. <td class="paramkey"></td>
  379. <td></td>
  380. <td class="paramtype">const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{&#160;}</span>&#160;)</td>
  381. </tr>
  382. </table>
  383. </td>
  384. <td class="mlabels-right">
  385. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  386. </tr>
  387. </table>
  388. </div><div class="memdoc">
  389. <p>Collide 2 shapes and pass any collision on to ioCollector </p><dl class="params"><dt>Parameters</dt><dd>
  390. <table class="params">
  391. <tr><td class="paramname">inShape1</td><td>The first shape </td></tr>
  392. <tr><td class="paramname">inShape2</td><td>The second shape </td></tr>
  393. <tr><td class="paramname">inScale1</td><td>Local space scale of shape 1 (scales relative to its center of mass) </td></tr>
  394. <tr><td class="paramname">inScale2</td><td>Local space scale of shape 2 (scales relative to its center of mass) </td></tr>
  395. <tr><td class="paramname">inCenterOfMassTransform1</td><td>Transform to transform center of mass of shape 1 into world space </td></tr>
  396. <tr><td class="paramname">inCenterOfMassTransform2</td><td>Transform to transform center of mass of shape 2 into world space </td></tr>
  397. <tr><td class="paramname">inSubShapeIDCreator1</td><td>Class that tracks the current sub shape ID for shape 1 </td></tr>
  398. <tr><td class="paramname">inSubShapeIDCreator2</td><td>Class that tracks the current sub shape ID for shape 2 </td></tr>
  399. <tr><td class="paramname">inCollideShapeSettings</td><td>Options for the CollideShape test </td></tr>
  400. <tr><td class="paramname">ioCollector</td><td>The collector that receives the results. </td></tr>
  401. <tr><td class="paramname">inShapeFilter</td><td>allows selectively disabling collisions between pairs of (sub) shapes. </td></tr>
  402. </table>
  403. </dd>
  404. </dl>
  405. </div>
  406. </div>
  407. <a id="a78989af31a71c0421249c9074b94a2e0" name="a78989af31a71c0421249c9074b94a2e0"></a>
  408. <h2 class="memtitle"><span class="permalink"><a href="#a78989af31a71c0421249c9074b94a2e0">&#9670;&#160;</a></span>sInit()</h2>
  409. <div class="memitem">
  410. <div class="memproto">
  411. <table class="mlabels">
  412. <tr>
  413. <td class="mlabels-left">
  414. <table class="memname">
  415. <tr>
  416. <td class="memname">void CollisionDispatch::sInit </td>
  417. <td>(</td>
  418. <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
  419. <td></td>
  420. </tr>
  421. </table>
  422. </td>
  423. <td class="mlabels-right">
  424. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  425. </tr>
  426. </table>
  427. </div><div class="memdoc">
  428. <p>Initialize all collision functions with a function that asserts and returns no collision. </p>
  429. </div>
  430. </div>
  431. <a id="a211b05424a9e6e7bff777af77edad6be" name="a211b05424a9e6e7bff777af77edad6be"></a>
  432. <h2 class="memtitle"><span class="permalink"><a href="#a211b05424a9e6e7bff777af77edad6be">&#9670;&#160;</a></span>sRegisterCastShape()</h2>
  433. <div class="memitem">
  434. <div class="memproto">
  435. <table class="mlabels">
  436. <tr>
  437. <td class="mlabels-left">
  438. <table class="memname">
  439. <tr>
  440. <td class="memname">static void CollisionDispatch::sRegisterCastShape </td>
  441. <td>(</td>
  442. <td class="paramtype"><a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a></td> <td class="paramname"><span class="paramname"><em>inType1</em></span>, </td>
  443. </tr>
  444. <tr>
  445. <td class="paramkey"></td>
  446. <td></td>
  447. <td class="paramtype"><a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a></td> <td class="paramname"><span class="paramname"><em>inType2</em></span>, </td>
  448. </tr>
  449. <tr>
  450. <td class="paramkey"></td>
  451. <td></td>
  452. <td class="paramtype"><a class="el" href="#a9b0ecb3f10cdac7c5cf648cb2fa0b8e8">CastShape</a></td> <td class="paramname"><span class="paramname"><em>inFunction</em></span>&#160;)</td>
  453. </tr>
  454. </table>
  455. </td>
  456. <td class="mlabels-right">
  457. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  458. </tr>
  459. </table>
  460. </div><div class="memdoc">
  461. <p>Register a cast shape function in the collision table. </p>
  462. </div>
  463. </div>
  464. <a id="a20d56fd7360a0b72be7803eef2d616ed" name="a20d56fd7360a0b72be7803eef2d616ed"></a>
  465. <h2 class="memtitle"><span class="permalink"><a href="#a20d56fd7360a0b72be7803eef2d616ed">&#9670;&#160;</a></span>sRegisterCollideShape()</h2>
  466. <div class="memitem">
  467. <div class="memproto">
  468. <table class="mlabels">
  469. <tr>
  470. <td class="mlabels-left">
  471. <table class="memname">
  472. <tr>
  473. <td class="memname">static void CollisionDispatch::sRegisterCollideShape </td>
  474. <td>(</td>
  475. <td class="paramtype"><a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a></td> <td class="paramname"><span class="paramname"><em>inType1</em></span>, </td>
  476. </tr>
  477. <tr>
  478. <td class="paramkey"></td>
  479. <td></td>
  480. <td class="paramtype"><a class="el" href="_shape_8h.html#aa332e0529e75b83aad91881c8d32551b">EShapeSubType</a></td> <td class="paramname"><span class="paramname"><em>inType2</em></span>, </td>
  481. </tr>
  482. <tr>
  483. <td class="paramkey"></td>
  484. <td></td>
  485. <td class="paramtype"><a class="el" href="#ad1a72bfcb8688f4eaf881aad847c2319">CollideShape</a></td> <td class="paramname"><span class="paramname"><em>inFunction</em></span>&#160;)</td>
  486. </tr>
  487. </table>
  488. </td>
  489. <td class="mlabels-right">
  490. <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
  491. </tr>
  492. </table>
  493. </div><div class="memdoc">
  494. <p>Register a collide shape function in the collision table. </p>
  495. </div>
  496. </div>
  497. <a id="a559aa7de19de882317f52329f88182ea" name="a559aa7de19de882317f52329f88182ea"></a>
  498. <h2 class="memtitle"><span class="permalink"><a href="#a559aa7de19de882317f52329f88182ea">&#9670;&#160;</a></span>sReversedCastShape()</h2>
  499. <div class="memitem">
  500. <div class="memproto">
  501. <table class="mlabels">
  502. <tr>
  503. <td class="mlabels-left">
  504. <table class="memname">
  505. <tr>
  506. <td class="memname">void CollisionDispatch::sReversedCastShape </td>
  507. <td>(</td>
  508. <td class="paramtype">const <a class="el" href="struct_shape_cast.html">ShapeCast</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeCast</em></span>, </td>
  509. </tr>
  510. <tr>
  511. <td class="paramkey"></td>
  512. <td></td>
  513. <td class="paramtype">const <a class="el" href="class_shape_cast_settings.html">ShapeCastSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeCastSettings</em></span>, </td>
  514. </tr>
  515. <tr>
  516. <td class="paramkey"></td>
  517. <td></td>
  518. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape</em></span>, </td>
  519. </tr>
  520. <tr>
  521. <td class="paramkey"></td>
  522. <td></td>
  523. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale</em></span>, </td>
  524. </tr>
  525. <tr>
  526. <td class="paramkey"></td>
  527. <td></td>
  528. <td class="paramtype">const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</em></span>, </td>
  529. </tr>
  530. <tr>
  531. <td class="paramkey"></td>
  532. <td></td>
  533. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform2</em></span>, </td>
  534. </tr>
  535. <tr>
  536. <td class="paramkey"></td>
  537. <td></td>
  538. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator1</em></span>, </td>
  539. </tr>
  540. <tr>
  541. <td class="paramkey"></td>
  542. <td></td>
  543. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator2</em></span>, </td>
  544. </tr>
  545. <tr>
  546. <td class="paramkey"></td>
  547. <td></td>
  548. <td class="paramtype"><a class="el" href="_shape_8h.html#a501dee38fc3089311c7c9408ceda7401">CastShapeCollector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioCollector</em></span>&#160;)</td>
  549. </tr>
  550. </table>
  551. </td>
  552. <td class="mlabels-right">
  553. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  554. </tr>
  555. </table>
  556. </div><div class="memdoc">
  557. <p>An implementation of CastShape that swaps inShape1 and inShape2 and swaps the result back, can be registered if the collision function only exists the other way around. </p>
  558. </div>
  559. </div>
  560. <a id="a931dfb0bf6aeeed8acc7d6c6907f903b" name="a931dfb0bf6aeeed8acc7d6c6907f903b"></a>
  561. <h2 class="memtitle"><span class="permalink"><a href="#a931dfb0bf6aeeed8acc7d6c6907f903b">&#9670;&#160;</a></span>sReversedCollideShape()</h2>
  562. <div class="memitem">
  563. <div class="memproto">
  564. <table class="mlabels">
  565. <tr>
  566. <td class="mlabels-left">
  567. <table class="memname">
  568. <tr>
  569. <td class="memname">void CollisionDispatch::sReversedCollideShape </td>
  570. <td>(</td>
  571. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape1</em></span>, </td>
  572. </tr>
  573. <tr>
  574. <td class="paramkey"></td>
  575. <td></td>
  576. <td class="paramtype">const <a class="el" href="class_shape.html">Shape</a> *</td> <td class="paramname"><span class="paramname"><em>inShape2</em></span>, </td>
  577. </tr>
  578. <tr>
  579. <td class="paramkey"></td>
  580. <td></td>
  581. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale1</em></span>, </td>
  582. </tr>
  583. <tr>
  584. <td class="paramkey"></td>
  585. <td></td>
  586. <td class="paramtype"><a class="el" href="_math_types_8h.html#a6bc57c31f15cea47640b580d03737c68">Vec3Arg</a></td> <td class="paramname"><span class="paramname"><em>inScale2</em></span>, </td>
  587. </tr>
  588. <tr>
  589. <td class="paramkey"></td>
  590. <td></td>
  591. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform1</em></span>, </td>
  592. </tr>
  593. <tr>
  594. <td class="paramkey"></td>
  595. <td></td>
  596. <td class="paramtype"><a class="el" href="_math_types_8h.html#af10dd31c5ad4acb62aba8025732597e6">Mat44Arg</a></td> <td class="paramname"><span class="paramname"><em>inCenterOfMassTransform2</em></span>, </td>
  597. </tr>
  598. <tr>
  599. <td class="paramkey"></td>
  600. <td></td>
  601. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator1</em></span>, </td>
  602. </tr>
  603. <tr>
  604. <td class="paramkey"></td>
  605. <td></td>
  606. <td class="paramtype">const <a class="el" href="class_sub_shape_i_d_creator.html">SubShapeIDCreator</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inSubShapeIDCreator2</em></span>, </td>
  607. </tr>
  608. <tr>
  609. <td class="paramkey"></td>
  610. <td></td>
  611. <td class="paramtype">const <a class="el" href="class_collide_shape_settings.html">CollideShapeSettings</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inCollideShapeSettings</em></span>, </td>
  612. </tr>
  613. <tr>
  614. <td class="paramkey"></td>
  615. <td></td>
  616. <td class="paramtype"><a class="el" href="_shape_8h.html#af33744a7638d2c8e3ba97737b069f8d2">CollideShapeCollector</a> &amp;</td> <td class="paramname"><span class="paramname"><em>ioCollector</em></span>, </td>
  617. </tr>
  618. <tr>
  619. <td class="paramkey"></td>
  620. <td></td>
  621. <td class="paramtype">const <a class="el" href="class_shape_filter.html">ShapeFilter</a> &amp;</td> <td class="paramname"><span class="paramname"><em>inShapeFilter</em></span>&#160;)</td>
  622. </tr>
  623. </table>
  624. </td>
  625. <td class="mlabels-right">
  626. <span class="mlabels"><span class="mlabel">static</span></span> </td>
  627. </tr>
  628. </table>
  629. </div><div class="memdoc">
  630. <p>An implementation of CollideShape that swaps inShape1 and inShape2 and swaps the result back, can be registered if the collision function only exists the other way around. </p>
  631. </div>
  632. </div>
  633. <hr/>The documentation for this class was generated from the following files:<ul>
  634. <li>Jolt/Physics/Collision/<a class="el" href="_collision_dispatch_8h_source.html">CollisionDispatch.h</a></li>
  635. <li>Jolt/Physics/Collision/<a class="el" href="_collision_dispatch_8cpp.html">CollisionDispatch.cpp</a></li>
  636. </ul>
  637. </div><!-- contents -->
  638. </div><!-- doc-content -->
  639. <!-- start footer part -->
  640. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  641. <ul>
  642. <li class="navelem"><a class="el" href="class_collision_dispatch.html">CollisionDispatch</a></li>
  643. <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>
  644. </ul>
  645. </div>
  646. </body>
  647. </html>