diff options
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml')
-rw-r--r-- | src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml new file mode 100644 index 0000000..be65522 --- /dev/null +++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml | |||
@@ -0,0 +1,278 @@ | |||
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-matrix"> | ||
5 | <refmeta> | ||
6 | <refentrytitle role="top_of_page" id="libg3d-matrix.top_of_page">matrix</refentrytitle> | ||
7 | <manvolnum>3</manvolnum> | ||
8 | <refmiscinfo>LIBG3D Library</refmiscinfo> | ||
9 | </refmeta> | ||
10 | |||
11 | <refnamediv> | ||
12 | <refname>matrix</refname> | ||
13 | <refpurpose>Matrix manipulation and calculation</refpurpose> | ||
14 | <!--[<xref linkend="desc" endterm="desc.title"/>]--> | ||
15 | </refnamediv> | ||
16 | |||
17 | <refsynopsisdiv id="libg3d-matrix.synopsis" role="synopsis"> | ||
18 | <title role="synopsis.title">Synopsis</title> | ||
19 | |||
20 | <synopsis> | ||
21 | |||
22 | #include <g3d/matrix.h> | ||
23 | |||
24 | typedef <link linkend="G3DMatrix">G3DMatrix</link>; | ||
25 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-identity">g3d_matrix_identity</link> (<link linkend="G3DMatrix">G3DMatrix</link> *matrix); | ||
26 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-multiply">g3d_matrix_multiply</link> (<link linkend="G3DMatrix">G3DMatrix</link> *m1, | ||
27 | <link linkend="G3DMatrix">G3DMatrix</link> *m2, | ||
28 | <link linkend="G3DMatrix">G3DMatrix</link> *rm); | ||
29 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-translate">g3d_matrix_translate</link> (<link linkend="G3DFloat">G3DFloat</link> x, | ||
30 | <link linkend="G3DFloat">G3DFloat</link> y, | ||
31 | <link linkend="G3DFloat">G3DFloat</link> z, | ||
32 | <link linkend="G3DMatrix">G3DMatrix</link> *rm); | ||
33 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-rotate">g3d_matrix_rotate</link> (<link linkend="G3DFloat">G3DFloat</link> angle, | ||
34 | <link linkend="G3DFloat">G3DFloat</link> ax, | ||
35 | <link linkend="G3DFloat">G3DFloat</link> ay, | ||
36 | <link linkend="G3DFloat">G3DFloat</link> az, | ||
37 | <link linkend="G3DMatrix">G3DMatrix</link> *rm); | ||
38 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-rotate-xyz">g3d_matrix_rotate_xyz</link> (<link linkend="G3DFloat">G3DFloat</link> rx, | ||
39 | <link linkend="G3DFloat">G3DFloat</link> ry, | ||
40 | <link linkend="G3DFloat">G3DFloat</link> rz, | ||
41 | <link linkend="G3DMatrix">G3DMatrix</link> *rm); | ||
42 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-scale">g3d_matrix_scale</link> (<link linkend="G3DFloat">G3DFloat</link> x, | ||
43 | <link linkend="G3DFloat">G3DFloat</link> y, | ||
44 | <link linkend="G3DFloat">G3DFloat</link> z, | ||
45 | <link linkend="G3DMatrix">G3DMatrix</link> *rm); | ||
46 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-transpose">g3d_matrix_transpose</link> (<link linkend="G3DMatrix">G3DMatrix</link> *matrix); | ||
47 | <link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-matrix-determinant">g3d_matrix_determinant</link> (<link linkend="G3DMatrix">G3DMatrix</link> *matrix); | ||
48 | <link linkend="gboolean">gboolean</link> <link linkend="g3d-matrix-dump">g3d_matrix_dump</link> (<link linkend="G3DMatrix">G3DMatrix</link> *matrix); | ||
49 | </synopsis> | ||
50 | </refsynopsisdiv> | ||
51 | |||
52 | |||
53 | |||
54 | |||
55 | |||
56 | |||
57 | |||
58 | |||
59 | |||
60 | <refsect1 id="libg3d-matrix.description" role="desc"> | ||
61 | <title role="desc.title">Description</title> | ||
62 | <para> | ||
63 | Matrices in libg3d have the following layout: | ||
64 | </para> | ||
65 | <para> | ||
66 | G3DMatrix matrix[16]: | ||
67 | </para> | ||
68 | <para> | ||
69 | matrix[col * 4 + row] = f;</para> | ||
70 | <para> | ||
71 | |||
72 | </para> | ||
73 | </refsect1> | ||
74 | |||
75 | <refsect1 id="libg3d-matrix.details" role="details"> | ||
76 | <title role="details.title">Details</title> | ||
77 | <refsect2 id="G3DMatrix" role="typedef"> | ||
78 | <title>G3DMatrix</title> | ||
79 | <indexterm zone="G3DMatrix"><primary>G3DMatrix</primary></indexterm><programlisting>typedef G3DFloat G3DMatrix; | ||
80 | </programlisting> | ||
81 | <para> | ||
82 | Matrix element type.</para> | ||
83 | <para> | ||
84 | |||
85 | </para></refsect2> | ||
86 | <refsect2 id="g3d-matrix-identity" role="function"> | ||
87 | <title>g3d_matrix_identity ()</title> | ||
88 | <indexterm zone="g3d-matrix-identity"><primary>g3d_matrix_identity</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_identity (<link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting> | ||
89 | <para> | ||
90 | Sets the given matrix to the identity matrix.</para> | ||
91 | <para> | ||
92 | |||
93 | </para><variablelist role="params"> | ||
94 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
95 | <listitem><simpara> 4x4 matrix (float[16]) | ||
96 | </simpara></listitem></varlistentry> | ||
97 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
98 | </simpara></listitem></varlistentry> | ||
99 | </variablelist></refsect2> | ||
100 | <refsect2 id="g3d-matrix-multiply" role="function"> | ||
101 | <title>g3d_matrix_multiply ()</title> | ||
102 | <indexterm zone="g3d-matrix-multiply"><primary>g3d_matrix_multiply</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_multiply (<link linkend="G3DMatrix">G3DMatrix</link> *m1, | ||
103 | <link linkend="G3DMatrix">G3DMatrix</link> *m2, | ||
104 | <link linkend="G3DMatrix">G3DMatrix</link> *rm);</programlisting> | ||
105 | <para> | ||
106 | Multiplies the matrixes.</para> | ||
107 | <para> | ||
108 | |||
109 | </para><variablelist role="params"> | ||
110 | <varlistentry><term><parameter>m1</parameter> :</term> | ||
111 | <listitem><simpara> first matrix | ||
112 | </simpara></listitem></varlistentry> | ||
113 | <varlistentry><term><parameter>m2</parameter> :</term> | ||
114 | <listitem><simpara> second matrix | ||
115 | </simpara></listitem></varlistentry> | ||
116 | <varlistentry><term><parameter>rm</parameter> :</term> | ||
117 | <listitem><simpara> resulting matrix | ||
118 | </simpara></listitem></varlistentry> | ||
119 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
120 | </simpara></listitem></varlistentry> | ||
121 | </variablelist></refsect2> | ||
122 | <refsect2 id="g3d-matrix-translate" role="function"> | ||
123 | <title>g3d_matrix_translate ()</title> | ||
124 | <indexterm zone="g3d-matrix-translate"><primary>g3d_matrix_translate</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_translate (<link linkend="G3DFloat">G3DFloat</link> x, | ||
125 | <link linkend="G3DFloat">G3DFloat</link> y, | ||
126 | <link linkend="G3DFloat">G3DFloat</link> z, | ||
127 | <link linkend="G3DMatrix">G3DMatrix</link> *rm);</programlisting> | ||
128 | <para> | ||
129 | Adds a translation to the the matrix.</para> | ||
130 | <para> | ||
131 | |||
132 | </para><variablelist role="params"> | ||
133 | <varlistentry><term><parameter>x</parameter> :</term> | ||
134 | <listitem><simpara> x translation | ||
135 | </simpara></listitem></varlistentry> | ||
136 | <varlistentry><term><parameter>y</parameter> :</term> | ||
137 | <listitem><simpara> y translation | ||
138 | </simpara></listitem></varlistentry> | ||
139 | <varlistentry><term><parameter>z</parameter> :</term> | ||
140 | <listitem><simpara> z translation | ||
141 | </simpara></listitem></varlistentry> | ||
142 | <varlistentry><term><parameter>rm</parameter> :</term> | ||
143 | <listitem><simpara> resulting matrix | ||
144 | </simpara></listitem></varlistentry> | ||
145 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
146 | </simpara></listitem></varlistentry> | ||
147 | </variablelist></refsect2> | ||
148 | <refsect2 id="g3d-matrix-rotate" role="function"> | ||
149 | <title>g3d_matrix_rotate ()</title> | ||
150 | <indexterm zone="g3d-matrix-rotate"><primary>g3d_matrix_rotate</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_rotate (<link linkend="G3DFloat">G3DFloat</link> angle, | ||
151 | <link linkend="G3DFloat">G3DFloat</link> ax, | ||
152 | <link linkend="G3DFloat">G3DFloat</link> ay, | ||
153 | <link linkend="G3DFloat">G3DFloat</link> az, | ||
154 | <link linkend="G3DMatrix">G3DMatrix</link> *rm);</programlisting> | ||
155 | <para> | ||
156 | Adds a rotation to the matrix.</para> | ||
157 | <para> | ||
158 | |||
159 | </para><variablelist role="params"> | ||
160 | <varlistentry><term><parameter>angle</parameter> :</term> | ||
161 | <listitem><simpara> rotation angle | ||
162 | </simpara></listitem></varlistentry> | ||
163 | <varlistentry><term><parameter>ax</parameter> :</term> | ||
164 | <listitem><simpara> x component of rotation axis | ||
165 | </simpara></listitem></varlistentry> | ||
166 | <varlistentry><term><parameter>ay</parameter> :</term> | ||
167 | <listitem><simpara> y component of rotation axis | ||
168 | </simpara></listitem></varlistentry> | ||
169 | <varlistentry><term><parameter>az</parameter> :</term> | ||
170 | <listitem><simpara> z component of rotation axis | ||
171 | </simpara></listitem></varlistentry> | ||
172 | <varlistentry><term><parameter>rm</parameter> :</term> | ||
173 | <listitem><simpara> resulting matrix | ||
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-matrix-rotate-xyz" role="function"> | ||
179 | <title>g3d_matrix_rotate_xyz ()</title> | ||
180 | <indexterm zone="g3d-matrix-rotate-xyz"><primary>g3d_matrix_rotate_xyz</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_rotate_xyz (<link linkend="G3DFloat">G3DFloat</link> rx, | ||
181 | <link linkend="G3DFloat">G3DFloat</link> ry, | ||
182 | <link linkend="G3DFloat">G3DFloat</link> rz, | ||
183 | <link linkend="G3DMatrix">G3DMatrix</link> *rm);</programlisting> | ||
184 | <para> | ||
185 | Adds a rotation around the 3 coordinate system axes to the matrix.</para> | ||
186 | <para> | ||
187 | |||
188 | </para><variablelist role="params"> | ||
189 | <varlistentry><term><parameter>rx</parameter> :</term> | ||
190 | <listitem><simpara> rotation around x axis | ||
191 | </simpara></listitem></varlistentry> | ||
192 | <varlistentry><term><parameter>ry</parameter> :</term> | ||
193 | <listitem><simpara> rotation around y axis | ||
194 | </simpara></listitem></varlistentry> | ||
195 | <varlistentry><term><parameter>rz</parameter> :</term> | ||
196 | <listitem><simpara> rotation around z axis | ||
197 | </simpara></listitem></varlistentry> | ||
198 | <varlistentry><term><parameter>rm</parameter> :</term> | ||
199 | <listitem><simpara> resulting matrix | ||
200 | </simpara></listitem></varlistentry> | ||
201 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
202 | </simpara></listitem></varlistentry> | ||
203 | </variablelist></refsect2> | ||
204 | <refsect2 id="g3d-matrix-scale" role="function"> | ||
205 | <title>g3d_matrix_scale ()</title> | ||
206 | <indexterm zone="g3d-matrix-scale"><primary>g3d_matrix_scale</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_scale (<link linkend="G3DFloat">G3DFloat</link> x, | ||
207 | <link linkend="G3DFloat">G3DFloat</link> y, | ||
208 | <link linkend="G3DFloat">G3DFloat</link> z, | ||
209 | <link linkend="G3DMatrix">G3DMatrix</link> *rm);</programlisting> | ||
210 | <para> | ||
211 | Adds a scaling to the matrix.</para> | ||
212 | <para> | ||
213 | |||
214 | </para><variablelist role="params"> | ||
215 | <varlistentry><term><parameter>x</parameter> :</term> | ||
216 | <listitem><simpara> x factor | ||
217 | </simpara></listitem></varlistentry> | ||
218 | <varlistentry><term><parameter>y</parameter> :</term> | ||
219 | <listitem><simpara> y factor | ||
220 | </simpara></listitem></varlistentry> | ||
221 | <varlistentry><term><parameter>z</parameter> :</term> | ||
222 | <listitem><simpara> z factor | ||
223 | </simpara></listitem></varlistentry> | ||
224 | <varlistentry><term><parameter>rm</parameter> :</term> | ||
225 | <listitem><simpara> resulting matrix | ||
226 | </simpara></listitem></varlistentry> | ||
227 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
228 | </simpara></listitem></varlistentry> | ||
229 | </variablelist></refsect2> | ||
230 | <refsect2 id="g3d-matrix-transpose" role="function"> | ||
231 | <title>g3d_matrix_transpose ()</title> | ||
232 | <indexterm zone="g3d-matrix-transpose"><primary>g3d_matrix_transpose</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_transpose (<link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting> | ||
233 | <para> | ||
234 | Transposes the matrix.</para> | ||
235 | <para> | ||
236 | |||
237 | </para><variablelist role="params"> | ||
238 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
239 | <listitem><simpara> the matrix | ||
240 | </simpara></listitem></varlistentry> | ||
241 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
242 | </simpara></listitem></varlistentry> | ||
243 | </variablelist></refsect2> | ||
244 | <refsect2 id="g3d-matrix-determinant" role="function"> | ||
245 | <title>g3d_matrix_determinant ()</title> | ||
246 | <indexterm zone="g3d-matrix-determinant"><primary>g3d_matrix_determinant</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_matrix_determinant (<link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting> | ||
247 | <para> | ||
248 | Calculate the determinant of the matrix (FIXME: not verified).</para> | ||
249 | <para> | ||
250 | |||
251 | </para><variablelist role="params"> | ||
252 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
253 | <listitem><simpara> the matrix | ||
254 | </simpara></listitem></varlistentry> | ||
255 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the determinant. | ||
256 | </simpara></listitem></varlistentry> | ||
257 | </variablelist></refsect2> | ||
258 | <refsect2 id="g3d-matrix-dump" role="function"> | ||
259 | <title>g3d_matrix_dump ()</title> | ||
260 | <indexterm zone="g3d-matrix-dump"><primary>g3d_matrix_dump</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_matrix_dump (<link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting> | ||
261 | <para> | ||
262 | If debugging is enabled, this function dump the matrix to stderr.</para> | ||
263 | <para> | ||
264 | |||
265 | </para><variablelist role="params"> | ||
266 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
267 | <listitem><simpara> the matrix | ||
268 | </simpara></listitem></varlistentry> | ||
269 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE if matrix is dumped, FALSE else | ||
270 | </simpara></listitem></varlistentry> | ||
271 | </variablelist></refsect2> | ||
272 | |||
273 | </refsect1> | ||
274 | |||
275 | |||
276 | |||
277 | |||
278 | </refentry> | ||