PVRTQuaternion_8h.html 41 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  3. <title>PowerVR SDK</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. <table width="100%">
  7. <tr>
  8. <td width="33%">
  9. <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
  10. </td>
  11. <td width="33%">
  12. <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
  13. </td>
  14. <td width="34%">
  15. <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
  16. </td>
  17. </tr>
  18. </table>
  19. <hr>
  20. </head><body>
  21. <!-- Generated by Doxygen 1.3.6 -->
  22. <div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
  23. <h1>PVRTQuaternion.h File Reference</h1><code>#include "<a class="el" href="PVRTGlobal_8h-source.html">PVRTGlobal.h</a>"</code><br>
  24. <code>#include "<a class="el" href="PVRTMatrix_8h-source.html">PVRTMatrix.h</a>"</code><br>
  25. <p>
  26. Include dependency graph for PVRTQuaternion.h:<p><center><img src="PVRTQuaternion_8h__incl.png" border="0" usemap="#PVRTQuaternion.h_map" alt="Include dependency graph"></center>
  27. <map name="PVRTQuaternion.h_map">
  28. <area href="PVRTGlobal_8h.html" shape="rect" coords="20,81,127,108" alt="">
  29. <area href="PVRTMatrix_8h.html" shape="rect" coords="66,156,172,183" alt="">
  30. </map>
  31. <p>
  32. This graph shows which files directly or indirectly include this file:<p><center><img src="PVRTQuaternion_8h__dep__incl.png" border="0" usemap="#PVRTQuaternion.hdep_map" alt="Included by dependency graph"></center>
  33. <map name="PVRTQuaternion.hdep_map">
  34. <area href="OGLES2Tools_8h.html" shape="rect" coords="15,7,132,34" alt="">
  35. </map>
  36. <p>
  37. <a href="PVRTQuaternion_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
  38. <tr><td></td></tr>
  39. <tr><td colspan=2><br><h2>Classes</h2></td></tr>
  40. <tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a></td></tr>
  41. <tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a></td></tr>
  42. <tr><td colspan=2><br><h2>Defines</h2></td></tr>
  43. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a0">PVRTMatrixQuaternionIdentity</a>&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionIdentityF</td></tr>
  44. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a1">PVRTMatrixQuaternionRotationAxis</a>&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionRotationAxisF</td></tr>
  45. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a2">PVRTMatrixQuaternionToAxisAngle</a>&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionToAxisAngleF</td></tr>
  46. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a3">PVRTMatrixQuaternionSlerp</a>&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionSlerpF</td></tr>
  47. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a4">PVRTMatrixQuaternionNormalize</a>&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionNormalizeF</td></tr>
  48. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a5">PVRTMatrixRotationQuaternion</a>&nbsp;&nbsp;&nbsp;PVRTMatrixRotationQuaternionF</td></tr>
  49. <tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a6">PVRTMatrixQuaternionMultiply</a>&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionMultiplyF</td></tr>
  50. <tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
  51. <tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a7">PVRTQUATERNION</a></td></tr>
  52. <tr><td colspan=2><br><h2>Functions</h2></td></tr>
  53. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a8">PVRTMatrixQuaternionIdentityF</a> (<a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qOut)</td></tr>
  54. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a9">PVRTMatrixQuaternionIdentityX</a> (<a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qOut)</td></tr>
  55. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a10">PVRTMatrixQuaternionRotationAxisF</a> (<a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qOut, const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3f</a> &amp;vAxis, const float fAngle)</td></tr>
  56. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a11">PVRTMatrixQuaternionRotationAxisX</a> (<a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qOut, const <a class="el" href="structPVRTVECTOR3x.html">PVRTVECTOR3x</a> &amp;vAxis, const int fAngle)</td></tr>
  57. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a12">PVRTMatrixQuaternionToAxisAngleF</a> (const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qIn, <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3f</a> &amp;vAxis, float &amp;fAngle)</td></tr>
  58. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a13">PVRTMatrixQuaternionToAxisAngleX</a> (const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qIn, <a class="el" href="structPVRTVECTOR3x.html">PVRTVECTOR3x</a> &amp;vAxis, int &amp;fAngle)</td></tr>
  59. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a14">PVRTMatrixQuaternionSlerpF</a> (<a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qOut, const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qA, const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qB, const float t)</td></tr>
  60. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a15">PVRTMatrixQuaternionSlerpX</a> (<a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qOut, const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qA, const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qB, const int t)</td></tr>
  61. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a16">PVRTMatrixQuaternionNormalizeF</a> (<a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;quat)</td></tr>
  62. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a17">PVRTMatrixQuaternionNormalizeX</a> (<a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;quat)</td></tr>
  63. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a18">PVRTMatrixRotationQuaternionF</a> (<a class="el" href="classPVRTMATRIXf.html">PVRTMATRIXf</a> &amp;mOut, const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;quat)</td></tr>
  64. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a19">PVRTMatrixRotationQuaternionX</a> (<a class="el" href="classPVRTMATRIXx.html">PVRTMATRIXx</a> &amp;mOut, const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;quat)</td></tr>
  65. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a20">PVRTMatrixQuaternionMultiplyF</a> (<a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qOut, const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qA, const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;qB)</td></tr>
  66. <tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTQuaternion_8h.html#a21">PVRTMatrixQuaternionMultiplyX</a> (<a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qOut, const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qA, const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;qB)</td></tr>
  67. </table>
  68. <hr><h2>Define Documentation</h2>
  69. <a class="anchor" name="a0" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionIdentity" ></a><p>
  70. <br><br><h3>PVRTMatrixQuaternionIdentity</h3><br><div>
  71. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  72. <tr>
  73. <td class="mdRow">
  74. <table cellpadding="0" cellspacing="0" border="0">
  75. <tr>
  76. <td class="md" nowrap valign="top"> #define PVRTMatrixQuaternionIdentity&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionIdentityF
  77. </table>
  78. </td>
  79. </tr>
  80. </table>
  81. <table cellspacing=5 cellpadding=0 border=0>
  82. <tr>
  83. <td>
  84. &nbsp;
  85. </td>
  86. <td>
  87. <p>
  88. </td>
  89. </tr>
  90. </table>
  91. <a class="anchor" name="a6" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionMultiply" ></a><p>
  92. <br><br><h3>PVRTMatrixQuaternionMultiply</h3><br><div>
  93. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  94. <tr>
  95. <td class="mdRow">
  96. <table cellpadding="0" cellspacing="0" border="0">
  97. <tr>
  98. <td class="md" nowrap valign="top"> #define PVRTMatrixQuaternionMultiply&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionMultiplyF
  99. </table>
  100. </td>
  101. </tr>
  102. </table>
  103. <table cellspacing=5 cellpadding=0 border=0>
  104. <tr>
  105. <td>
  106. &nbsp;
  107. </td>
  108. <td>
  109. <p>
  110. </td>
  111. </tr>
  112. </table>
  113. <a class="anchor" name="a4" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionNormalize" ></a><p>
  114. <br><br><h3>PVRTMatrixQuaternionNormalize</h3><br><div>
  115. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  116. <tr>
  117. <td class="mdRow">
  118. <table cellpadding="0" cellspacing="0" border="0">
  119. <tr>
  120. <td class="md" nowrap valign="top"> #define PVRTMatrixQuaternionNormalize&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionNormalizeF
  121. </table>
  122. </td>
  123. </tr>
  124. </table>
  125. <table cellspacing=5 cellpadding=0 border=0>
  126. <tr>
  127. <td>
  128. &nbsp;
  129. </td>
  130. <td>
  131. <p>
  132. </td>
  133. </tr>
  134. </table>
  135. <a class="anchor" name="a1" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionRotationAxis" ></a><p>
  136. <br><br><h3>PVRTMatrixQuaternionRotationAxis</h3><br><div>
  137. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  138. <tr>
  139. <td class="mdRow">
  140. <table cellpadding="0" cellspacing="0" border="0">
  141. <tr>
  142. <td class="md" nowrap valign="top"> #define PVRTMatrixQuaternionRotationAxis&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionRotationAxisF
  143. </table>
  144. </td>
  145. </tr>
  146. </table>
  147. <table cellspacing=5 cellpadding=0 border=0>
  148. <tr>
  149. <td>
  150. &nbsp;
  151. </td>
  152. <td>
  153. <p>
  154. </td>
  155. </tr>
  156. </table>
  157. <a class="anchor" name="a3" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionSlerp" ></a><p>
  158. <br><br><h3>PVRTMatrixQuaternionSlerp</h3><br><div>
  159. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  160. <tr>
  161. <td class="mdRow">
  162. <table cellpadding="0" cellspacing="0" border="0">
  163. <tr>
  164. <td class="md" nowrap valign="top"> #define PVRTMatrixQuaternionSlerp&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionSlerpF
  165. </table>
  166. </td>
  167. </tr>
  168. </table>
  169. <table cellspacing=5 cellpadding=0 border=0>
  170. <tr>
  171. <td>
  172. &nbsp;
  173. </td>
  174. <td>
  175. <p>
  176. </td>
  177. </tr>
  178. </table>
  179. <a class="anchor" name="a2" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionToAxisAngle" ></a><p>
  180. <br><br><h3>PVRTMatrixQuaternionToAxisAngle</h3><br><div>
  181. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  182. <tr>
  183. <td class="mdRow">
  184. <table cellpadding="0" cellspacing="0" border="0">
  185. <tr>
  186. <td class="md" nowrap valign="top"> #define PVRTMatrixQuaternionToAxisAngle&nbsp;&nbsp;&nbsp;PVRTMatrixQuaternionToAxisAngleF
  187. </table>
  188. </td>
  189. </tr>
  190. </table>
  191. <table cellspacing=5 cellpadding=0 border=0>
  192. <tr>
  193. <td>
  194. &nbsp;
  195. </td>
  196. <td>
  197. <p>
  198. </td>
  199. </tr>
  200. </table>
  201. <a class="anchor" name="a5" doxytag="PVRTQuaternion.h::PVRTMatrixRotationQuaternion" ></a><p>
  202. <br><br><h3>PVRTMatrixRotationQuaternion</h3><br><div>
  203. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  204. <tr>
  205. <td class="mdRow">
  206. <table cellpadding="0" cellspacing="0" border="0">
  207. <tr>
  208. <td class="md" nowrap valign="top"> #define PVRTMatrixRotationQuaternion&nbsp;&nbsp;&nbsp;PVRTMatrixRotationQuaternionF
  209. </table>
  210. </td>
  211. </tr>
  212. </table>
  213. <table cellspacing=5 cellpadding=0 border=0>
  214. <tr>
  215. <td>
  216. &nbsp;
  217. </td>
  218. <td>
  219. <p>
  220. </td>
  221. </tr>
  222. </table>
  223. <hr><h2>Typedef Documentation</h2>
  224. <a class="anchor" name="a7" doxytag="PVRTQuaternion.h::PVRTQUATERNION" ></a><p>
  225. <br><br><h3>PVRTQUATERNION</h3><br><div>
  226. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  227. <tr>
  228. <td class="mdRow">
  229. <table cellpadding="0" cellspacing="0" border="0">
  230. <tr>
  231. <td class="md" nowrap valign="top"> typedef <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNION</a>
  232. </table>
  233. </td>
  234. </tr>
  235. </table>
  236. <table cellspacing=5 cellpadding=0 border=0>
  237. <tr>
  238. <td>
  239. &nbsp;
  240. </td>
  241. <td>
  242. <p>
  243. </td>
  244. </tr>
  245. </table>
  246. <hr><h2>Function Documentation</h2>
  247. <a class="anchor" name="a8" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionIdentityF" ></a><p>
  248. <br><br><h3>PVRTMatrixQuaternionIdentityF</h3><br><div>
  249. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  250. <tr>
  251. <td class="mdRow">
  252. <table cellpadding="0" cellspacing="0" border="0">
  253. <tr>
  254. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionIdentityF </td>
  255. <td class="md" valign="top">(&nbsp;</td>
  256. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  257. <td class="mdname1" valign="top" nowrap> <em>qOut</em> </td>
  258. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  259. <td class="md" nowrap></td>
  260. </tr>
  261. </table>
  262. </td>
  263. </tr>
  264. </table>
  265. <table cellspacing=5 cellpadding=0 border=0>
  266. <tr>
  267. <td>
  268. &nbsp;
  269. </td>
  270. <td>
  271. <p>
  272. <dl compact><dt><b>Outputs:</b></dt><dd>
  273. <table border="0" cellspacing="2" cellpadding="0">
  274. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Identity quaternion </td></tr>
  275. </table>
  276. </dl>
  277. <dl compact><dt><b>Description:</b></dt><dd>Sets the quaternion to (0, 0, 0, 1), the identity quaternion. </dd></dl>
  278. </td>
  279. </tr>
  280. </table>
  281. <a class="anchor" name="a9" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionIdentityX" ></a><p>
  282. <br><br><h3>PVRTMatrixQuaternionIdentityX</h3><br><div>
  283. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  284. <tr>
  285. <td class="mdRow">
  286. <table cellpadding="0" cellspacing="0" border="0">
  287. <tr>
  288. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionIdentityX </td>
  289. <td class="md" valign="top">(&nbsp;</td>
  290. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  291. <td class="mdname1" valign="top" nowrap> <em>qOut</em> </td>
  292. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  293. <td class="md" nowrap></td>
  294. </tr>
  295. </table>
  296. </td>
  297. </tr>
  298. </table>
  299. <table cellspacing=5 cellpadding=0 border=0>
  300. <tr>
  301. <td>
  302. &nbsp;
  303. </td>
  304. <td>
  305. <p>
  306. <dl compact><dt><b>Outputs:</b></dt><dd>
  307. <table border="0" cellspacing="2" cellpadding="0">
  308. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Identity quaternion </td></tr>
  309. </table>
  310. </dl>
  311. <dl compact><dt><b>Description:</b></dt><dd>Sets the quaternion to (0, 0, 0, 1), the identity quaternion. </dd></dl>
  312. </td>
  313. </tr>
  314. </table>
  315. <a class="anchor" name="a20" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionMultiplyF" ></a><p>
  316. <br><br><h3>PVRTMatrixQuaternionMultiplyF</h3><br><div>
  317. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  318. <tr>
  319. <td class="mdRow">
  320. <table cellpadding="0" cellspacing="0" border="0">
  321. <tr>
  322. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionMultiplyF </td>
  323. <td class="md" valign="top">(&nbsp;</td>
  324. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  325. <td class="mdname" nowrap> <em>qOut</em>, </td>
  326. </tr>
  327. <tr>
  328. <td class="md" nowrap align="right"></td>
  329. <td></td>
  330. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  331. <td class="mdname" nowrap> <em>qA</em>, </td>
  332. </tr>
  333. <tr>
  334. <td class="md" nowrap align="right"></td>
  335. <td></td>
  336. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  337. <td class="mdname" nowrap> <em>qB</em></td>
  338. </tr>
  339. <tr>
  340. <td></td>
  341. <td class="md">)&nbsp;</td>
  342. <td class="md" colspan="2"></td>
  343. </tr>
  344. </table>
  345. </td>
  346. </tr>
  347. </table>
  348. <table cellspacing=5 cellpadding=0 border=0>
  349. <tr>
  350. <td>
  351. &nbsp;
  352. </td>
  353. <td>
  354. <p>
  355. <dl compact><dt><b>Outputs:</b></dt><dd>
  356. <table border="0" cellspacing="2" cellpadding="0">
  357. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Resulting quaternion </td></tr>
  358. </table>
  359. </dl>
  360. <dl compact><dt><b>Inputs:</b></dt><dd>
  361. <table border="0" cellspacing="2" cellpadding="0">
  362. <tr><td valign=top><em>qA</em>&nbsp;</td><td>First quaternion to multiply </td></tr>
  363. <tr><td valign=top><em>qB</em>&nbsp;</td><td>Second quaternion to multiply </td></tr>
  364. </table>
  365. </dl>
  366. <dl compact><dt><b>Description:</b></dt><dd>Multiply quaternion A with quaternion B and return the result in qOut. </dd></dl>
  367. </td>
  368. </tr>
  369. </table>
  370. <a class="anchor" name="a21" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionMultiplyX" ></a><p>
  371. <br><br><h3>PVRTMatrixQuaternionMultiplyX</h3><br><div>
  372. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  373. <tr>
  374. <td class="mdRow">
  375. <table cellpadding="0" cellspacing="0" border="0">
  376. <tr>
  377. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionMultiplyX </td>
  378. <td class="md" valign="top">(&nbsp;</td>
  379. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  380. <td class="mdname" nowrap> <em>qOut</em>, </td>
  381. </tr>
  382. <tr>
  383. <td class="md" nowrap align="right"></td>
  384. <td></td>
  385. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  386. <td class="mdname" nowrap> <em>qA</em>, </td>
  387. </tr>
  388. <tr>
  389. <td class="md" nowrap align="right"></td>
  390. <td></td>
  391. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  392. <td class="mdname" nowrap> <em>qB</em></td>
  393. </tr>
  394. <tr>
  395. <td></td>
  396. <td class="md">)&nbsp;</td>
  397. <td class="md" colspan="2"></td>
  398. </tr>
  399. </table>
  400. </td>
  401. </tr>
  402. </table>
  403. <table cellspacing=5 cellpadding=0 border=0>
  404. <tr>
  405. <td>
  406. &nbsp;
  407. </td>
  408. <td>
  409. <p>
  410. <dl compact><dt><b>Outputs:</b></dt><dd>
  411. <table border="0" cellspacing="2" cellpadding="0">
  412. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Resulting quaternion </td></tr>
  413. </table>
  414. </dl>
  415. <dl compact><dt><b>Inputs:</b></dt><dd>
  416. <table border="0" cellspacing="2" cellpadding="0">
  417. <tr><td valign=top><em>qA</em>&nbsp;</td><td>First quaternion to multiply </td></tr>
  418. <tr><td valign=top><em>qB</em>&nbsp;</td><td>Second quaternion to multiply </td></tr>
  419. </table>
  420. </dl>
  421. <dl compact><dt><b>Description:</b></dt><dd>Multiply quaternion A with quaternion B and return the result in qOut. Input quaternions must be normalized. </dd></dl>
  422. </td>
  423. </tr>
  424. </table>
  425. <a class="anchor" name="a16" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionNormalizeF" ></a><p>
  426. <br><br><h3>PVRTMatrixQuaternionNormalizeF</h3><br><div>
  427. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  428. <tr>
  429. <td class="mdRow">
  430. <table cellpadding="0" cellspacing="0" border="0">
  431. <tr>
  432. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionNormalizeF </td>
  433. <td class="md" valign="top">(&nbsp;</td>
  434. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  435. <td class="mdname1" valign="top" nowrap> <em>quat</em> </td>
  436. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  437. <td class="md" nowrap></td>
  438. </tr>
  439. </table>
  440. </td>
  441. </tr>
  442. </table>
  443. <table cellspacing=5 cellpadding=0 border=0>
  444. <tr>
  445. <td>
  446. &nbsp;
  447. </td>
  448. <td>
  449. <p>
  450. <dl compact><dt><b>Modified:</b></dt><dd>
  451. <table border="0" cellspacing="2" cellpadding="0">
  452. <tr><td valign=top><em>quat</em>&nbsp;</td><td>Vector to normalize </td></tr>
  453. </table>
  454. </dl>
  455. <dl compact><dt><b>Description:</b></dt><dd>Normalize quaternion. </dd></dl>
  456. </td>
  457. </tr>
  458. </table>
  459. <a class="anchor" name="a17" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionNormalizeX" ></a><p>
  460. <br><br><h3>PVRTMatrixQuaternionNormalizeX</h3><br><div>
  461. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  462. <tr>
  463. <td class="mdRow">
  464. <table cellpadding="0" cellspacing="0" border="0">
  465. <tr>
  466. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionNormalizeX </td>
  467. <td class="md" valign="top">(&nbsp;</td>
  468. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  469. <td class="mdname1" valign="top" nowrap> <em>quat</em> </td>
  470. <td class="md" valign="top">&nbsp;)&nbsp;</td>
  471. <td class="md" nowrap></td>
  472. </tr>
  473. </table>
  474. </td>
  475. </tr>
  476. </table>
  477. <table cellspacing=5 cellpadding=0 border=0>
  478. <tr>
  479. <td>
  480. &nbsp;
  481. </td>
  482. <td>
  483. <p>
  484. <dl compact><dt><b>Modified:</b></dt><dd>
  485. <table border="0" cellspacing="2" cellpadding="0">
  486. <tr><td valign=top><em>quat</em>&nbsp;</td><td>Vector to normalize </td></tr>
  487. </table>
  488. </dl>
  489. <dl compact><dt><b>Description:</b></dt><dd>Normalize quaternion. Original quaternion is scaled down prior to be normalized in order to avoid overflow issues. </dd></dl>
  490. </td>
  491. </tr>
  492. </table>
  493. <a class="anchor" name="a10" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionRotationAxisF" ></a><p>
  494. <br><br><h3>PVRTMatrixQuaternionRotationAxisF</h3><br><div>
  495. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  496. <tr>
  497. <td class="mdRow">
  498. <table cellpadding="0" cellspacing="0" border="0">
  499. <tr>
  500. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionRotationAxisF </td>
  501. <td class="md" valign="top">(&nbsp;</td>
  502. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  503. <td class="mdname" nowrap> <em>qOut</em>, </td>
  504. </tr>
  505. <tr>
  506. <td class="md" nowrap align="right"></td>
  507. <td></td>
  508. <td class="md" nowrap>const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3f</a> &amp;&nbsp;</td>
  509. <td class="mdname" nowrap> <em>vAxis</em>, </td>
  510. </tr>
  511. <tr>
  512. <td class="md" nowrap align="right"></td>
  513. <td></td>
  514. <td class="md" nowrap>const float&nbsp;</td>
  515. <td class="mdname" nowrap> <em>fAngle</em></td>
  516. </tr>
  517. <tr>
  518. <td></td>
  519. <td class="md">)&nbsp;</td>
  520. <td class="md" colspan="2"></td>
  521. </tr>
  522. </table>
  523. </td>
  524. </tr>
  525. </table>
  526. <table cellspacing=5 cellpadding=0 border=0>
  527. <tr>
  528. <td>
  529. &nbsp;
  530. </td>
  531. <td>
  532. <p>
  533. <dl compact><dt><b>Outputs:</b></dt><dd>
  534. <table border="0" cellspacing="2" cellpadding="0">
  535. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Rotation quaternion </td></tr>
  536. </table>
  537. </dl>
  538. <dl compact><dt><b>Inputs:</b></dt><dd>
  539. <table border="0" cellspacing="2" cellpadding="0">
  540. <tr><td valign=top><em>vAxis</em>&nbsp;</td><td>Axis to rotate around </td></tr>
  541. <tr><td valign=top><em>fAngle</em>&nbsp;</td><td>Angle to rotate </td></tr>
  542. </table>
  543. </dl>
  544. <dl compact><dt><b>Description:</b></dt><dd>Create quaternion corresponding to a rotation of fAngle radians around submitted vector. </dd></dl>
  545. </td>
  546. </tr>
  547. </table>
  548. <a class="anchor" name="a11" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionRotationAxisX" ></a><p>
  549. <br><br><h3>PVRTMatrixQuaternionRotationAxisX</h3><br><div>
  550. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  551. <tr>
  552. <td class="mdRow">
  553. <table cellpadding="0" cellspacing="0" border="0">
  554. <tr>
  555. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionRotationAxisX </td>
  556. <td class="md" valign="top">(&nbsp;</td>
  557. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  558. <td class="mdname" nowrap> <em>qOut</em>, </td>
  559. </tr>
  560. <tr>
  561. <td class="md" nowrap align="right"></td>
  562. <td></td>
  563. <td class="md" nowrap>const <a class="el" href="structPVRTVECTOR3x.html">PVRTVECTOR3x</a> &amp;&nbsp;</td>
  564. <td class="mdname" nowrap> <em>vAxis</em>, </td>
  565. </tr>
  566. <tr>
  567. <td class="md" nowrap align="right"></td>
  568. <td></td>
  569. <td class="md" nowrap>const int&nbsp;</td>
  570. <td class="mdname" nowrap> <em>fAngle</em></td>
  571. </tr>
  572. <tr>
  573. <td></td>
  574. <td class="md">)&nbsp;</td>
  575. <td class="md" colspan="2"></td>
  576. </tr>
  577. </table>
  578. </td>
  579. </tr>
  580. </table>
  581. <table cellspacing=5 cellpadding=0 border=0>
  582. <tr>
  583. <td>
  584. &nbsp;
  585. </td>
  586. <td>
  587. <p>
  588. <dl compact><dt><b>Outputs:</b></dt><dd>
  589. <table border="0" cellspacing="2" cellpadding="0">
  590. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Rotation quaternion </td></tr>
  591. </table>
  592. </dl>
  593. <dl compact><dt><b>Inputs:</b></dt><dd>
  594. <table border="0" cellspacing="2" cellpadding="0">
  595. <tr><td valign=top><em>vAxis</em>&nbsp;</td><td>Axis to rotate around </td></tr>
  596. <tr><td valign=top><em>fAngle</em>&nbsp;</td><td>Angle to rotate </td></tr>
  597. </table>
  598. </dl>
  599. <dl compact><dt><b>Description:</b></dt><dd>Create quaternion corresponding to a rotation of fAngle radians around submitted vector. </dd></dl>
  600. </td>
  601. </tr>
  602. </table>
  603. <a class="anchor" name="a14" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionSlerpF" ></a><p>
  604. <br><br><h3>PVRTMatrixQuaternionSlerpF</h3><br><div>
  605. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  606. <tr>
  607. <td class="mdRow">
  608. <table cellpadding="0" cellspacing="0" border="0">
  609. <tr>
  610. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionSlerpF </td>
  611. <td class="md" valign="top">(&nbsp;</td>
  612. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  613. <td class="mdname" nowrap> <em>qOut</em>, </td>
  614. </tr>
  615. <tr>
  616. <td class="md" nowrap align="right"></td>
  617. <td></td>
  618. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  619. <td class="mdname" nowrap> <em>qA</em>, </td>
  620. </tr>
  621. <tr>
  622. <td class="md" nowrap align="right"></td>
  623. <td></td>
  624. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  625. <td class="mdname" nowrap> <em>qB</em>, </td>
  626. </tr>
  627. <tr>
  628. <td class="md" nowrap align="right"></td>
  629. <td></td>
  630. <td class="md" nowrap>const float&nbsp;</td>
  631. <td class="mdname" nowrap> <em>t</em></td>
  632. </tr>
  633. <tr>
  634. <td></td>
  635. <td class="md">)&nbsp;</td>
  636. <td class="md" colspan="2"></td>
  637. </tr>
  638. </table>
  639. </td>
  640. </tr>
  641. </table>
  642. <table cellspacing=5 cellpadding=0 border=0>
  643. <tr>
  644. <td>
  645. &nbsp;
  646. </td>
  647. <td>
  648. <p>
  649. <dl compact><dt><b>Outputs:</b></dt><dd>
  650. <table border="0" cellspacing="2" cellpadding="0">
  651. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Result of the interpolation </td></tr>
  652. </table>
  653. </dl>
  654. <dl compact><dt><b>Inputs:</b></dt><dd>
  655. <table border="0" cellspacing="2" cellpadding="0">
  656. <tr><td valign=top><em>qA</em>&nbsp;</td><td>First quaternion to interpolate from </td></tr>
  657. <tr><td valign=top><em>qB</em>&nbsp;</td><td>Second quaternion to interpolate from </td></tr>
  658. <tr><td valign=top><em>t</em>&nbsp;</td><td>Coefficient of interpolation </td></tr>
  659. </table>
  660. </dl>
  661. <dl compact><dt><b>Description:</b></dt><dd>Perform a Spherical Linear intERPolation between quaternion A and quaternion B at time t. t must be between 0.0f and 1.0f </dd></dl>
  662. </td>
  663. </tr>
  664. </table>
  665. <a class="anchor" name="a15" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionSlerpX" ></a><p>
  666. <br><br><h3>PVRTMatrixQuaternionSlerpX</h3><br><div>
  667. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  668. <tr>
  669. <td class="mdRow">
  670. <table cellpadding="0" cellspacing="0" border="0">
  671. <tr>
  672. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionSlerpX </td>
  673. <td class="md" valign="top">(&nbsp;</td>
  674. <td class="md" nowrap valign="top"><a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  675. <td class="mdname" nowrap> <em>qOut</em>, </td>
  676. </tr>
  677. <tr>
  678. <td class="md" nowrap align="right"></td>
  679. <td></td>
  680. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  681. <td class="mdname" nowrap> <em>qA</em>, </td>
  682. </tr>
  683. <tr>
  684. <td class="md" nowrap align="right"></td>
  685. <td></td>
  686. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  687. <td class="mdname" nowrap> <em>qB</em>, </td>
  688. </tr>
  689. <tr>
  690. <td class="md" nowrap align="right"></td>
  691. <td></td>
  692. <td class="md" nowrap>const int&nbsp;</td>
  693. <td class="mdname" nowrap> <em>t</em></td>
  694. </tr>
  695. <tr>
  696. <td></td>
  697. <td class="md">)&nbsp;</td>
  698. <td class="md" colspan="2"></td>
  699. </tr>
  700. </table>
  701. </td>
  702. </tr>
  703. </table>
  704. <table cellspacing=5 cellpadding=0 border=0>
  705. <tr>
  706. <td>
  707. &nbsp;
  708. </td>
  709. <td>
  710. <p>
  711. <dl compact><dt><b>Outputs:</b></dt><dd>
  712. <table border="0" cellspacing="2" cellpadding="0">
  713. <tr><td valign=top><em>qOut</em>&nbsp;</td><td>Result of the interpolation </td></tr>
  714. </table>
  715. </dl>
  716. <dl compact><dt><b>Inputs:</b></dt><dd>
  717. <table border="0" cellspacing="2" cellpadding="0">
  718. <tr><td valign=top><em>qA</em>&nbsp;</td><td>First quaternion to interpolate from </td></tr>
  719. <tr><td valign=top><em>qB</em>&nbsp;</td><td>Second quaternion to interpolate from </td></tr>
  720. <tr><td valign=top><em>t</em>&nbsp;</td><td>Coefficient of interpolation </td></tr>
  721. </table>
  722. </dl>
  723. <dl compact><dt><b>Description:</b></dt><dd>Perform a Spherical Linear intERPolation between quaternion A and quaternion B at time t. t must be between 0.0f and 1.0f Requires input quaternions to be normalized </dd></dl>
  724. </td>
  725. </tr>
  726. </table>
  727. <a class="anchor" name="a12" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionToAxisAngleF" ></a><p>
  728. <br><br><h3>PVRTMatrixQuaternionToAxisAngleF</h3><br><div>
  729. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  730. <tr>
  731. <td class="mdRow">
  732. <table cellpadding="0" cellspacing="0" border="0">
  733. <tr>
  734. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionToAxisAngleF </td>
  735. <td class="md" valign="top">(&nbsp;</td>
  736. <td class="md" nowrap valign="top">const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  737. <td class="mdname" nowrap> <em>qIn</em>, </td>
  738. </tr>
  739. <tr>
  740. <td class="md" nowrap align="right"></td>
  741. <td></td>
  742. <td class="md" nowrap><a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3f</a> &amp;&nbsp;</td>
  743. <td class="mdname" nowrap> <em>vAxis</em>, </td>
  744. </tr>
  745. <tr>
  746. <td class="md" nowrap align="right"></td>
  747. <td></td>
  748. <td class="md" nowrap>float &amp;&nbsp;</td>
  749. <td class="mdname" nowrap> <em>fAngle</em></td>
  750. </tr>
  751. <tr>
  752. <td></td>
  753. <td class="md">)&nbsp;</td>
  754. <td class="md" colspan="2"></td>
  755. </tr>
  756. </table>
  757. </td>
  758. </tr>
  759. </table>
  760. <table cellspacing=5 cellpadding=0 border=0>
  761. <tr>
  762. <td>
  763. &nbsp;
  764. </td>
  765. <td>
  766. <p>
  767. <dl compact><dt><b>Inputs:</b></dt><dd>
  768. <table border="0" cellspacing="2" cellpadding="0">
  769. <tr><td valign=top><em>qIn</em>&nbsp;</td><td>Quaternion to transform </td></tr>
  770. </table>
  771. </dl>
  772. <dl compact><dt><b>Outputs:</b></dt><dd>
  773. <table border="0" cellspacing="2" cellpadding="0">
  774. <tr><td valign=top><em>vAxis</em>&nbsp;</td><td>Axis of rotation </td></tr>
  775. <tr><td valign=top><em>fAngle</em>&nbsp;</td><td>Angle of rotation </td></tr>
  776. </table>
  777. </dl>
  778. <dl compact><dt><b>Description:</b></dt><dd>Convert a quaternion to an axis and angle. Expects a unit quaternion. </dd></dl>
  779. </td>
  780. </tr>
  781. </table>
  782. <a class="anchor" name="a13" doxytag="PVRTQuaternion.h::PVRTMatrixQuaternionToAxisAngleX" ></a><p>
  783. <br><br><h3>PVRTMatrixQuaternionToAxisAngleX</h3><br><div>
  784. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  785. <tr>
  786. <td class="mdRow">
  787. <table cellpadding="0" cellspacing="0" border="0">
  788. <tr>
  789. <td class="md" nowrap valign="top"> void PVRTMatrixQuaternionToAxisAngleX </td>
  790. <td class="md" valign="top">(&nbsp;</td>
  791. <td class="md" nowrap valign="top">const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  792. <td class="mdname" nowrap> <em>qIn</em>, </td>
  793. </tr>
  794. <tr>
  795. <td class="md" nowrap align="right"></td>
  796. <td></td>
  797. <td class="md" nowrap><a class="el" href="structPVRTVECTOR3x.html">PVRTVECTOR3x</a> &amp;&nbsp;</td>
  798. <td class="mdname" nowrap> <em>vAxis</em>, </td>
  799. </tr>
  800. <tr>
  801. <td class="md" nowrap align="right"></td>
  802. <td></td>
  803. <td class="md" nowrap>int &amp;&nbsp;</td>
  804. <td class="mdname" nowrap> <em>fAngle</em></td>
  805. </tr>
  806. <tr>
  807. <td></td>
  808. <td class="md">)&nbsp;</td>
  809. <td class="md" colspan="2"></td>
  810. </tr>
  811. </table>
  812. </td>
  813. </tr>
  814. </table>
  815. <table cellspacing=5 cellpadding=0 border=0>
  816. <tr>
  817. <td>
  818. &nbsp;
  819. </td>
  820. <td>
  821. <p>
  822. <dl compact><dt><b>Inputs:</b></dt><dd>
  823. <table border="0" cellspacing="2" cellpadding="0">
  824. <tr><td valign=top><em>qIn</em>&nbsp;</td><td>Quaternion to transform </td></tr>
  825. </table>
  826. </dl>
  827. <dl compact><dt><b>Outputs:</b></dt><dd>
  828. <table border="0" cellspacing="2" cellpadding="0">
  829. <tr><td valign=top><em>vAxis</em>&nbsp;</td><td>Axis of rotation </td></tr>
  830. <tr><td valign=top><em>fAngle</em>&nbsp;</td><td>Angle of rotation </td></tr>
  831. </table>
  832. </dl>
  833. <dl compact><dt><b>Description:</b></dt><dd>Convert a quaternion to an axis and angle. Expects a unit quaternion. </dd></dl>
  834. </td>
  835. </tr>
  836. </table>
  837. <a class="anchor" name="a18" doxytag="PVRTQuaternion.h::PVRTMatrixRotationQuaternionF" ></a><p>
  838. <br><br><h3>PVRTMatrixRotationQuaternionF</h3><br><div>
  839. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  840. <tr>
  841. <td class="mdRow">
  842. <table cellpadding="0" cellspacing="0" border="0">
  843. <tr>
  844. <td class="md" nowrap valign="top"> void PVRTMatrixRotationQuaternionF </td>
  845. <td class="md" valign="top">(&nbsp;</td>
  846. <td class="md" nowrap valign="top"><a class="el" href="classPVRTMATRIXf.html">PVRTMATRIXf</a> &amp;&nbsp;</td>
  847. <td class="mdname" nowrap> <em>mOut</em>, </td>
  848. </tr>
  849. <tr>
  850. <td class="md" nowrap align="right"></td>
  851. <td></td>
  852. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONf.html">PVRTQUATERNIONf</a> &amp;&nbsp;</td>
  853. <td class="mdname" nowrap> <em>quat</em></td>
  854. </tr>
  855. <tr>
  856. <td></td>
  857. <td class="md">)&nbsp;</td>
  858. <td class="md" colspan="2"></td>
  859. </tr>
  860. </table>
  861. </td>
  862. </tr>
  863. </table>
  864. <table cellspacing=5 cellpadding=0 border=0>
  865. <tr>
  866. <td>
  867. &nbsp;
  868. </td>
  869. <td>
  870. <p>
  871. <dl compact><dt><b>Outputs:</b></dt><dd>
  872. <table border="0" cellspacing="2" cellpadding="0">
  873. <tr><td valign=top><em>mOut</em>&nbsp;</td><td>Resulting rotation matrix </td></tr>
  874. </table>
  875. </dl>
  876. <dl compact><dt><b>Inputs:</b></dt><dd>
  877. <table border="0" cellspacing="2" cellpadding="0">
  878. <tr><td valign=top><em>quat</em>&nbsp;</td><td>Quaternion to transform </td></tr>
  879. </table>
  880. </dl>
  881. <dl compact><dt><b>Description:</b></dt><dd>Create rotation matrix from submitted quaternion. Assuming the quaternion is of the form [X Y Z W]:</dd></dl>
  882. | 2 2 | | 1 - 2Y - 2Z 2XY - 2ZW 2XZ + 2YW 0 | | | | 2 2 | M = | 2XY + 2ZW 1 - 2X - 2Z 2YZ - 2XW 0 | | | | 2 2 | | 2XZ - 2YW 2YZ + 2XW 1 - 2X - 2Y 0 | | | | 0 0 0 1 | </td>
  883. </tr>
  884. </table>
  885. <a class="anchor" name="a19" doxytag="PVRTQuaternion.h::PVRTMatrixRotationQuaternionX" ></a><p>
  886. <br><br><h3>PVRTMatrixRotationQuaternionX</h3><br><div>
  887. <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  888. <tr>
  889. <td class="mdRow">
  890. <table cellpadding="0" cellspacing="0" border="0">
  891. <tr>
  892. <td class="md" nowrap valign="top"> void PVRTMatrixRotationQuaternionX </td>
  893. <td class="md" valign="top">(&nbsp;</td>
  894. <td class="md" nowrap valign="top"><a class="el" href="classPVRTMATRIXx.html">PVRTMATRIXx</a> &amp;&nbsp;</td>
  895. <td class="mdname" nowrap> <em>mOut</em>, </td>
  896. </tr>
  897. <tr>
  898. <td class="md" nowrap align="right"></td>
  899. <td></td>
  900. <td class="md" nowrap>const <a class="el" href="structPVRTQUATERNIONx.html">PVRTQUATERNIONx</a> &amp;&nbsp;</td>
  901. <td class="mdname" nowrap> <em>quat</em></td>
  902. </tr>
  903. <tr>
  904. <td></td>
  905. <td class="md">)&nbsp;</td>
  906. <td class="md" colspan="2"></td>
  907. </tr>
  908. </table>
  909. </td>
  910. </tr>
  911. </table>
  912. <table cellspacing=5 cellpadding=0 border=0>
  913. <tr>
  914. <td>
  915. &nbsp;
  916. </td>
  917. <td>
  918. <p>
  919. <dl compact><dt><b>Outputs:</b></dt><dd>
  920. <table border="0" cellspacing="2" cellpadding="0">
  921. <tr><td valign=top><em>mOut</em>&nbsp;</td><td>Resulting rotation matrix </td></tr>
  922. </table>
  923. </dl>
  924. <dl compact><dt><b>Inputs:</b></dt><dd>
  925. <table border="0" cellspacing="2" cellpadding="0">
  926. <tr><td valign=top><em>quat</em>&nbsp;</td><td>Quaternion to transform </td></tr>
  927. </table>
  928. </dl>
  929. <dl compact><dt><b>Description:</b></dt><dd>Create rotation matrix from submitted quaternion. Assuming the quaternion is of the form [X Y Z W]:</dd></dl>
  930. | 2 2 | | 1 - 2Y - 2Z 2XY - 2ZW 2XZ + 2YW 0 | | | | 2 2 | M = | 2XY + 2ZW 1 - 2X - 2Z 2YZ - 2XW 0 | | | | 2 2 | | 2XZ - 2YW 2YZ + 2XW 1 - 2X - 2Y 0 | | | | 0 0 0 1 | </td>
  931. </tr>
  932. </table>
  933. <br>
  934. <br>
  935. <P align=left><FONT size=2><STRONG><A
  936. href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> ©
  937. 1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
  938. <hr>
  939. <address style="align: left;"><small><FONT color=f0f>
  940. Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
  941. </body>
  942. </html>