aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml
diff options
context:
space:
mode:
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.xml278
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 &lt;g3d/matrix.h&gt;
23
24typedef <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>
63Matrices in libg3d have the following layout:
64</para>
65<para>
66G3DMatrix matrix[16]:
67</para>
68<para>
69matrix[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>
82Matrix 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>
90Sets the given matrix to the identity matrix.</para>
91<para>
92
93</para><variablelist role="params">
94<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
95<listitem><simpara> 4x4 matrix (float[16])
96</simpara></listitem></varlistentry>
97<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
106Multiplies the matrixes.</para>
107<para>
108
109</para><variablelist role="params">
110<varlistentry><term><parameter>m1</parameter>&nbsp;:</term>
111<listitem><simpara> first matrix
112</simpara></listitem></varlistentry>
113<varlistentry><term><parameter>m2</parameter>&nbsp;:</term>
114<listitem><simpara> second matrix
115</simpara></listitem></varlistentry>
116<varlistentry><term><parameter>rm</parameter>&nbsp;:</term>
117<listitem><simpara> resulting matrix
118</simpara></listitem></varlistentry>
119<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
129Adds a translation to the the matrix.</para>
130<para>
131
132</para><variablelist role="params">
133<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
134<listitem><simpara> x translation
135</simpara></listitem></varlistentry>
136<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
137<listitem><simpara> y translation
138</simpara></listitem></varlistentry>
139<varlistentry><term><parameter>z</parameter>&nbsp;:</term>
140<listitem><simpara> z translation
141</simpara></listitem></varlistentry>
142<varlistentry><term><parameter>rm</parameter>&nbsp;:</term>
143<listitem><simpara> resulting matrix
144</simpara></listitem></varlistentry>
145<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
156Adds a rotation to the matrix.</para>
157<para>
158
159</para><variablelist role="params">
160<varlistentry><term><parameter>angle</parameter>&nbsp;:</term>
161<listitem><simpara> rotation angle
162</simpara></listitem></varlistentry>
163<varlistentry><term><parameter>ax</parameter>&nbsp;:</term>
164<listitem><simpara> x component of rotation axis
165</simpara></listitem></varlistentry>
166<varlistentry><term><parameter>ay</parameter>&nbsp;:</term>
167<listitem><simpara> y component of rotation axis
168</simpara></listitem></varlistentry>
169<varlistentry><term><parameter>az</parameter>&nbsp;:</term>
170<listitem><simpara> z component of rotation axis
171</simpara></listitem></varlistentry>
172<varlistentry><term><parameter>rm</parameter>&nbsp;:</term>
173<listitem><simpara> resulting matrix
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-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>
185Adds 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>&nbsp;:</term>
190<listitem><simpara> rotation around x axis
191</simpara></listitem></varlistentry>
192<varlistentry><term><parameter>ry</parameter>&nbsp;:</term>
193<listitem><simpara> rotation around y axis
194</simpara></listitem></varlistentry>
195<varlistentry><term><parameter>rz</parameter>&nbsp;:</term>
196<listitem><simpara> rotation around z axis
197</simpara></listitem></varlistentry>
198<varlistentry><term><parameter>rm</parameter>&nbsp;:</term>
199<listitem><simpara> resulting matrix
200</simpara></listitem></varlistentry>
201<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
211Adds a scaling to the matrix.</para>
212<para>
213
214</para><variablelist role="params">
215<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
216<listitem><simpara> x factor
217</simpara></listitem></varlistentry>
218<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
219<listitem><simpara> y factor
220</simpara></listitem></varlistentry>
221<varlistentry><term><parameter>z</parameter>&nbsp;:</term>
222<listitem><simpara> z factor
223</simpara></listitem></varlistentry>
224<varlistentry><term><parameter>rm</parameter>&nbsp;:</term>
225<listitem><simpara> resulting matrix
226</simpara></listitem></varlistentry>
227<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
234Transposes the matrix.</para>
235<para>
236
237</para><variablelist role="params">
238<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
239<listitem><simpara> the matrix
240</simpara></listitem></varlistentry>
241<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
248Calculate the determinant of the matrix (FIXME: not verified).</para>
249<para>
250
251</para><variablelist role="params">
252<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
253<listitem><simpara> the matrix
254</simpara></listitem></varlistentry>
255<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>
262If 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>&nbsp;:</term>
267<listitem><simpara> the matrix
268</simpara></listitem></varlistentry>
269<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</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>