diff options
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.xml | 220 |
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 <g3d/quat.h> | ||
23 | |||
24 | typedef <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> | ||
71 | Quaternion 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> | ||
81 | Add two quats.</para> | ||
82 | <para> | ||
83 | |||
84 | </para><variablelist role="params"> | ||
85 | <varlistentry><term><parameter>qr</parameter> :</term> | ||
86 | <listitem><simpara> result quat | ||
87 | </simpara></listitem></varlistentry> | ||
88 | <varlistentry><term><parameter>q1</parameter> :</term> | ||
89 | <listitem><simpara> first quat | ||
90 | </simpara></listitem></varlistentry> | ||
91 | <varlistentry><term><parameter>q2</parameter> :</term> | ||
92 | <listitem><simpara> second quat | ||
93 | </simpara></listitem></varlistentry> | ||
94 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
101 | normalize the quaternion to a length of 1.0.</para> | ||
102 | <para> | ||
103 | |||
104 | </para><variablelist role="params"> | ||
105 | <varlistentry><term><parameter>q</parameter> :</term> | ||
106 | <listitem><simpara> a quaternion | ||
107 | </simpara></listitem></varlistentry> | ||
108 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
117 | Encode a rotation around an axis into quaternion.</para> | ||
118 | <para> | ||
119 | |||
120 | </para><variablelist role="params"> | ||
121 | <varlistentry><term><parameter>q</parameter> :</term> | ||
122 | <listitem><simpara> resulting quat | ||
123 | </simpara></listitem></varlistentry> | ||
124 | <varlistentry><term><parameter>axis</parameter> :</term> | ||
125 | <listitem><simpara> rotation axis | ||
126 | </simpara></listitem></varlistentry> | ||
127 | <varlistentry><term><parameter>angle</parameter> :</term> | ||
128 | <listitem><simpara> rotation angle | ||
129 | </simpara></listitem></varlistentry> | ||
130 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
138 | Convert a quaternion to a transformation matrix.</para> | ||
139 | <para> | ||
140 | |||
141 | </para><variablelist role="params"> | ||
142 | <varlistentry><term><parameter>q</parameter> :</term> | ||
143 | <listitem><simpara> source quat | ||
144 | </simpara></listitem></varlistentry> | ||
145 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
146 | <listitem><simpara> resulting matrix | ||
147 | </simpara></listitem></varlistentry> | ||
148 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
158 | Calculate the rotation around the three coordinate axes from a given | ||
159 | quaternion.</para> | ||
160 | <para> | ||
161 | |||
162 | </para><variablelist role="params"> | ||
163 | <varlistentry><term><parameter>q</parameter> :</term> | ||
164 | <listitem><simpara> a quaternion | ||
165 | </simpara></listitem></varlistentry> | ||
166 | <varlistentry><term><parameter>rx</parameter> :</term> | ||
167 | <listitem><simpara> rotation around x axis | ||
168 | </simpara></listitem></varlistentry> | ||
169 | <varlistentry><term><parameter>ry</parameter> :</term> | ||
170 | <listitem><simpara> rotation around y axis | ||
171 | </simpara></listitem></varlistentry> | ||
172 | <varlistentry><term><parameter>rz</parameter> :</term> | ||
173 | <listitem><simpara> rotation around z axis | ||
174 | </simpara></listitem></varlistentry> | ||
175 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
187 | Emulate a virtual trackball movement and return rotation as quaternion. | ||
188 | The x and y values of the starting and end point of the movement have | ||
189 | to be in the range -1.0 .. 1.0.</para> | ||
190 | <para> | ||
191 | |||
192 | </para><variablelist role="params"> | ||
193 | <varlistentry><term><parameter>q</parameter> :</term> | ||
194 | <listitem><simpara> resulting quaternion | ||
195 | </simpara></listitem></varlistentry> | ||
196 | <varlistentry><term><parameter>x1</parameter> :</term> | ||
197 | <listitem><simpara> x value of first point | ||
198 | </simpara></listitem></varlistentry> | ||
199 | <varlistentry><term><parameter>y1</parameter> :</term> | ||
200 | <listitem><simpara> y value of first point | ||
201 | </simpara></listitem></varlistentry> | ||
202 | <varlistentry><term><parameter>x2</parameter> :</term> | ||
203 | <listitem><simpara> x value of second point | ||
204 | </simpara></listitem></varlistentry> | ||
205 | <varlistentry><term><parameter>y2</parameter> :</term> | ||
206 | <listitem><simpara> y value of second point | ||
207 | </simpara></listitem></varlistentry> | ||
208 | <varlistentry><term><parameter>r</parameter> :</term> | ||
209 | <listitem><simpara> radius of virtual trackball, usually 0.8 | ||
210 | </simpara></listitem></varlistentry> | ||
211 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
212 | </simpara></listitem></varlistentry> | ||
213 | </variablelist></refsect2> | ||
214 | |||
215 | </refsect1> | ||
216 | |||
217 | |||
218 | |||
219 | |||
220 | </refentry> | ||