aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml220
1 files changed, 220 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml
new file mode 100644
index 0000000..efb65d4
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml
@@ -0,0 +1,220 @@
1<?xml version="1.0"?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4<refentry id="libg3d-quat">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-quat.top_of_page">quat</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>quat</refname>
13<refpurpose>quaternion helpers</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-quat.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/quat.h&gt;
23
24typedef <link linkend="G3DQuat">G3DQuat</link>;
25<link linkend="gboolean">gboolean</link> <link linkend="g3d-quat-add">g3d_quat_add</link> (<link linkend="G3DQuat">G3DQuat</link> *qr,
26 <link linkend="G3DQuat">G3DQuat</link> *q1,
27 <link linkend="G3DQuat">G3DQuat</link> *q2);
28<link linkend="gboolean">gboolean</link> <link linkend="g3d-quat-normalize">g3d_quat_normalize</link> (<link linkend="G3DQuat">G3DQuat</link> *q);
29<link linkend="gboolean">gboolean</link> <link linkend="g3d-quat-rotate">g3d_quat_rotate</link> (<link linkend="G3DQuat">G3DQuat</link> *q,
30 <link linkend="G3DVector">G3DVector</link> *axis,
31 <link linkend="G3DFloat">G3DFloat</link> angle);
32<link linkend="gboolean">gboolean</link> <link linkend="g3d-quat-to-matrix">g3d_quat_to_matrix</link> (<link linkend="G3DQuat">G3DQuat</link> *q,
33 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);
34<link linkend="gboolean">gboolean</link> <link linkend="g3d-quat-to-rotation-xyz">g3d_quat_to_rotation_xyz</link> (<link linkend="G3DQuat">G3DQuat</link> *q,
35 <link linkend="G3DFloat">G3DFloat</link> *rx,
36 <link linkend="G3DFloat">G3DFloat</link> *ry,
37 <link linkend="G3DFloat">G3DFloat</link> *rz);
38<link linkend="gboolean">gboolean</link> <link linkend="g3d-quat-trackball">g3d_quat_trackball</link> (<link linkend="G3DQuat">G3DQuat</link> *q,
39 <link linkend="G3DFloat">G3DFloat</link> x1,
40 <link linkend="G3DFloat">G3DFloat</link> y1,
41 <link linkend="G3DFloat">G3DFloat</link> x2,
42 <link linkend="G3DFloat">G3DFloat</link> y2,
43 <link linkend="G3DFloat">G3DFloat</link> r);
44</synopsis>
45</refsynopsisdiv>
46
47
48
49
50
51
52
53
54
55<refsect1 id="libg3d-quat.description" role="desc">
56<title role="desc.title">Description</title>
57<para>
58</para>
59<para>
60
61</para>
62</refsect1>
63
64<refsect1 id="libg3d-quat.details" role="details">
65<title role="details.title">Details</title>
66<refsect2 id="G3DQuat" role="typedef">
67<title>G3DQuat</title>
68<indexterm zone="G3DQuat"><primary>G3DQuat</primary></indexterm><programlisting>typedef G3DFloat G3DQuat;
69</programlisting>
70<para>
71Quaternion element type.</para>
72<para>
73
74</para></refsect2>
75<refsect2 id="g3d-quat-add" role="function">
76<title>g3d_quat_add ()</title>
77<indexterm zone="g3d-quat-add"><primary>g3d_quat_add</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_quat_add (<link linkend="G3DQuat">G3DQuat</link> *qr,
78 <link linkend="G3DQuat">G3DQuat</link> *q1,
79 <link linkend="G3DQuat">G3DQuat</link> *q2);</programlisting>
80<para>
81Add two quats.</para>
82<para>
83
84</para><variablelist role="params">
85<varlistentry><term><parameter>qr</parameter>&nbsp;:</term>
86<listitem><simpara> result quat
87</simpara></listitem></varlistentry>
88<varlistentry><term><parameter>q1</parameter>&nbsp;:</term>
89<listitem><simpara> first quat
90</simpara></listitem></varlistentry>
91<varlistentry><term><parameter>q2</parameter>&nbsp;:</term>
92<listitem><simpara> second quat
93</simpara></listitem></varlistentry>
94<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
95</simpara></listitem></varlistentry>
96</variablelist></refsect2>
97<refsect2 id="g3d-quat-normalize" role="function">
98<title>g3d_quat_normalize ()</title>
99<indexterm zone="g3d-quat-normalize"><primary>g3d_quat_normalize</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_quat_normalize (<link linkend="G3DQuat">G3DQuat</link> *q);</programlisting>
100<para>
101normalize the quaternion to a length of 1.0.</para>
102<para>
103
104</para><variablelist role="params">
105<varlistentry><term><parameter>q</parameter>&nbsp;:</term>
106<listitem><simpara> a quaternion
107</simpara></listitem></varlistentry>
108<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
109</simpara></listitem></varlistentry>
110</variablelist></refsect2>
111<refsect2 id="g3d-quat-rotate" role="function">
112<title>g3d_quat_rotate ()</title>
113<indexterm zone="g3d-quat-rotate"><primary>g3d_quat_rotate</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_quat_rotate (<link linkend="G3DQuat">G3DQuat</link> *q,
114 <link linkend="G3DVector">G3DVector</link> *axis,
115 <link linkend="G3DFloat">G3DFloat</link> angle);</programlisting>
116<para>
117Encode a rotation around an axis into quaternion.</para>
118<para>
119
120</para><variablelist role="params">
121<varlistentry><term><parameter>q</parameter>&nbsp;:</term>
122<listitem><simpara> resulting quat
123</simpara></listitem></varlistentry>
124<varlistentry><term><parameter>axis</parameter>&nbsp;:</term>
125<listitem><simpara> rotation axis
126</simpara></listitem></varlistentry>
127<varlistentry><term><parameter>angle</parameter>&nbsp;:</term>
128<listitem><simpara> rotation angle
129</simpara></listitem></varlistentry>
130<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
131</simpara></listitem></varlistentry>
132</variablelist></refsect2>
133<refsect2 id="g3d-quat-to-matrix" role="function">
134<title>g3d_quat_to_matrix ()</title>
135<indexterm zone="g3d-quat-to-matrix"><primary>g3d_quat_to_matrix</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_quat_to_matrix (<link linkend="G3DQuat">G3DQuat</link> *q,
136 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting>
137<para>
138Convert a quaternion to a transformation matrix.</para>
139<para>
140
141</para><variablelist role="params">
142<varlistentry><term><parameter>q</parameter>&nbsp;:</term>
143<listitem><simpara> source quat
144</simpara></listitem></varlistentry>
145<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
146<listitem><simpara> resulting matrix
147</simpara></listitem></varlistentry>
148<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
149</simpara></listitem></varlistentry>
150</variablelist></refsect2>
151<refsect2 id="g3d-quat-to-rotation-xyz" role="function">
152<title>g3d_quat_to_rotation_xyz ()</title>
153<indexterm zone="g3d-quat-to-rotation-xyz"><primary>g3d_quat_to_rotation_xyz</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_quat_to_rotation_xyz (<link linkend="G3DQuat">G3DQuat</link> *q,
154 <link linkend="G3DFloat">G3DFloat</link> *rx,
155 <link linkend="G3DFloat">G3DFloat</link> *ry,
156 <link linkend="G3DFloat">G3DFloat</link> *rz);</programlisting>
157<para>
158Calculate the rotation around the three coordinate axes from a given
159quaternion.</para>
160<para>
161
162</para><variablelist role="params">
163<varlistentry><term><parameter>q</parameter>&nbsp;:</term>
164<listitem><simpara> a quaternion
165</simpara></listitem></varlistentry>
166<varlistentry><term><parameter>rx</parameter>&nbsp;:</term>
167<listitem><simpara> rotation around x axis
168</simpara></listitem></varlistentry>
169<varlistentry><term><parameter>ry</parameter>&nbsp;:</term>
170<listitem><simpara> rotation around y axis
171</simpara></listitem></varlistentry>
172<varlistentry><term><parameter>rz</parameter>&nbsp;:</term>
173<listitem><simpara> rotation around z axis
174</simpara></listitem></varlistentry>
175<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
176</simpara></listitem></varlistentry>
177</variablelist></refsect2>
178<refsect2 id="g3d-quat-trackball" role="function">
179<title>g3d_quat_trackball ()</title>
180<indexterm zone="g3d-quat-trackball"><primary>g3d_quat_trackball</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_quat_trackball (<link linkend="G3DQuat">G3DQuat</link> *q,
181 <link linkend="G3DFloat">G3DFloat</link> x1,
182 <link linkend="G3DFloat">G3DFloat</link> y1,
183 <link linkend="G3DFloat">G3DFloat</link> x2,
184 <link linkend="G3DFloat">G3DFloat</link> y2,
185 <link linkend="G3DFloat">G3DFloat</link> r);</programlisting>
186<para>
187Emulate a virtual trackball movement and return rotation as quaternion.
188The x and y values of the starting and end point of the movement have
189to be in the range -1.0 .. 1.0.</para>
190<para>
191
192</para><variablelist role="params">
193<varlistentry><term><parameter>q</parameter>&nbsp;:</term>
194<listitem><simpara> resulting quaternion
195</simpara></listitem></varlistentry>
196<varlistentry><term><parameter>x1</parameter>&nbsp;:</term>
197<listitem><simpara> x value of first point
198</simpara></listitem></varlistentry>
199<varlistentry><term><parameter>y1</parameter>&nbsp;:</term>
200<listitem><simpara> y value of first point
201</simpara></listitem></varlistentry>
202<varlistentry><term><parameter>x2</parameter>&nbsp;:</term>
203<listitem><simpara> x value of second point
204</simpara></listitem></varlistentry>
205<varlistentry><term><parameter>y2</parameter>&nbsp;:</term>
206<listitem><simpara> y value of second point
207</simpara></listitem></varlistentry>
208<varlistentry><term><parameter>r</parameter>&nbsp;:</term>
209<listitem><simpara> radius of virtual trackball, usually 0.8
210</simpara></listitem></varlistentry>
211<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
212</simpara></listitem></varlistentry>
213</variablelist></refsect2>
214
215</refsect1>
216
217
218
219
220</refentry>