Home | History | Annotate | Download | only in renderscript
      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 
      6 <title>/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_quaternion.rsh File Reference</title>
      7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
      8 <link href="doxygen.css" rel="stylesheet" type="text/css" />
      9 
     10 
     11 
     12 </head>
     13 <body>
     14 <div id="top"><!-- do not remove this div! -->
     15 
     16 
     17 <!-- Generated by Doxygen 1.7.5.1 -->
     18   <div id="navrow1" class="tabs">
     19     <ul class="tablist">
     20       <li><a href="index.html"><span>Overview</span></a></li>
     21       <li class="current"><a href="globals.html"><span>Globals</span></a></li>
     22       <li><a href="annotated.html"><span>Structs</span></a></li>
     23     </ul>
     24   </div>
     25 </div>
     26 <div class="header">
     27   <div class="summary">
     28 <a href="#func-members">Functions</a>  </div>
     29   <div class="headertitle">
     30 <div class="title">/usr/local/google/home/srhines/android_trees/jb-mr2-dev/frameworks/rs/scriptc/rs_quaternion.rsh File Reference</div>  </div>
     31 </div>
     32 <div class="contents">
     33 <table class="memberdecls">
     34 <tr><td colspan="2"><h2><a name="func-members"></a>
     35 Functions</h2></td></tr>
     36 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a5ff868dbc33e710a666a102fdcc6670a">rsQuaternionSet</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, float w, float x, float y, float z)</td></tr>
     37 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a249782133e54f13a8096d1fbe295714d">rsQuaternionSet</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *rhs)</td></tr>
     38 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a4f3d214912facf72f6a6d57e95aa3c3b">rsQuaternionMultiply</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, float s)</td></tr>
     39 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a5e6e493b9917336b0d9118fdd4e91444">rsQuaternionAdd</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *rhs)</td></tr>
     40 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#aa72a43cf3d7b5924de1ddfaa5766db09">rsQuaternionLoadRotateUnit</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, float rot, float x, float y, float z)</td></tr>
     41 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#adf4423c521e34f3cf29d5dd5b5a93de0">rsQuaternionLoadRotate</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, float rot, float x, float y, float z)</td></tr>
     42 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#acd670264e49743d35f38028b8e2a8800">rsQuaternionConjugate</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q)</td></tr>
     43 <tr><td class="memItemLeft" align="right" valign="top">static float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#aa810f8857439564e7b3be771f47b40ca">rsQuaternionDot</a> (const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q0, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q1)</td></tr>
     44 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#abb31aad2416044ad5bbf44ee7c838e2a">rsQuaternionNormalize</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q)</td></tr>
     45 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a8bbbb286a2e2cb71b416c053f44844c3">rsQuaternionMultiply</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *rhs)</td></tr>
     46 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a7da94a30e287cbb8148771a5cd768dbd">rsQuaternionSlerp</a> (<a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q0, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q1, float t)</td></tr>
     47 <tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rs__quaternion_8rsh.html#a7726c524868c49892976fec53ea0693b">rsQuaternionGetMatrixUnit</a> (<a class="el" href="structrs__matrix4x4.html">rs_matrix4x4</a> *m, const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *q)</td></tr>
     48 </table>
     49 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
     50 <div class="textblock"><p>Quaternion routines. </p>
     51 
     52 <p>Definition in file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
     53 </div><hr/><h2>Function Documentation</h2>
     54 <a class="anchor" id="a5e6e493b9917336b0d9118fdd4e91444"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionAdd" ref="a5e6e493b9917336b0d9118fdd4e91444" args="(rs_quaternion *q, const rs_quaternion *rhs)" -->
     55 <div class="memitem">
     56 <div class="memproto">
     57       <table class="memname">
     58         <tr>
     59           <td class="memname">static void rsQuaternionAdd </td>
     60           <td>(</td>
     61           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
     62           <td class="paramname"><em>q</em>, </td>
     63         </tr>
     64         <tr>
     65           <td class="paramkey"></td>
     66           <td></td>
     67           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
     68           <td class="paramname"><em>rhs</em>&#160;</td>
     69         </tr>
     70         <tr>
     71           <td></td>
     72           <td>)</td>
     73           <td></td><td><code> [static]</code></td>
     74         </tr>
     75       </table>
     76 </div>
     77 <div class="memdoc">
     78 <p>Add two quaternions </p>
     79 <dl><dt><b>Parameters:</b></dt><dd>
     80   <table class="params">
     81     <tr><td class="paramname">q</td><td>destination quaternion to add to </td></tr>
     82     <tr><td class="paramname">rsh</td><td>right hand side quaternion to add </td></tr>
     83   </table>
     84   </dd>
     85 </dl>
     86 
     87 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00074">74</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
     88 
     89 </div>
     90 </div>
     91 <a class="anchor" id="acd670264e49743d35f38028b8e2a8800"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionConjugate" ref="acd670264e49743d35f38028b8e2a8800" args="(rs_quaternion *q)" -->
     92 <div class="memitem">
     93 <div class="memproto">
     94       <table class="memname">
     95         <tr>
     96           <td class="memname">static void rsQuaternionConjugate </td>
     97           <td>(</td>
     98           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
     99           <td class="paramname"><em>q</em></td><td>)</td>
    100           <td><code> [static]</code></td>
    101         </tr>
    102       </table>
    103 </div>
    104 <div class="memdoc">
    105 <p>Conjugates the quaternion </p>
    106 <dl><dt><b>Parameters:</b></dt><dd>
    107   <table class="params">
    108     <tr><td class="paramname">q</td><td>quaternion to conjugate </td></tr>
    109   </table>
    110   </dd>
    111 </dl>
    112 
    113 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00127">127</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    114 
    115 </div>
    116 </div>
    117 <a class="anchor" id="aa810f8857439564e7b3be771f47b40ca"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionDot" ref="aa810f8857439564e7b3be771f47b40ca" args="(const rs_quaternion *q0, const rs_quaternion *q1)" -->
    118 <div class="memitem">
    119 <div class="memproto">
    120       <table class="memname">
    121         <tr>
    122           <td class="memname">static float rsQuaternionDot </td>
    123           <td>(</td>
    124           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    125           <td class="paramname"><em>q0</em>, </td>
    126         </tr>
    127         <tr>
    128           <td class="paramkey"></td>
    129           <td></td>
    130           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    131           <td class="paramname"><em>q1</em>&#160;</td>
    132         </tr>
    133         <tr>
    134           <td></td>
    135           <td>)</td>
    136           <td></td><td><code> [static]</code></td>
    137         </tr>
    138       </table>
    139 </div>
    140 <div class="memdoc">
    141 <p>Dot product of two quaternions </p>
    142 <dl><dt><b>Parameters:</b></dt><dd>
    143   <table class="params">
    144     <tr><td class="paramname">q0</td><td>first quaternion </td></tr>
    145     <tr><td class="paramname">q1</td><td>second quaternion </td></tr>
    146   </table>
    147   </dd>
    148 </dl>
    149 <dl class="return"><dt><b>Returns:</b></dt><dd>dot product between q0 and q1 </dd></dl>
    150 
    151 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00140">140</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    152 
    153 </div>
    154 </div>
    155 <a class="anchor" id="a7726c524868c49892976fec53ea0693b"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionGetMatrixUnit" ref="a7726c524868c49892976fec53ea0693b" args="(rs_matrix4x4 *m, const rs_quaternion *q)" -->
    156 <div class="memitem">
    157 <div class="memproto">
    158       <table class="memname">
    159         <tr>
    160           <td class="memname">static void rsQuaternionGetMatrixUnit </td>
    161           <td>(</td>
    162           <td class="paramtype"><a class="el" href="structrs__matrix4x4.html">rs_matrix4x4</a> *&#160;</td>
    163           <td class="paramname"><em>m</em>, </td>
    164         </tr>
    165         <tr>
    166           <td class="paramkey"></td>
    167           <td></td>
    168           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    169           <td class="paramname"><em>q</em>&#160;</td>
    170         </tr>
    171         <tr>
    172           <td></td>
    173           <td>)</td>
    174           <td></td><td><code> [static]</code></td>
    175         </tr>
    176       </table>
    177 </div>
    178 <div class="memdoc">
    179 <p>Computes rotation matrix from the normalized quaternion </p>
    180 <dl><dt><b>Parameters:</b></dt><dd>
    181   <table class="params">
    182     <tr><td class="paramname">m</td><td>resulting matrix </td></tr>
    183     <tr><td class="paramname">p</td><td>normalized quaternion </td></tr>
    184   </table>
    185   </dd>
    186 </dl>
    187 
    188 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00228">228</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    189 
    190 </div>
    191 </div>
    192 <a class="anchor" id="adf4423c521e34f3cf29d5dd5b5a93de0"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionLoadRotate" ref="adf4423c521e34f3cf29d5dd5b5a93de0" args="(rs_quaternion *q, float rot, float x, float y, float z)" -->
    193 <div class="memitem">
    194 <div class="memproto">
    195       <table class="memname">
    196         <tr>
    197           <td class="memname">static void rsQuaternionLoadRotate </td>
    198           <td>(</td>
    199           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    200           <td class="paramname"><em>q</em>, </td>
    201         </tr>
    202         <tr>
    203           <td class="paramkey"></td>
    204           <td></td>
    205           <td class="paramtype">float&#160;</td>
    206           <td class="paramname"><em>rot</em>, </td>
    207         </tr>
    208         <tr>
    209           <td class="paramkey"></td>
    210           <td></td>
    211           <td class="paramtype">float&#160;</td>
    212           <td class="paramname"><em>x</em>, </td>
    213         </tr>
    214         <tr>
    215           <td class="paramkey"></td>
    216           <td></td>
    217           <td class="paramtype">float&#160;</td>
    218           <td class="paramname"><em>y</em>, </td>
    219         </tr>
    220         <tr>
    221           <td class="paramkey"></td>
    222           <td></td>
    223           <td class="paramtype">float&#160;</td>
    224           <td class="paramname"><em>z</em>&#160;</td>
    225         </tr>
    226         <tr>
    227           <td></td>
    228           <td>)</td>
    229           <td></td><td><code> [static]</code></td>
    230         </tr>
    231       </table>
    232 </div>
    233 <div class="memdoc">
    234 <p>Loads a quaternion that represents a rotation about an arbitrary vector (doesn't have to be unit) </p>
    235 <dl><dt><b>Parameters:</b></dt><dd>
    236   <table class="params">
    237     <tr><td class="paramname">q</td><td>quaternion to set </td></tr>
    238     <tr><td class="paramname">rot</td><td>angle to rotate by </td></tr>
    239     <tr><td class="paramname">x</td><td>component of a vector </td></tr>
    240     <tr><td class="paramname">y</td><td>component of a vector </td></tr>
    241     <tr><td class="paramname">x</td><td>component of a vector </td></tr>
    242   </table>
    243   </dd>
    244 </dl>
    245 
    246 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00111">111</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    247 
    248 </div>
    249 </div>
    250 <a class="anchor" id="aa72a43cf3d7b5924de1ddfaa5766db09"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionLoadRotateUnit" ref="aa72a43cf3d7b5924de1ddfaa5766db09" args="(rs_quaternion *q, float rot, float x, float y, float z)" -->
    251 <div class="memitem">
    252 <div class="memproto">
    253       <table class="memname">
    254         <tr>
    255           <td class="memname">static void rsQuaternionLoadRotateUnit </td>
    256           <td>(</td>
    257           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    258           <td class="paramname"><em>q</em>, </td>
    259         </tr>
    260         <tr>
    261           <td class="paramkey"></td>
    262           <td></td>
    263           <td class="paramtype">float&#160;</td>
    264           <td class="paramname"><em>rot</em>, </td>
    265         </tr>
    266         <tr>
    267           <td class="paramkey"></td>
    268           <td></td>
    269           <td class="paramtype">float&#160;</td>
    270           <td class="paramname"><em>x</em>, </td>
    271         </tr>
    272         <tr>
    273           <td class="paramkey"></td>
    274           <td></td>
    275           <td class="paramtype">float&#160;</td>
    276           <td class="paramname"><em>y</em>, </td>
    277         </tr>
    278         <tr>
    279           <td class="paramkey"></td>
    280           <td></td>
    281           <td class="paramtype">float&#160;</td>
    282           <td class="paramname"><em>z</em>&#160;</td>
    283         </tr>
    284         <tr>
    285           <td></td>
    286           <td>)</td>
    287           <td></td><td><code> [static]</code></td>
    288         </tr>
    289       </table>
    290 </div>
    291 <div class="memdoc">
    292 <p>Loads a quaternion that represents a rotation about an arbitrary unit vector </p>
    293 <dl><dt><b>Parameters:</b></dt><dd>
    294   <table class="params">
    295     <tr><td class="paramname">q</td><td>quaternion to set </td></tr>
    296     <tr><td class="paramname">rot</td><td>angle to rotate by </td></tr>
    297     <tr><td class="paramname">x</td><td>component of a vector </td></tr>
    298     <tr><td class="paramname">y</td><td>component of a vector </td></tr>
    299     <tr><td class="paramname">x</td><td>component of a vector </td></tr>
    300   </table>
    301   </dd>
    302 </dl>
    303 
    304 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00090">90</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    305 
    306 </div>
    307 </div>
    308 <a class="anchor" id="a4f3d214912facf72f6a6d57e95aa3c3b"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionMultiply" ref="a4f3d214912facf72f6a6d57e95aa3c3b" args="(rs_quaternion *q, float s)" -->
    309 <div class="memitem">
    310 <div class="memproto">
    311       <table class="memname">
    312         <tr>
    313           <td class="memname">static void rsQuaternionMultiply </td>
    314           <td>(</td>
    315           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    316           <td class="paramname"><em>q</em>, </td>
    317         </tr>
    318         <tr>
    319           <td class="paramkey"></td>
    320           <td></td>
    321           <td class="paramtype">float&#160;</td>
    322           <td class="paramname"><em>s</em>&#160;</td>
    323         </tr>
    324         <tr>
    325           <td></td>
    326           <td>)</td>
    327           <td></td><td><code> [static]</code></td>
    328         </tr>
    329       </table>
    330 </div>
    331 <div class="memdoc">
    332 <p>Multiply quaternion by a scalar </p>
    333 <dl><dt><b>Parameters:</b></dt><dd>
    334   <table class="params">
    335     <tr><td class="paramname">q</td><td>quaternion to multiply </td></tr>
    336     <tr><td class="paramname">s</td><td>scalar </td></tr>
    337   </table>
    338   </dd>
    339 </dl>
    340 
    341 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00061">61</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    342 
    343 </div>
    344 </div>
    345 <a class="anchor" id="a8bbbb286a2e2cb71b416c053f44844c3"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionMultiply" ref="a8bbbb286a2e2cb71b416c053f44844c3" args="(rs_quaternion *q, const rs_quaternion *rhs)" -->
    346 <div class="memitem">
    347 <div class="memproto">
    348       <table class="memname">
    349         <tr>
    350           <td class="memname">static void rsQuaternionMultiply </td>
    351           <td>(</td>
    352           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    353           <td class="paramname"><em>q</em>, </td>
    354         </tr>
    355         <tr>
    356           <td class="paramkey"></td>
    357           <td></td>
    358           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    359           <td class="paramname"><em>rhs</em>&#160;</td>
    360         </tr>
    361         <tr>
    362           <td></td>
    363           <td>)</td>
    364           <td></td><td><code> [static]</code></td>
    365         </tr>
    366       </table>
    367 </div>
    368 <div class="memdoc">
    369 <p>Multiply quaternion by another quaternion </p>
    370 <dl><dt><b>Parameters:</b></dt><dd>
    371   <table class="params">
    372     <tr><td class="paramname">q</td><td>destination quaternion </td></tr>
    373     <tr><td class="paramname">rhs</td><td>right hand side quaternion to multiply by </td></tr>
    374   </table>
    375   </dd>
    376 </dl>
    377 
    378 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00163">163</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    379 
    380 </div>
    381 </div>
    382 <a class="anchor" id="abb31aad2416044ad5bbf44ee7c838e2a"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionNormalize" ref="abb31aad2416044ad5bbf44ee7c838e2a" args="(rs_quaternion *q)" -->
    383 <div class="memitem">
    384 <div class="memproto">
    385       <table class="memname">
    386         <tr>
    387           <td class="memname">static void rsQuaternionNormalize </td>
    388           <td>(</td>
    389           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    390           <td class="paramname"><em>q</em></td><td>)</td>
    391           <td><code> [static]</code></td>
    392         </tr>
    393       </table>
    394 </div>
    395 <div class="memdoc">
    396 <p>Normalizes the quaternion </p>
    397 <dl><dt><b>Parameters:</b></dt><dd>
    398   <table class="params">
    399     <tr><td class="paramname">q</td><td>quaternion to normalize </td></tr>
    400   </table>
    401   </dd>
    402 </dl>
    403 
    404 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00149">149</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    405 
    406 </div>
    407 </div>
    408 <a class="anchor" id="a5ff868dbc33e710a666a102fdcc6670a"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionSet" ref="a5ff868dbc33e710a666a102fdcc6670a" args="(rs_quaternion *q, float w, float x, float y, float z)" -->
    409 <div class="memitem">
    410 <div class="memproto">
    411       <table class="memname">
    412         <tr>
    413           <td class="memname">static void rsQuaternionSet </td>
    414           <td>(</td>
    415           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    416           <td class="paramname"><em>q</em>, </td>
    417         </tr>
    418         <tr>
    419           <td class="paramkey"></td>
    420           <td></td>
    421           <td class="paramtype">float&#160;</td>
    422           <td class="paramname"><em>w</em>, </td>
    423         </tr>
    424         <tr>
    425           <td class="paramkey"></td>
    426           <td></td>
    427           <td class="paramtype">float&#160;</td>
    428           <td class="paramname"><em>x</em>, </td>
    429         </tr>
    430         <tr>
    431           <td class="paramkey"></td>
    432           <td></td>
    433           <td class="paramtype">float&#160;</td>
    434           <td class="paramname"><em>y</em>, </td>
    435         </tr>
    436         <tr>
    437           <td class="paramkey"></td>
    438           <td></td>
    439           <td class="paramtype">float&#160;</td>
    440           <td class="paramname"><em>z</em>&#160;</td>
    441         </tr>
    442         <tr>
    443           <td></td>
    444           <td>)</td>
    445           <td></td><td><code> [static]</code></td>
    446         </tr>
    447       </table>
    448 </div>
    449 <div class="memdoc">
    450 <p>Set the quaternion components </p>
    451 <dl><dt><b>Parameters:</b></dt><dd>
    452   <table class="params">
    453     <tr><td class="paramname">w</td><td>component </td></tr>
    454     <tr><td class="paramname">x</td><td>component </td></tr>
    455     <tr><td class="paramname">y</td><td>component </td></tr>
    456     <tr><td class="paramname">z</td><td>component </td></tr>
    457   </table>
    458   </dd>
    459 </dl>
    460 
    461 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00035">35</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    462 
    463 </div>
    464 </div>
    465 <a class="anchor" id="a249782133e54f13a8096d1fbe295714d"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionSet" ref="a249782133e54f13a8096d1fbe295714d" args="(rs_quaternion *q, const rs_quaternion *rhs)" -->
    466 <div class="memitem">
    467 <div class="memproto">
    468       <table class="memname">
    469         <tr>
    470           <td class="memname">static void rsQuaternionSet </td>
    471           <td>(</td>
    472           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    473           <td class="paramname"><em>q</em>, </td>
    474         </tr>
    475         <tr>
    476           <td class="paramkey"></td>
    477           <td></td>
    478           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    479           <td class="paramname"><em>rhs</em>&#160;</td>
    480         </tr>
    481         <tr>
    482           <td></td>
    483           <td>)</td>
    484           <td></td><td><code> [static]</code></td>
    485         </tr>
    486       </table>
    487 </div>
    488 <div class="memdoc">
    489 <p>Set the quaternion from another quaternion </p>
    490 <dl><dt><b>Parameters:</b></dt><dd>
    491   <table class="params">
    492     <tr><td class="paramname">q</td><td>destination quaternion </td></tr>
    493     <tr><td class="paramname">rhs</td><td>source quaternion </td></tr>
    494   </table>
    495   </dd>
    496 </dl>
    497 
    498 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00048">48</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    499 
    500 </div>
    501 </div>
    502 <a class="anchor" id="a7da94a30e287cbb8148771a5cd768dbd"></a><!-- doxytag: member="rs_quaternion.rsh::rsQuaternionSlerp" ref="a7da94a30e287cbb8148771a5cd768dbd" args="(rs_quaternion *q, const rs_quaternion *q0, const rs_quaternion *q1, float t)" -->
    503 <div class="memitem">
    504 <div class="memproto">
    505       <table class="memname">
    506         <tr>
    507           <td class="memname">static void rsQuaternionSlerp </td>
    508           <td>(</td>
    509           <td class="paramtype"><a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    510           <td class="paramname"><em>q</em>, </td>
    511         </tr>
    512         <tr>
    513           <td class="paramkey"></td>
    514           <td></td>
    515           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    516           <td class="paramname"><em>q0</em>, </td>
    517         </tr>
    518         <tr>
    519           <td class="paramkey"></td>
    520           <td></td>
    521           <td class="paramtype">const <a class="el" href="rs__types_8rsh.html#a86f99f382dc35fc8ad98b524fe6d5447">rs_quaternion</a> *&#160;</td>
    522           <td class="paramname"><em>q1</em>, </td>
    523         </tr>
    524         <tr>
    525           <td class="paramkey"></td>
    526           <td></td>
    527           <td class="paramtype">float&#160;</td>
    528           <td class="paramname"><em>t</em>&#160;</td>
    529         </tr>
    530         <tr>
    531           <td></td>
    532           <td>)</td>
    533           <td></td><td><code> [static]</code></td>
    534         </tr>
    535       </table>
    536 </div>
    537 <div class="memdoc">
    538 <p>Performs spherical linear interpolation between two quaternions </p>
    539 <dl><dt><b>Parameters:</b></dt><dd>
    540   <table class="params">
    541     <tr><td class="paramname">q</td><td>result quaternion from interpolation </td></tr>
    542     <tr><td class="paramname">q0</td><td>first param </td></tr>
    543     <tr><td class="paramname">q1</td><td>second param </td></tr>
    544     <tr><td class="paramname">t</td><td>how much to interpolate by </td></tr>
    545   </table>
    546   </dd>
    547 </dl>
    548 
    549 <p>Definition at line <a class="el" href="rs__quaternion_8rsh_source.html#l00182">182</a> of file <a class="el" href="rs__quaternion_8rsh_source.html">rs_quaternion.rsh</a>.</p>
    550 
    551 </div>
    552 </div>
    553 </div>
    554 
    555 </body>
    556 </html>
    557