summaryrefslogtreecommitdiffstats
path: root/docs/html/guide/topics/renderscript/reference/rs_quaternion.jd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/guide/topics/renderscript/reference/rs_quaternion.jd')
-rw-r--r--docs/html/guide/topics/renderscript/reference/rs_quaternion.jd387
1 files changed, 387 insertions, 0 deletions
diff --git a/docs/html/guide/topics/renderscript/reference/rs_quaternion.jd b/docs/html/guide/topics/renderscript/reference/rs_quaternion.jd
new file mode 100644
index 0000000..020f1ad
--- /dev/null
+++ b/docs/html/guide/topics/renderscript/reference/rs_quaternion.jd
@@ -0,0 +1,387 @@
+page.title=RenderScript Quaternion Functions
+
+@jd:body
+
+<div class='renderscript'>
+<h2>Overview</h2>
+<p> The following functions manipulate quaternions.
+</p>
+<h2>Summary</h2>
+<table class='jd-sumtable'><tbody>
+ <tr><th colspan='2'>Functions</th></tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionAdd'>rsQuaternionAdd</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Add two quaternions
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionConjugate'>rsQuaternionConjugate</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Conjugate a quaternion
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionDot'>rsQuaternionDot</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Dot product of two quaternions
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionGetMatrixUnit'>rsQuaternionGetMatrixUnit</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Get a rotation matrix from a quaternion
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionLoadRotate'>rsQuaternionLoadRotate</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Create a rotation quaternion
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionLoadRotateUnit'>rsQuaternionLoadRotateUnit</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Quaternion that represents a rotation about an arbitrary unit vector
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionMultiply'>rsQuaternionMultiply</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Multiply a quaternion by a scalar or another quaternion
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionNormalize'>rsQuaternionNormalize</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Normalize a quaternion
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionSet'>rsQuaternionSet</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Create a quaternion
+ </td>
+ </tr>
+ <tr class='alt-color api apilevel-1'>
+ <td class='jd-linkcol'>
+ <a href='rs_quaternion.html#android_rs:rsQuaternionSlerp'>rsQuaternionSlerp</a>
+ </td>
+ <td class='jd-descrcol' width='100%'>
+ Spherical linear interpolation between two quaternions
+ </td>
+ </tr>
+</tbody></table>
+<h2>Functions</h2>
+<a name='android_rs:rsQuaternionAdd'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionAdd</span>
+ <span class='normal'>: Add two quaternions</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionAdd(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* rhs);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Destination quaternion to add to.</td></tr>
+ <tr><th>rhs</th><td>Quaternion to add.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Adds two quaternions, i.e. <code>*q += *rhs;</code>
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionConjugate'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionConjugate</span>
+ <span class='normal'>: Conjugate a quaternion</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionConjugate(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Quaternion to modify.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Conjugates the quaternion.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionDot'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionDot</span>
+ <span class='normal'>: Dot product of two quaternions</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>float rsQuaternionDot(const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q0, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q1);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q0</th><td>First quaternion.</td></tr>
+ <tr><th>q1</th><td>Second quaternion.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Returns the dot product of two quaternions.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionGetMatrixUnit'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionGetMatrixUnit</span>
+ <span class='normal'>: Get a rotation matrix from a quaternion</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionGetMatrixUnit(<a href='rs_value_types.html#android_rs:rs_matrix4x4'>rs_matrix4x4</a>* m, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>m</th><td>Resulting matrix.</td></tr>
+ <tr><th>q</th><td>Normalized quaternion.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Computes a rotation matrix from the normalized quaternion.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionLoadRotate'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionLoadRotate</span>
+ <span class='normal'>: Create a rotation quaternion</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionLoadRotate(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, float rot, float x, float y, float z);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Destination quaternion.</td></tr>
+ <tr><th>rot</th><td>Angle to rotate by.</td></tr>
+ <tr><th>x</th><td>X component of a vector.</td></tr>
+ <tr><th>y</th><td>Y component of a vector.</td></tr>
+ <tr><th>z</th><td>Z component of a vector.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Loads a quaternion that represents a rotation about an arbitrary vector
+(doesn't have to be unit)
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionLoadRotateUnit'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionLoadRotateUnit</span>
+ <span class='normal'>: Quaternion that represents a rotation about an arbitrary unit vector</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionLoadRotateUnit(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, float rot, float x, float y, float z);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Destination quaternion.</td></tr>
+ <tr><th>rot</th><td>Angle to rotate by, in radians.</td></tr>
+ <tr><th>x</th><td>X component of the vector.</td></tr>
+ <tr><th>y</th><td>Y component of the vector.</td></tr>
+ <tr><th>z</th><td>Z component of the vector.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Loads a quaternion that represents a rotation about an arbitrary unit vector.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionMultiply'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionMultiply</span>
+ <span class='normal'>: Multiply a quaternion by a scalar or another quaternion</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionMultiply(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* rhs);
+</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>void rsQuaternionMultiply(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, float scalar);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Destination quaternion.</td></tr>
+ <tr><th>scalar</th><td>Scalar to multiply the quaternion by.</td></tr>
+ <tr><th>rhs</th><td>Quaternion to multiply the destination quaternion by.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Multiplies a quaternion by a scalar or by another quaternion, e.g
+<code>*q = *q * scalar;</code> or <code>*q = *q * *rhs;</code>.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionNormalize'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionNormalize</span>
+ <span class='normal'>: Normalize a quaternion</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionNormalize(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Quaternion to normalize.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Normalizes the quaternion.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionSet'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionSet</span>
+ <span class='normal'>: Create a quaternion</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionSet(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* rhs);
+</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>void rsQuaternionSet(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, float w, float x, float y, float z);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Destination quaternion.</td></tr>
+ <tr><th>w</th><td>W component.</td></tr>
+ <tr><th>x</th><td>X component.</td></tr>
+ <tr><th>y</th><td>Y component.</td></tr>
+ <tr><th>z</th><td>Z component.</td></tr>
+ <tr><th>rhs</th><td>Source quaternion.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Creates a quaternion from its four components or from another quaternion.
+</p>
+ </div>
+</div>
+
+<a name='android_rs:rsQuaternionSlerp'></a>
+<div class='jd-details'>
+ <h4 class='jd-details-title'>
+ <span class='sympad'>rsQuaternionSlerp</span>
+ <span class='normal'>: Spherical linear interpolation between two quaternions</span>
+ </h4>
+ <div class='jd-details-descr'>
+ <table class='jd-tagtable'><tbody>
+ <tr>
+ <td>void rsQuaternionSlerp(<a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q0, const <a href='rs_value_types.html#android_rs:rs_quaternion'>rs_quaternion</a>* q1, float t);
+</td>
+ <td> </td>
+ </tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata'> <h5 class='jd-tagtitle'>Parameters</h5>
+ <table class='jd-tagtable'><tbody>
+ <tr><th>q</th><td>Result quaternion from the interpolation.</td></tr>
+ <tr><th>q0</th><td>First input quaternion.</td></tr>
+ <tr><th>q1</th><td>Second input quaternion.</td></tr>
+ <tr><th>t</th><td>How much to interpolate by.</td></tr>
+ </tbody></table>
+ </div>
+ <div class='jd-tagdata jd-tagdescr'>
+<p> Performs spherical linear interpolation between two quaternions.
+</p>
+ </div>
+</div>
+
+</div>