classgameplay_1_1_physics_controller.html 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <title>PhysicsController Class Reference</title>
  7. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  8. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  9. <link href="custom.css" rel="stylesheet" type="text/css" />
  10. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  11. <script type="text/javascript" src="jquery.js"></script>
  12. <script type="text/javascript" src="search/search.js"></script>
  13. <script type="text/javascript">
  14. $(document).ready(function() { searchBox.OnSelectItem(0); });
  15. </script>
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div! -->
  19. <table class="header" border="0">
  20. <tbody>
  21. <tr>
  22. <td id="logo"><a href="http://gameplay3d.io/"><img src="images/logo.png" alt="gameplay" border="0" height="64px"/></a></td>
  23. <td width="100%"/>
  24. <td><a href="http://gameplay3d.io/"><span class="button">overview</span></a></td><td width="12px"/>
  25. <td><a href="https://github.com/gameplay3d/GamePlay/wiki"><span class="button">wiki</span></a></td><td width="12px"/>
  26. <td><a href="http://gameplay3d.github.com/GamePlay/api/index.html"><span class="button">api&nbsp;reference</span></a></td><td width="12px"/>
  27. <td><a href="https://github.com/gameplay3d/GamePlay"><span class="button">download</span></a></td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. <!-- Generated by Doxygen 1.7.6.1 -->
  32. <script type="text/javascript">
  33. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  34. </script>
  35. <div id="navrow1" class="tabs">
  36. <ul class="tablist">
  37. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  38. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  39. <li>
  40. <div id="MSearchBox" class="MSearchBoxInactive">
  41. <span class="left">
  42. <img id="MSearchSelect" src="search/mag_sel.png"
  43. onmouseover="return searchBox.OnSearchSelectShow()"
  44. onmouseout="return searchBox.OnSearchSelectHide()"
  45. alt=""/>
  46. <input type="text" id="MSearchField" value="Search" accesskey="S"
  47. onfocus="searchBox.OnSearchFieldFocus(true)"
  48. onblur="searchBox.OnSearchFieldFocus(false)"
  49. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  50. </span><span class="right">
  51. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
  52. </span>
  53. </div>
  54. </li>
  55. </ul>
  56. </div>
  57. <div id="navrow2" class="tabs2">
  58. <ul class="tablist">
  59. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  60. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  61. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  62. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  63. </ul>
  64. </div>
  65. <!-- window showing the filter options -->
  66. <div id="MSearchSelectWindow"
  67. onmouseover="return searchBox.OnSearchSelectShow()"
  68. onmouseout="return searchBox.OnSearchSelectHide()"
  69. onkeydown="return searchBox.OnSearchSelectKey(event)">
  70. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>
  71. <!-- iframe showing the search results (closed by default) -->
  72. <div id="MSearchResultsWindow">
  73. <iframe src="javascript:void(0)" frameborder="0"
  74. name="MSearchResults" id="MSearchResults">
  75. </iframe>
  76. </div>
  77. <div id="nav-path" class="navpath">
  78. <ul>
  79. <li class="navelem"><b>gameplay</b> </li>
  80. <li class="navelem"><a class="el" href="classgameplay_1_1_physics_controller.html">PhysicsController</a> </li>
  81. </ul>
  82. </div>
  83. </div>
  84. <div class="header">
  85. <div class="summary">
  86. <a href="#nested-classes">Classes</a> &#124;
  87. <a href="#pub-methods">Public Member Functions</a> </div>
  88. <div class="headertitle">
  89. <div class="title">gameplay::PhysicsController Class Reference</div> </div>
  90. </div><!--header-->
  91. <div class="contents">
  92. <!-- doxytag: class="gameplay::PhysicsController" --><!-- doxytag: inherits="gameplay::ScriptTarget" -->
  93. <p><code>#include &lt;PhysicsController.h&gt;</code></p>
  94. <div class="dynheader">
  95. Inheritance diagram for gameplay::PhysicsController:</div>
  96. <div class="dyncontent">
  97. <div class="center">
  98. <img src="classgameplay_1_1_physics_controller.png" usemap="#gameplay::PhysicsController_map" alt=""/>
  99. <map id="gameplay::PhysicsController_map" name="gameplay::PhysicsController_map">
  100. <area href="classgameplay_1_1_script_target.html" alt="gameplay::ScriptTarget" shape="rect" coords="0,0,172,24"/>
  101. </map>
  102. </div></div>
  103. <p><a href="classgameplay_1_1_physics_controller-members.html">List of all members.</a></p>
  104. <table class="memberdecls">
  105. <tr><td colspan="2"><h2><a name="nested-classes"></a>
  106. Classes</h2></td></tr>
  107. <tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>CollisionCallback</b></td></tr>
  108. <tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><b>CollisionInfo</b></td></tr>
  109. <tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><b>DebugDrawer</b></td></tr>
  110. <tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html">HitFilter</a></td></tr>
  111. <tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgameplay_1_1_physics_controller_1_1_hit_result.html">HitResult</a></td></tr>
  112. <tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller_1_1_listener.html">Listener</a></td></tr>
  113. <tr><td colspan="2"><h2><a name="pub-methods"></a>
  114. Public Member Functions</h2></td></tr>
  115. <tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#ac02e10f014e34ceb3be8d77139a92dfa">getTypeName</a> () const </td></tr>
  116. <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a9c9c7800807569809a677be38873170a">addStatusListener</a> (<a class="el" href="classgameplay_1_1_physics_controller_1_1_listener.html">PhysicsController::Listener</a> *listener)</td></tr>
  117. <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#ac59f6753cb8c7b6a920082d23579a8a9">removeStatusListener</a> (<a class="el" href="classgameplay_1_1_physics_controller_1_1_listener.html">Listener</a> *listener)</td></tr>
  118. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_fixed_constraint.html">PhysicsFixedConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a547b335f3814fb6c124e2470393812e2">createFixedConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b=NULL)</td></tr>
  119. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_generic_constraint.html">PhysicsGenericConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#ad7ae74b385f8e9718cc37d57a3423583">createGenericConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b=NULL)</td></tr>
  120. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_generic_constraint.html">PhysicsGenericConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a0c967138ef39fe7f298e72d5a4c3e418">createGenericConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;rotationOffsetA, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetA, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b=NULL, const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;rotationOffsetB=<a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a>(), const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetB=<a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>())</td></tr>
  121. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_hinge_constraint.html">PhysicsHingeConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#aea8f1cc3f27d12c6c1cd954eb81c9cdc">createHingeConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;rotationOffsetA, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetA, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b=NULL, const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;rotationOffsetB=<a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a>(), const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetB=<a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>())</td></tr>
  122. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_socket_constraint.html">PhysicsSocketConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a8c1c19e84a2a21f9aa4f6e275cc22057">createSocketConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b=NULL)</td></tr>
  123. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_socket_constraint.html">PhysicsSocketConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a01e2831c19cf9a4beb828ea296430ab7">createSocketConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetA, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b=NULL, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetB=<a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>())</td></tr>
  124. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_spring_constraint.html">PhysicsSpringConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a098c2ece05ee787648c15eb8098dde51">createSpringConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b)</td></tr>
  125. <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgameplay_1_1_physics_spring_constraint.html">PhysicsSpringConstraint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a3b53127a82ae29330cceecb09f287a18">createSpringConstraint</a> (<a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *a, const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;rotationOffsetA, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetA, <a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *b, const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;rotationOffsetB, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;translationOffsetB)</td></tr>
  126. <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a9d38b041f052706cb0ac8b39e5283d2f">getGravity</a> () const </td></tr>
  127. <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#ab085ecda3423f445960150208e5ba1c9">setGravity</a> (const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;gravity)</td></tr>
  128. <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#ae2089a6dababa097ef955d1105c4bd6d">drawDebug</a> (const <a class="el" href="classgameplay_1_1_matrix.html">Matrix</a> &amp;viewProjection)</td></tr>
  129. <tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a3e4973d8d738551e2750475ab6c62871">rayTest</a> (const <a class="el" href="classgameplay_1_1_ray.html">Ray</a> &amp;ray, float distance, <a class="el" href="structgameplay_1_1_physics_controller_1_1_hit_result.html">PhysicsController::HitResult</a> *result=NULL, <a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html">PhysicsController::HitFilter</a> *filter=NULL)</td></tr>
  130. <tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgameplay_1_1_physics_controller.html#a14ce5509e2c802a606497424b2e7be41">sweepTest</a> (<a class="el" href="classgameplay_1_1_physics_collision_object.html">PhysicsCollisionObject</a> *object, const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;endPosition, <a class="el" href="structgameplay_1_1_physics_controller_1_1_hit_result.html">PhysicsController::HitResult</a> *result=NULL, <a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html">PhysicsController::HitFilter</a> *filter=NULL)</td></tr>
  131. </table>
  132. <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
  133. <div class="textblock"><p>Defines a class for controlling game physics.</p>
  134. <dl class="see"><dt><b>See also:</b></dt><dd><a href="http://gameplay3d.github.io/GamePlay/docs/file-formats.html#wiki-Physics">http://gameplay3d.github.io/GamePlay/docs/file-formats.html#wiki-Physics</a> </dd></dl>
  135. </div><hr/><h2>Member Function Documentation</h2>
  136. <a class="anchor" id="a9c9c7800807569809a677be38873170a"></a><!-- doxytag: member="gameplay::PhysicsController::addStatusListener" ref="a9c9c7800807569809a677be38873170a" args="(PhysicsController::Listener *listener)" -->
  137. <div class="memitem">
  138. <div class="memproto">
  139. <table class="memname">
  140. <tr>
  141. <td class="memname">void <a class="el" href="classgameplay_1_1_physics_controller.html#a9c9c7800807569809a677be38873170a">gameplay::PhysicsController::addStatusListener</a> </td>
  142. <td>(</td>
  143. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_controller_1_1_listener.html">PhysicsController::Listener</a> *&#160;</td>
  144. <td class="paramname"><em>listener</em></td><td>)</td>
  145. <td></td>
  146. </tr>
  147. </table>
  148. </div>
  149. <div class="memdoc">
  150. <p>Adds a listener to the physics controller.</p>
  151. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  152. <table class="params">
  153. <tr><td class="paramname">listener</td><td>The listener to add. </td></tr>
  154. </table>
  155. </dd>
  156. </dl>
  157. </div>
  158. </div>
  159. <a class="anchor" id="a547b335f3814fb6c124e2470393812e2"></a><!-- doxytag: member="gameplay::PhysicsController::createFixedConstraint" ref="a547b335f3814fb6c124e2470393812e2" args="(PhysicsRigidBody *a, PhysicsRigidBody *b=NULL)" -->
  160. <div class="memitem">
  161. <div class="memproto">
  162. <table class="memname">
  163. <tr>
  164. <td class="memname"><a class="el" href="classgameplay_1_1_physics_fixed_constraint.html">PhysicsFixedConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#a547b335f3814fb6c124e2470393812e2">gameplay::PhysicsController::createFixedConstraint</a> </td>
  165. <td>(</td>
  166. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  167. <td class="paramname"><em>a</em>, </td>
  168. </tr>
  169. <tr>
  170. <td class="paramkey"></td>
  171. <td></td>
  172. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  173. <td class="paramname"><em>b</em> = <code>NULL</code>&#160;</td>
  174. </tr>
  175. <tr>
  176. <td></td>
  177. <td>)</td>
  178. <td></td><td></td>
  179. </tr>
  180. </table>
  181. </div>
  182. <div class="memdoc">
  183. <p>Creates a fixed constraint.</p>
  184. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  185. <table class="params">
  186. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  187. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  188. </table>
  189. </dd>
  190. </dl>
  191. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_fixed_constraint.html">PhysicsFixedConstraint</a> object. </dd></dl>
  192. </div>
  193. </div>
  194. <a class="anchor" id="ad7ae74b385f8e9718cc37d57a3423583"></a><!-- doxytag: member="gameplay::PhysicsController::createGenericConstraint" ref="ad7ae74b385f8e9718cc37d57a3423583" args="(PhysicsRigidBody *a, PhysicsRigidBody *b=NULL)" -->
  195. <div class="memitem">
  196. <div class="memproto">
  197. <table class="memname">
  198. <tr>
  199. <td class="memname"><a class="el" href="classgameplay_1_1_physics_generic_constraint.html">PhysicsGenericConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#ad7ae74b385f8e9718cc37d57a3423583">gameplay::PhysicsController::createGenericConstraint</a> </td>
  200. <td>(</td>
  201. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  202. <td class="paramname"><em>a</em>, </td>
  203. </tr>
  204. <tr>
  205. <td class="paramkey"></td>
  206. <td></td>
  207. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  208. <td class="paramname"><em>b</em> = <code>NULL</code>&#160;</td>
  209. </tr>
  210. <tr>
  211. <td></td>
  212. <td>)</td>
  213. <td></td><td></td>
  214. </tr>
  215. </table>
  216. </div>
  217. <div class="memdoc">
  218. <p>Creates a generic constraint so that the rigid body (or bodies) is (are) constrained to its (their) current world position(s).</p>
  219. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  220. <table class="params">
  221. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  222. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  223. </table>
  224. </dd>
  225. </dl>
  226. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_generic_constraint.html">PhysicsGenericConstraint</a> object. </dd></dl>
  227. </div>
  228. </div>
  229. <a class="anchor" id="a0c967138ef39fe7f298e72d5a4c3e418"></a><!-- doxytag: member="gameplay::PhysicsController::createGenericConstraint" ref="a0c967138ef39fe7f298e72d5a4c3e418" args="(PhysicsRigidBody *a, const Quaternion &amp;rotationOffsetA, const Vector3 &amp;translationOffsetA, PhysicsRigidBody *b=NULL, const Quaternion &amp;rotationOffsetB=Quaternion(), const Vector3 &amp;translationOffsetB=Vector3())" -->
  230. <div class="memitem">
  231. <div class="memproto">
  232. <table class="memname">
  233. <tr>
  234. <td class="memname"><a class="el" href="classgameplay_1_1_physics_generic_constraint.html">PhysicsGenericConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#ad7ae74b385f8e9718cc37d57a3423583">gameplay::PhysicsController::createGenericConstraint</a> </td>
  235. <td>(</td>
  236. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  237. <td class="paramname"><em>a</em>, </td>
  238. </tr>
  239. <tr>
  240. <td class="paramkey"></td>
  241. <td></td>
  242. <td class="paramtype">const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;&#160;</td>
  243. <td class="paramname"><em>rotationOffsetA</em>, </td>
  244. </tr>
  245. <tr>
  246. <td class="paramkey"></td>
  247. <td></td>
  248. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  249. <td class="paramname"><em>translationOffsetA</em>, </td>
  250. </tr>
  251. <tr>
  252. <td class="paramkey"></td>
  253. <td></td>
  254. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  255. <td class="paramname"><em>b</em> = <code>NULL</code>, </td>
  256. </tr>
  257. <tr>
  258. <td class="paramkey"></td>
  259. <td></td>
  260. <td class="paramtype">const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;&#160;</td>
  261. <td class="paramname"><em>rotationOffsetB</em> = <code><a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a>()</code>, </td>
  262. </tr>
  263. <tr>
  264. <td class="paramkey"></td>
  265. <td></td>
  266. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  267. <td class="paramname"><em>translationOffsetB</em> = <code><a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>()</code>&#160;</td>
  268. </tr>
  269. <tr>
  270. <td></td>
  271. <td>)</td>
  272. <td></td><td></td>
  273. </tr>
  274. </table>
  275. </div>
  276. <div class="memdoc">
  277. <p>Creates a generic constraint.</p>
  278. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  279. <table class="params">
  280. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  281. <tr><td class="paramname">rotationOffsetA</td><td>The rotation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  282. <tr><td class="paramname">translationOffsetA</td><td>The translation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  283. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  284. <tr><td class="paramname">rotationOffsetB</td><td>The rotation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  285. <tr><td class="paramname">translationOffsetB</td><td>The translation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  286. </table>
  287. </dd>
  288. </dl>
  289. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_generic_constraint.html">PhysicsGenericConstraint</a> object. </dd></dl>
  290. </div>
  291. </div>
  292. <a class="anchor" id="aea8f1cc3f27d12c6c1cd954eb81c9cdc"></a><!-- doxytag: member="gameplay::PhysicsController::createHingeConstraint" ref="aea8f1cc3f27d12c6c1cd954eb81c9cdc" args="(PhysicsRigidBody *a, const Quaternion &amp;rotationOffsetA, const Vector3 &amp;translationOffsetA, PhysicsRigidBody *b=NULL, const Quaternion &amp;rotationOffsetB=Quaternion(), const Vector3 &amp;translationOffsetB=Vector3())" -->
  293. <div class="memitem">
  294. <div class="memproto">
  295. <table class="memname">
  296. <tr>
  297. <td class="memname"><a class="el" href="classgameplay_1_1_physics_hinge_constraint.html">PhysicsHingeConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#aea8f1cc3f27d12c6c1cd954eb81c9cdc">gameplay::PhysicsController::createHingeConstraint</a> </td>
  298. <td>(</td>
  299. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  300. <td class="paramname"><em>a</em>, </td>
  301. </tr>
  302. <tr>
  303. <td class="paramkey"></td>
  304. <td></td>
  305. <td class="paramtype">const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;&#160;</td>
  306. <td class="paramname"><em>rotationOffsetA</em>, </td>
  307. </tr>
  308. <tr>
  309. <td class="paramkey"></td>
  310. <td></td>
  311. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  312. <td class="paramname"><em>translationOffsetA</em>, </td>
  313. </tr>
  314. <tr>
  315. <td class="paramkey"></td>
  316. <td></td>
  317. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  318. <td class="paramname"><em>b</em> = <code>NULL</code>, </td>
  319. </tr>
  320. <tr>
  321. <td class="paramkey"></td>
  322. <td></td>
  323. <td class="paramtype">const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;&#160;</td>
  324. <td class="paramname"><em>rotationOffsetB</em> = <code><a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a>()</code>, </td>
  325. </tr>
  326. <tr>
  327. <td class="paramkey"></td>
  328. <td></td>
  329. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  330. <td class="paramname"><em>translationOffsetB</em> = <code><a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>()</code>&#160;</td>
  331. </tr>
  332. <tr>
  333. <td></td>
  334. <td>)</td>
  335. <td></td><td></td>
  336. </tr>
  337. </table>
  338. </div>
  339. <div class="memdoc">
  340. <p>Creates a hinge constraint.</p>
  341. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  342. <table class="params">
  343. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  344. <tr><td class="paramname">rotationOffsetA</td><td>The rotation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  345. <tr><td class="paramname">translationOffsetA</td><td>The translation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  346. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  347. <tr><td class="paramname">rotationOffsetB</td><td>The rotation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  348. <tr><td class="paramname">translationOffsetB</td><td>The translation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  349. </table>
  350. </dd>
  351. </dl>
  352. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_hinge_constraint.html">PhysicsHingeConstraint</a> object. </dd></dl>
  353. </div>
  354. </div>
  355. <a class="anchor" id="a8c1c19e84a2a21f9aa4f6e275cc22057"></a><!-- doxytag: member="gameplay::PhysicsController::createSocketConstraint" ref="a8c1c19e84a2a21f9aa4f6e275cc22057" args="(PhysicsRigidBody *a, PhysicsRigidBody *b=NULL)" -->
  356. <div class="memitem">
  357. <div class="memproto">
  358. <table class="memname">
  359. <tr>
  360. <td class="memname"><a class="el" href="classgameplay_1_1_physics_socket_constraint.html">PhysicsSocketConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#a8c1c19e84a2a21f9aa4f6e275cc22057">gameplay::PhysicsController::createSocketConstraint</a> </td>
  361. <td>(</td>
  362. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  363. <td class="paramname"><em>a</em>, </td>
  364. </tr>
  365. <tr>
  366. <td class="paramkey"></td>
  367. <td></td>
  368. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  369. <td class="paramname"><em>b</em> = <code>NULL</code>&#160;</td>
  370. </tr>
  371. <tr>
  372. <td></td>
  373. <td>)</td>
  374. <td></td><td></td>
  375. </tr>
  376. </table>
  377. </div>
  378. <div class="memdoc">
  379. <p>Creates a socket constraint so that the rigid body (or bodies) is (are) constrained using its (their) current world position(s) for the translation offset(s) to the constraint.</p>
  380. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  381. <table class="params">
  382. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  383. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  384. </table>
  385. </dd>
  386. </dl>
  387. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_socket_constraint.html">PhysicsSocketConstraint</a> object. </dd></dl>
  388. </div>
  389. </div>
  390. <a class="anchor" id="a01e2831c19cf9a4beb828ea296430ab7"></a><!-- doxytag: member="gameplay::PhysicsController::createSocketConstraint" ref="a01e2831c19cf9a4beb828ea296430ab7" args="(PhysicsRigidBody *a, const Vector3 &amp;translationOffsetA, PhysicsRigidBody *b=NULL, const Vector3 &amp;translationOffsetB=Vector3())" -->
  391. <div class="memitem">
  392. <div class="memproto">
  393. <table class="memname">
  394. <tr>
  395. <td class="memname"><a class="el" href="classgameplay_1_1_physics_socket_constraint.html">PhysicsSocketConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#a8c1c19e84a2a21f9aa4f6e275cc22057">gameplay::PhysicsController::createSocketConstraint</a> </td>
  396. <td>(</td>
  397. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  398. <td class="paramname"><em>a</em>, </td>
  399. </tr>
  400. <tr>
  401. <td class="paramkey"></td>
  402. <td></td>
  403. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  404. <td class="paramname"><em>translationOffsetA</em>, </td>
  405. </tr>
  406. <tr>
  407. <td class="paramkey"></td>
  408. <td></td>
  409. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  410. <td class="paramname"><em>b</em> = <code>NULL</code>, </td>
  411. </tr>
  412. <tr>
  413. <td class="paramkey"></td>
  414. <td></td>
  415. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  416. <td class="paramname"><em>translationOffsetB</em> = <code><a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>()</code>&#160;</td>
  417. </tr>
  418. <tr>
  419. <td></td>
  420. <td>)</td>
  421. <td></td><td></td>
  422. </tr>
  423. </table>
  424. </div>
  425. <div class="memdoc">
  426. <p>Creates a socket constraint.</p>
  427. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  428. <table class="params">
  429. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  430. <tr><td class="paramname">translationOffsetA</td><td>The translation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  431. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  432. <tr><td class="paramname">translationOffsetB</td><td>The translation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  433. </table>
  434. </dd>
  435. </dl>
  436. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_socket_constraint.html">PhysicsSocketConstraint</a> object. </dd></dl>
  437. </div>
  438. </div>
  439. <a class="anchor" id="a098c2ece05ee787648c15eb8098dde51"></a><!-- doxytag: member="gameplay::PhysicsController::createSpringConstraint" ref="a098c2ece05ee787648c15eb8098dde51" args="(PhysicsRigidBody *a, PhysicsRigidBody *b)" -->
  440. <div class="memitem">
  441. <div class="memproto">
  442. <table class="memname">
  443. <tr>
  444. <td class="memname"><a class="el" href="classgameplay_1_1_physics_spring_constraint.html">PhysicsSpringConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#a098c2ece05ee787648c15eb8098dde51">gameplay::PhysicsController::createSpringConstraint</a> </td>
  445. <td>(</td>
  446. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  447. <td class="paramname"><em>a</em>, </td>
  448. </tr>
  449. <tr>
  450. <td class="paramkey"></td>
  451. <td></td>
  452. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  453. <td class="paramname"><em>b</em>&#160;</td>
  454. </tr>
  455. <tr>
  456. <td></td>
  457. <td>)</td>
  458. <td></td><td></td>
  459. </tr>
  460. </table>
  461. </div>
  462. <div class="memdoc">
  463. <p>Creates a spring constraint so that the rigid body (or bodies) is (are) constrained using its (their) current world position(s) for the translation offset(s) to the constraint.</p>
  464. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  465. <table class="params">
  466. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  467. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  468. </table>
  469. </dd>
  470. </dl>
  471. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_spring_constraint.html">PhysicsSpringConstraint</a> object. </dd></dl>
  472. </div>
  473. </div>
  474. <a class="anchor" id="a3b53127a82ae29330cceecb09f287a18"></a><!-- doxytag: member="gameplay::PhysicsController::createSpringConstraint" ref="a3b53127a82ae29330cceecb09f287a18" args="(PhysicsRigidBody *a, const Quaternion &amp;rotationOffsetA, const Vector3 &amp;translationOffsetA, PhysicsRigidBody *b, const Quaternion &amp;rotationOffsetB, const Vector3 &amp;translationOffsetB)" -->
  475. <div class="memitem">
  476. <div class="memproto">
  477. <table class="memname">
  478. <tr>
  479. <td class="memname"><a class="el" href="classgameplay_1_1_physics_spring_constraint.html">PhysicsSpringConstraint</a>* <a class="el" href="classgameplay_1_1_physics_controller.html#a098c2ece05ee787648c15eb8098dde51">gameplay::PhysicsController::createSpringConstraint</a> </td>
  480. <td>(</td>
  481. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  482. <td class="paramname"><em>a</em>, </td>
  483. </tr>
  484. <tr>
  485. <td class="paramkey"></td>
  486. <td></td>
  487. <td class="paramtype">const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;&#160;</td>
  488. <td class="paramname"><em>rotationOffsetA</em>, </td>
  489. </tr>
  490. <tr>
  491. <td class="paramkey"></td>
  492. <td></td>
  493. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  494. <td class="paramname"><em>translationOffsetA</em>, </td>
  495. </tr>
  496. <tr>
  497. <td class="paramkey"></td>
  498. <td></td>
  499. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_rigid_body.html">PhysicsRigidBody</a> *&#160;</td>
  500. <td class="paramname"><em>b</em>, </td>
  501. </tr>
  502. <tr>
  503. <td class="paramkey"></td>
  504. <td></td>
  505. <td class="paramtype">const <a class="el" href="classgameplay_1_1_quaternion.html">Quaternion</a> &amp;&#160;</td>
  506. <td class="paramname"><em>rotationOffsetB</em>, </td>
  507. </tr>
  508. <tr>
  509. <td class="paramkey"></td>
  510. <td></td>
  511. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  512. <td class="paramname"><em>translationOffsetB</em>&#160;</td>
  513. </tr>
  514. <tr>
  515. <td></td>
  516. <td>)</td>
  517. <td></td><td></td>
  518. </tr>
  519. </table>
  520. </div>
  521. <div class="memdoc">
  522. <p>Creates a spring constraint.</p>
  523. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  524. <table class="params">
  525. <tr><td class="paramname">a</td><td>The first (possibly only) rigid body to constrain. If this is the only rigid body specified the constraint applies between it and the global physics world object. </td></tr>
  526. <tr><td class="paramname">rotationOffsetA</td><td>The rotation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  527. <tr><td class="paramname">translationOffsetA</td><td>The translation offset for the first rigid body (in its local space) with respect to the constraint joint. </td></tr>
  528. <tr><td class="paramname">b</td><td>The second rigid body to constrain (optional). </td></tr>
  529. <tr><td class="paramname">rotationOffsetB</td><td>The rotation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  530. <tr><td class="paramname">translationOffsetB</td><td>The translation offset for the second rigid body (in its local space) with respect to the constraint joint (optional). </td></tr>
  531. </table>
  532. </dd>
  533. </dl>
  534. <dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created <a class="el" href="classgameplay_1_1_physics_spring_constraint.html">PhysicsSpringConstraint</a> object. </dd></dl>
  535. </div>
  536. </div>
  537. <a class="anchor" id="ae2089a6dababa097ef955d1105c4bd6d"></a><!-- doxytag: member="gameplay::PhysicsController::drawDebug" ref="ae2089a6dababa097ef955d1105c4bd6d" args="(const Matrix &amp;viewProjection)" -->
  538. <div class="memitem">
  539. <div class="memproto">
  540. <table class="memname">
  541. <tr>
  542. <td class="memname">void <a class="el" href="classgameplay_1_1_physics_controller.html#ae2089a6dababa097ef955d1105c4bd6d">gameplay::PhysicsController::drawDebug</a> </td>
  543. <td>(</td>
  544. <td class="paramtype">const <a class="el" href="classgameplay_1_1_matrix.html">Matrix</a> &amp;&#160;</td>
  545. <td class="paramname"><em>viewProjection</em></td><td>)</td>
  546. <td></td>
  547. </tr>
  548. </table>
  549. </div>
  550. <div class="memdoc">
  551. <p>Draws debugging information (rigid body outlines, etc.) using the given view projection matrix.</p>
  552. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  553. <table class="params">
  554. <tr><td class="paramname">viewProjection</td><td>The view projection matrix to use when drawing. </td></tr>
  555. </table>
  556. </dd>
  557. </dl>
  558. </div>
  559. </div>
  560. <a class="anchor" id="a9d38b041f052706cb0ac8b39e5283d2f"></a><!-- doxytag: member="gameplay::PhysicsController::getGravity" ref="a9d38b041f052706cb0ac8b39e5283d2f" args="() const " -->
  561. <div class="memitem">
  562. <div class="memproto">
  563. <table class="memname">
  564. <tr>
  565. <td class="memname">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a>&amp; <a class="el" href="classgameplay_1_1_physics_controller.html#a9d38b041f052706cb0ac8b39e5283d2f">gameplay::PhysicsController::getGravity</a> </td>
  566. <td>(</td>
  567. <td class="paramname"></td><td>)</td>
  568. <td> const</td>
  569. </tr>
  570. </table>
  571. </div>
  572. <div class="memdoc">
  573. <p>Gets the gravity vector for the simulated physics world.</p>
  574. <dl class="return"><dt><b>Returns:</b></dt><dd>The gravity vector. </dd></dl>
  575. </div>
  576. </div>
  577. <a class="anchor" id="ac02e10f014e34ceb3be8d77139a92dfa"></a><!-- doxytag: member="gameplay::PhysicsController::getTypeName" ref="ac02e10f014e34ceb3be8d77139a92dfa" args="() const " -->
  578. <div class="memitem">
  579. <div class="memproto">
  580. <table class="memname">
  581. <tr>
  582. <td class="memname">const char* <a class="el" href="classgameplay_1_1_physics_controller.html#ac02e10f014e34ceb3be8d77139a92dfa">gameplay::PhysicsController::getTypeName</a> </td>
  583. <td>(</td>
  584. <td class="paramname"></td><td>)</td>
  585. <td> const<code> [virtual]</code></td>
  586. </tr>
  587. </table>
  588. </div>
  589. <div class="memdoc">
  590. <p>Extends <a class="el" href="classgameplay_1_1_script_target.html#ac419e98f0eac8a52a6095da0e3853df3">ScriptTarget::getTypeName()</a> to return the type name of this class.</p>
  591. <dl class="return"><dt><b>Returns:</b></dt><dd>The type name of this class: "PhysicsController" </dd></dl>
  592. <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classgameplay_1_1_script_target.html#ac419e98f0eac8a52a6095da0e3853df3">ScriptTarget::getTypeName()</a> </dd></dl>
  593. <p>Implements <a class="el" href="classgameplay_1_1_script_target.html#ac419e98f0eac8a52a6095da0e3853df3">gameplay::ScriptTarget</a>.</p>
  594. </div>
  595. </div>
  596. <a class="anchor" id="a3e4973d8d738551e2750475ab6c62871"></a><!-- doxytag: member="gameplay::PhysicsController::rayTest" ref="a3e4973d8d738551e2750475ab6c62871" args="(const Ray &amp;ray, float distance, PhysicsController::HitResult *result=NULL, PhysicsController::HitFilter *filter=NULL)" -->
  597. <div class="memitem">
  598. <div class="memproto">
  599. <table class="memname">
  600. <tr>
  601. <td class="memname">bool <a class="el" href="classgameplay_1_1_physics_controller.html#a3e4973d8d738551e2750475ab6c62871">gameplay::PhysicsController::rayTest</a> </td>
  602. <td>(</td>
  603. <td class="paramtype">const <a class="el" href="classgameplay_1_1_ray.html">Ray</a> &amp;&#160;</td>
  604. <td class="paramname"><em>ray</em>, </td>
  605. </tr>
  606. <tr>
  607. <td class="paramkey"></td>
  608. <td></td>
  609. <td class="paramtype">float&#160;</td>
  610. <td class="paramname"><em>distance</em>, </td>
  611. </tr>
  612. <tr>
  613. <td class="paramkey"></td>
  614. <td></td>
  615. <td class="paramtype"><a class="el" href="structgameplay_1_1_physics_controller_1_1_hit_result.html">PhysicsController::HitResult</a> *&#160;</td>
  616. <td class="paramname"><em>result</em> = <code>NULL</code>, </td>
  617. </tr>
  618. <tr>
  619. <td class="paramkey"></td>
  620. <td></td>
  621. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html">PhysicsController::HitFilter</a> *&#160;</td>
  622. <td class="paramname"><em>filter</em> = <code>NULL</code>&#160;</td>
  623. </tr>
  624. <tr>
  625. <td></td>
  626. <td>)</td>
  627. <td></td><td></td>
  628. </tr>
  629. </table>
  630. </div>
  631. <div class="memdoc">
  632. <p>Performs a ray test on the physics world.</p>
  633. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  634. <table class="params">
  635. <tr><td class="paramname">ray</td><td>The ray to test intersection with. </td></tr>
  636. <tr><td class="paramname">distance</td><td>How far along the given ray to test for intersections. </td></tr>
  637. <tr><td class="paramname">result</td><td>Optional pointer to a HitTest structure to store the hit test result information in. When using a default (or no) filter, this will always be the closest object hit. Otherwise, if using a custom filter, it will be the last object passed to the <a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html#ad021d4ffdd38a210b9ca9789b9f081fd">HitFilter::hit</a> method (which is not necessarily the closest or furthest). </td></tr>
  638. <tr><td class="paramname">filter</td><td>Optional filter pointer used to control which objects are tested.</td></tr>
  639. </table>
  640. </dd>
  641. </dl>
  642. <dl class="return"><dt><b>Returns:</b></dt><dd>True if the ray test collided with a physics object, false otherwise. </dd></dl>
  643. </div>
  644. </div>
  645. <a class="anchor" id="ac59f6753cb8c7b6a920082d23579a8a9"></a><!-- doxytag: member="gameplay::PhysicsController::removeStatusListener" ref="ac59f6753cb8c7b6a920082d23579a8a9" args="(Listener *listener)" -->
  646. <div class="memitem">
  647. <div class="memproto">
  648. <table class="memname">
  649. <tr>
  650. <td class="memname">void <a class="el" href="classgameplay_1_1_physics_controller.html#ac59f6753cb8c7b6a920082d23579a8a9">gameplay::PhysicsController::removeStatusListener</a> </td>
  651. <td>(</td>
  652. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_controller_1_1_listener.html">Listener</a> *&#160;</td>
  653. <td class="paramname"><em>listener</em></td><td>)</td>
  654. <td></td>
  655. </tr>
  656. </table>
  657. </div>
  658. <div class="memdoc">
  659. <p>Removes a listener to the physics controller.</p>
  660. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  661. <table class="params">
  662. <tr><td class="paramname">listener</td><td>The listener to remove. </td></tr>
  663. </table>
  664. </dd>
  665. </dl>
  666. </div>
  667. </div>
  668. <a class="anchor" id="ab085ecda3423f445960150208e5ba1c9"></a><!-- doxytag: member="gameplay::PhysicsController::setGravity" ref="ab085ecda3423f445960150208e5ba1c9" args="(const Vector3 &amp;gravity)" -->
  669. <div class="memitem">
  670. <div class="memproto">
  671. <table class="memname">
  672. <tr>
  673. <td class="memname">void <a class="el" href="classgameplay_1_1_physics_controller.html#ab085ecda3423f445960150208e5ba1c9">gameplay::PhysicsController::setGravity</a> </td>
  674. <td>(</td>
  675. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  676. <td class="paramname"><em>gravity</em></td><td>)</td>
  677. <td></td>
  678. </tr>
  679. </table>
  680. </div>
  681. <div class="memdoc">
  682. <p>Sets the gravity vector for the simulated physics world.</p>
  683. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  684. <table class="params">
  685. <tr><td class="paramname">gravity</td><td>The gravity vector. </td></tr>
  686. </table>
  687. </dd>
  688. </dl>
  689. </div>
  690. </div>
  691. <a class="anchor" id="a14ce5509e2c802a606497424b2e7be41"></a><!-- doxytag: member="gameplay::PhysicsController::sweepTest" ref="a14ce5509e2c802a606497424b2e7be41" args="(PhysicsCollisionObject *object, const Vector3 &amp;endPosition, PhysicsController::HitResult *result=NULL, PhysicsController::HitFilter *filter=NULL)" -->
  692. <div class="memitem">
  693. <div class="memproto">
  694. <table class="memname">
  695. <tr>
  696. <td class="memname">bool <a class="el" href="classgameplay_1_1_physics_controller.html#a14ce5509e2c802a606497424b2e7be41">gameplay::PhysicsController::sweepTest</a> </td>
  697. <td>(</td>
  698. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_collision_object.html">PhysicsCollisionObject</a> *&#160;</td>
  699. <td class="paramname"><em>object</em>, </td>
  700. </tr>
  701. <tr>
  702. <td class="paramkey"></td>
  703. <td></td>
  704. <td class="paramtype">const <a class="el" href="classgameplay_1_1_vector3.html">Vector3</a> &amp;&#160;</td>
  705. <td class="paramname"><em>endPosition</em>, </td>
  706. </tr>
  707. <tr>
  708. <td class="paramkey"></td>
  709. <td></td>
  710. <td class="paramtype"><a class="el" href="structgameplay_1_1_physics_controller_1_1_hit_result.html">PhysicsController::HitResult</a> *&#160;</td>
  711. <td class="paramname"><em>result</em> = <code>NULL</code>, </td>
  712. </tr>
  713. <tr>
  714. <td class="paramkey"></td>
  715. <td></td>
  716. <td class="paramtype"><a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html">PhysicsController::HitFilter</a> *&#160;</td>
  717. <td class="paramname"><em>filter</em> = <code>NULL</code>&#160;</td>
  718. </tr>
  719. <tr>
  720. <td></td>
  721. <td>)</td>
  722. <td></td><td></td>
  723. </tr>
  724. </table>
  725. </div>
  726. <div class="memdoc">
  727. <p>Performs a sweep test of the given collision object on the physics world.</p>
  728. <p>The start position of the sweep test is defined by the current world position of the specified collision object.</p>
  729. <dl class="params"><dt><b>Parameters:</b></dt><dd>
  730. <table class="params">
  731. <tr><td class="paramname">object</td><td>The collision object to test. </td></tr>
  732. <tr><td class="paramname">endPosition</td><td>The end position of the sweep test, in world space. </td></tr>
  733. <tr><td class="paramname">result</td><td>Optional pointer to a HitTest structure to store the hit test result information in. When using a default (or no) filter, this will always be the closest object hit. Otherwise, if using a custom filter, it will be the last object passed to the <a class="el" href="classgameplay_1_1_physics_controller_1_1_hit_filter.html#ad021d4ffdd38a210b9ca9789b9f081fd">HitFilter::hit</a> method (which is not necessarily the closest or furthest). </td></tr>
  734. <tr><td class="paramname">filter</td><td>Optional filter pointer used to control which objects are tested.</td></tr>
  735. </table>
  736. </dd>
  737. </dl>
  738. <dl class="return"><dt><b>Returns:</b></dt><dd>True if the object intersects any other physics objects, false otherwise. </dd></dl>
  739. </div>
  740. </div>
  741. </div><!-- contents -->
  742. <!-- window showing the filter options -->
  743. <div id="MSearchSelectWindow"
  744. onmouseover="return searchBox.OnSearchSelectShow()"
  745. onmouseout="return searchBox.OnSearchSelectHide()"
  746. onkeydown="return searchBox.OnSearchSelectKey(event)">
  747. <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>
  748. <!-- iframe showing the search results (closed by default) -->
  749. <div id="MSearchResultsWindow">
  750. <iframe src="javascript:void(0)" frameborder="0"
  751. name="MSearchResults" id="MSearchResults">
  752. </iframe>
  753. </div>
  754. <hr class="footer"/><address class="footer"><small>
  755. Generated on Sat Jan 24 2015 15:29:43 for gameplay by &#160;<a href="http://www.doxygen.org/index.html">
  756. <img class="footer" src="doxygen.png" alt="doxygen"/>
  757. </a> 1.7.6.1
  758. </small></address>
  759. </body>
  760. </html>