aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/xml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/context.xml321
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/face.xml197
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/iff.xml558
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/material.xml142
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/matrix.xml278
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml285
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/object.xml301
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/plugins.xml423
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/primitive.xml302
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/quat.xml220
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/read.xml218
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml801
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/texture.xml318
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/types.xml92
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/vector.xml184
15 files changed, 4640 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/context.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/context.xml
new file mode 100644
index 0000000..d9d6e36
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/context.xml
@@ -0,0 +1,321 @@
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-context">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-context.top_of_page">context</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>context</refname>
13<refpurpose>Libg3d initialization and configuration</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-context.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/g3d.h&gt;
23
24 <link linkend="G3DContext">G3DContext</link>;
25<link linkend="G3DContext">G3DContext</link>* <link linkend="g3d-context-new">g3d_context_new</link> (void);
26<link linkend="void">void</link> <link linkend="g3d-context-free">g3d_context_free</link> (<link linkend="G3DContext">G3DContext</link> *context);
27<link linkend="gboolean">gboolean</link> (<link linkend="G3DSetBgColorFunc">*G3DSetBgColorFunc</link>) (<link linkend="G3DFloat">G3DFloat</link> r,
28 <link linkend="G3DFloat">G3DFloat</link> g,
29 <link linkend="G3DFloat">G3DFloat</link> b,
30 <link linkend="G3DFloat">G3DFloat</link> a,
31 <link linkend="gpointer">gpointer</link> user_data);
32<link linkend="gboolean">gboolean</link> (<link linkend="G3DUpdateInterfaceFunc">*G3DUpdateInterfaceFunc</link>) (<link linkend="gpointer">gpointer</link> user_data);
33<link linkend="gboolean">gboolean</link> (<link linkend="G3DUpdateProgressBarFunc">*G3DUpdateProgressBarFunc</link>) (<link linkend="G3DFloat">G3DFloat</link> percentage,
34 <link linkend="gboolean">gboolean</link> show,
35 <link linkend="gpointer">gpointer</link> user_data);
36<link linkend="gboolean">gboolean</link> <link linkend="g3d-context-update-interface">g3d_context_update_interface</link> (<link linkend="G3DContext">G3DContext</link> *context);
37<link linkend="void">void</link> <link linkend="g3d-context-set-update-interface-func">g3d_context_set_update_interface_func</link>
38 (<link linkend="G3DContext">G3DContext</link> *context,
39 <link linkend="G3DUpdateInterfaceFunc">G3DUpdateInterfaceFunc</link> func,
40 <link linkend="gpointer">gpointer</link> user_data);
41<link linkend="gboolean">gboolean</link> <link linkend="g3d-context-update-progress-bar">g3d_context_update_progress_bar</link> (<link linkend="G3DContext">G3DContext</link> *context,
42 <link linkend="G3DFloat">G3DFloat</link> percentage,
43 <link linkend="gboolean">gboolean</link> visibility);
44<link linkend="void">void</link> <link linkend="g3d-context-set-update-progress-bar-func">g3d_context_set_update_progress_bar_func</link>
45 (<link linkend="G3DContext">G3DContext</link> *context,
46 <link linkend="G3DUpdateProgressBarFunc">G3DUpdateProgressBarFunc</link> func,
47 <link linkend="gpointer">gpointer</link> user_data);
48<link linkend="gboolean">gboolean</link> <link linkend="g3d-context-set-bgcolor">g3d_context_set_bgcolor</link> (<link linkend="G3DContext">G3DContext</link> *context,
49 <link linkend="G3DFloat">G3DFloat</link> r,
50 <link linkend="G3DFloat">G3DFloat</link> g,
51 <link linkend="G3DFloat">G3DFloat</link> b,
52 <link linkend="G3DFloat">G3DFloat</link> a);
53<link linkend="void">void</link> <link linkend="g3d-context-set-set-bgcolor-func">g3d_context_set_set_bgcolor_func</link> (<link linkend="G3DContext">G3DContext</link> *context,
54 <link linkend="G3DSetBgColorFunc">G3DSetBgColorFunc</link> func,
55 <link linkend="gpointer">gpointer</link> user_data);
56</synopsis>
57</refsynopsisdiv>
58
59
60
61
62
63
64
65
66
67<refsect1 id="libg3d-context.description" role="desc">
68<title role="desc.title">Description</title>
69<para>
70All state information is saved in the context. It also serves as an
71interface to the application.</para>
72<para>
73
74</para>
75</refsect1>
76
77<refsect1 id="libg3d-context.details" role="details">
78<title role="details.title">Details</title>
79<refsect2 id="G3DContext" role="struct">
80<title>G3DContext</title>
81<indexterm zone="G3DContext"><primary>G3DContext</primary></indexterm><programlisting>typedef struct {
82} G3DContext;
83</programlisting>
84<para>
85Internal stuff for libg3d.</para>
86<para>
87
88</para></refsect2>
89<refsect2 id="g3d-context-new" role="function">
90<title>g3d_context_new ()</title>
91<indexterm zone="g3d-context-new"><primary>g3d_context_new</primary></indexterm><programlisting><link linkend="G3DContext">G3DContext</link>* g3d_context_new (void);</programlisting>
92<para>
93Create a new context. This initializes the library (and also the
94plugin system so this has not to be done seperately).</para>
95<para>
96
97</para><variablelist role="params">
98<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a valid context, or NULL on failure.
99</simpara></listitem></varlistentry>
100</variablelist></refsect2>
101<refsect2 id="g3d-context-free" role="function">
102<title>g3d_context_free ()</title>
103<indexterm zone="g3d-context-free"><primary>g3d_context_free</primary></indexterm><programlisting><link linkend="void">void</link> g3d_context_free (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
104<para>
105Cleans up the context and the plugin system and frees all reserved
106memory.</para>
107<para>
108
109</para><variablelist role="params">
110<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
111<listitem><simpara> the context to free
112</simpara></listitem></varlistentry>
113</variablelist></refsect2>
114<refsect2 id="G3DSetBgColorFunc" role="function">
115<title>G3DSetBgColorFunc ()</title>
116<indexterm zone="G3DSetBgColorFunc"><primary>G3DSetBgColorFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DSetBgColorFunc) (<link linkend="G3DFloat">G3DFloat</link> r,
117 <link linkend="G3DFloat">G3DFloat</link> g,
118 <link linkend="G3DFloat">G3DFloat</link> b,
119 <link linkend="G3DFloat">G3DFloat</link> a,
120 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
121<para>
122Background color setting callback.</para>
123<para>
124
125</para><variablelist role="params">
126<varlistentry><term><parameter>r</parameter>&nbsp;:</term>
127<listitem><simpara> red component
128</simpara></listitem></varlistentry>
129<varlistentry><term><parameter>g</parameter>&nbsp;:</term>
130<listitem><simpara> green component
131</simpara></listitem></varlistentry>
132<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
133<listitem><simpara> blue component
134</simpara></listitem></varlistentry>
135<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
136<listitem><simpara> alpha component
137</simpara></listitem></varlistentry>
138<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
139<listitem><simpara> opaque data as given to <link linkend="g3d-context-set-set-bgcolor-func"><function>g3d_context_set_set_bgcolor_func()</function></link>
140</simpara></listitem></varlistentry>
141<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
142</simpara></listitem></varlistentry>
143</variablelist></refsect2>
144<refsect2 id="G3DUpdateInterfaceFunc" role="function">
145<title>G3DUpdateInterfaceFunc ()</title>
146<indexterm zone="G3DUpdateInterfaceFunc"><primary>G3DUpdateInterfaceFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DUpdateInterfaceFunc) (<link linkend="gpointer">gpointer</link> user_data);</programlisting>
147<para>
148Interface updating callback.</para>
149<para>
150
151</para><variablelist role="params">
152<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
153<listitem><simpara> opaque data as given to <link linkend="g3d-context-set-update-interface-func"><function>g3d_context_set_update_interface_func()</function></link>
154</simpara></listitem></varlistentry>
155<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
156</simpara></listitem></varlistentry>
157</variablelist></refsect2>
158<refsect2 id="G3DUpdateProgressBarFunc" role="function">
159<title>G3DUpdateProgressBarFunc ()</title>
160<indexterm zone="G3DUpdateProgressBarFunc"><primary>G3DUpdateProgressBarFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DUpdateProgressBarFunc) (<link linkend="G3DFloat">G3DFloat</link> percentage,
161 <link linkend="gboolean">gboolean</link> show,
162 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
163<para>
164Progress updating callback.</para>
165<para>
166
167</para><variablelist role="params">
168<varlistentry><term><parameter>percentage</parameter>&nbsp;:</term>
169<listitem><simpara> progress of plugin operation
170</simpara></listitem></varlistentry>
171<varlistentry><term><parameter>show</parameter>&nbsp;:</term>
172<listitem><simpara> <link linkend="TRUE:CAPS"><type>TRUE</type></link> if the progress bar should be visible, <link linkend="FALSE:CAPS"><type>FALSE</type></link> else
173</simpara></listitem></varlistentry>
174<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
175<listitem><simpara> opaque data as given to
176<link linkend="g3d-context-set-update-progress-bar-func"><function>g3d_context_set_update_progress_bar_func()</function></link>
177</simpara></listitem></varlistentry>
178<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
179</simpara></listitem></varlistentry>
180</variablelist></refsect2>
181<refsect2 id="g3d-context-update-interface" role="function">
182<title>g3d_context_update_interface ()</title>
183<indexterm zone="g3d-context-update-interface"><primary>g3d_context_update_interface</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_context_update_interface (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
184<para>
185Try to update the interface. This will call a function registered with
186<parameter>g3d_context_set_update_interface_func</parameter>.</para>
187<para>
188
189</para><variablelist role="params">
190<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
191<listitem><simpara> a valid context
192</simpara></listitem></varlistentry>
193<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
194</simpara></listitem></varlistentry>
195</variablelist></refsect2>
196<refsect2 id="g3d-context-set-update-interface-func" role="function">
197<title>g3d_context_set_update_interface_func ()</title>
198<indexterm zone="g3d-context-set-update-interface-func"><primary>g3d_context_set_update_interface_func</primary></indexterm><programlisting><link linkend="void">void</link> g3d_context_set_update_interface_func
199 (<link linkend="G3DContext">G3DContext</link> *context,
200 <link linkend="G3DUpdateInterfaceFunc">G3DUpdateInterfaceFunc</link> func,
201 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
202<para>
203Registers a callback function for updating the interface.</para>
204<para>
205
206</para><variablelist role="params">
207<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
208<listitem><simpara> a valid context
209</simpara></listitem></varlistentry>
210<varlistentry><term><parameter>func</parameter>&nbsp;:</term>
211<listitem><simpara> the callback function
212</simpara></listitem></varlistentry>
213<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
214<listitem><simpara> user-defined opaque pointer
215</simpara></listitem></varlistentry>
216</variablelist></refsect2>
217<refsect2 id="g3d-context-update-progress-bar" role="function">
218<title>g3d_context_update_progress_bar ()</title>
219<indexterm zone="g3d-context-update-progress-bar"><primary>g3d_context_update_progress_bar</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_context_update_progress_bar (<link linkend="G3DContext">G3DContext</link> *context,
220 <link linkend="G3DFloat">G3DFloat</link> percentage,
221 <link linkend="gboolean">gboolean</link> visibility);</programlisting>
222<para>
223Try to update the progress bar.</para>
224<para>
225
226</para><variablelist role="params">
227<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
228<listitem><simpara> a valid context
229</simpara></listitem></varlistentry>
230<varlistentry><term><parameter>percentage</parameter>&nbsp;:</term>
231<listitem><simpara> the percentage to set on the progress bar
232</simpara></listitem></varlistentry>
233<varlistentry><term><parameter>visibility</parameter>&nbsp;:</term>
234<listitem><simpara> show or hide the progress bar
235</simpara></listitem></varlistentry>
236<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
237</simpara></listitem></varlistentry>
238</variablelist></refsect2>
239<refsect2 id="g3d-context-set-update-progress-bar-func" role="function">
240<title>g3d_context_set_update_progress_bar_func ()</title>
241<indexterm zone="g3d-context-set-update-progress-bar-func"><primary>g3d_context_set_update_progress_bar_func</primary></indexterm><programlisting><link linkend="void">void</link> g3d_context_set_update_progress_bar_func
242 (<link linkend="G3DContext">G3DContext</link> *context,
243 <link linkend="G3DUpdateProgressBarFunc">G3DUpdateProgressBarFunc</link> func,
244 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
245<para>
246Registers a callback function for updating the progress bar.</para>
247<para>
248
249</para><variablelist role="params">
250<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
251<listitem><simpara> a valid context
252</simpara></listitem></varlistentry>
253<varlistentry><term><parameter>func</parameter>&nbsp;:</term>
254<listitem><simpara> the callback function
255</simpara></listitem></varlistentry>
256<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
257<listitem><simpara> user-defined opaque pointer
258</simpara></listitem></varlistentry>
259</variablelist></refsect2>
260<refsect2 id="g3d-context-set-bgcolor" role="function">
261<title>g3d_context_set_bgcolor ()</title>
262<indexterm zone="g3d-context-set-bgcolor"><primary>g3d_context_set_bgcolor</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_context_set_bgcolor (<link linkend="G3DContext">G3DContext</link> *context,
263 <link linkend="G3DFloat">G3DFloat</link> r,
264 <link linkend="G3DFloat">G3DFloat</link> g,
265 <link linkend="G3DFloat">G3DFloat</link> b,
266 <link linkend="G3DFloat">G3DFloat</link> a);</programlisting>
267<para>
268Try to set the background color. This will call a function registered
269with <link><parameter>g3d_context_set_set_bgcolor_func</parameter></link>.</para>
270<para>
271
272</para><variablelist role="params">
273<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
274<listitem><simpara> a valid context
275</simpara></listitem></varlistentry>
276<varlistentry><term><parameter>r</parameter>&nbsp;:</term>
277<listitem><simpara> red component (range: 0.0 .. 1.0)
278</simpara></listitem></varlistentry>
279<varlistentry><term><parameter>g</parameter>&nbsp;:</term>
280<listitem><simpara> green component (range: 0.0 .. 1.0)
281</simpara></listitem></varlistentry>
282<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
283<listitem><simpara> green component (range: 0.0 .. 1.0)
284</simpara></listitem></varlistentry>
285<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
286<listitem><simpara> alpha component
287</simpara></listitem></varlistentry>
288<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
289</simpara></listitem></varlistentry>
290</variablelist></refsect2>
291<refsect2 id="g3d-context-set-set-bgcolor-func" role="function">
292<title>g3d_context_set_set_bgcolor_func ()</title>
293<indexterm zone="g3d-context-set-set-bgcolor-func"><primary>g3d_context_set_set_bgcolor_func</primary></indexterm><programlisting><link linkend="void">void</link> g3d_context_set_set_bgcolor_func (<link linkend="G3DContext">G3DContext</link> *context,
294 <link linkend="G3DSetBgColorFunc">G3DSetBgColorFunc</link> func,
295 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
296<para>
297Registers a callback function for setting the background color.</para>
298<para>
299
300</para><variablelist role="params">
301<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
302<listitem><simpara> a valid context
303</simpara></listitem></varlistentry>
304<varlistentry><term><parameter>func</parameter>&nbsp;:</term>
305<listitem><simpara> the callback function
306</simpara></listitem></varlistentry>
307<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
308<listitem><simpara> user-defined opaque pointer
309</simpara></listitem></varlistentry>
310</variablelist></refsect2>
311
312</refsect1>
313
314
315
316<refsect1 id="libg3d-context.see-also">
317<title>See Also</title>
318<link linkend="G3DContext"><type>G3DContext</type></link>
319</refsect1>
320
321</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/face.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/face.xml
new file mode 100644
index 0000000..cb8059a
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/face.xml
@@ -0,0 +1,197 @@
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-face">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-face.top_of_page">face</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>face</refname>
13<refpurpose>Face manipulation</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-face.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/face.h&gt;
23
24#define <link linkend="G3D-FLAG-MAT-TWOSIDE:CAPS">G3D_FLAG_MAT_TWOSIDE</link>
25#define <link linkend="G3D-FLAG-FAC-NORMALS:CAPS">G3D_FLAG_FAC_NORMALS</link>
26#define <link linkend="G3D-FLAG-FAC-TEXMAP:CAPS">G3D_FLAG_FAC_TEXMAP</link>
27 <link linkend="G3DFace">G3DFace</link>;
28<link linkend="gboolean">gboolean</link> <link linkend="g3d-face-get-normal">g3d_face_get_normal</link> (<link linkend="G3DFace">G3DFace</link> *face,
29 <link linkend="G3DObject">G3DObject</link> *object,
30 <link linkend="G3DFloat">G3DFloat</link> *nx,
31 <link linkend="G3DFloat">G3DFloat</link> *ny,
32 <link linkend="G3DFloat">G3DFloat</link> *nz);
33<link linkend="void">void</link> <link linkend="g3d-face-free">g3d_face_free</link> (<link linkend="G3DFace">G3DFace</link> *face);
34</synopsis>
35</refsynopsisdiv>
36
37
38
39
40
41
42
43
44
45<refsect1 id="libg3d-face.description" role="desc">
46<title role="desc.title">Description</title>
47<para>
48A face is plane bordered by at least 3 vertices.</para>
49<para>
50
51</para>
52</refsect1>
53
54<refsect1 id="libg3d-face.details" role="details">
55<title role="details.title">Details</title>
56<refsect2 id="G3D-FLAG-MAT-TWOSIDE:CAPS" role="macro">
57<title>G3D_FLAG_MAT_TWOSIDE</title>
58<indexterm zone="G3D-FLAG-MAT-TWOSIDE:CAPS"><primary>G3D_FLAG_MAT_TWOSIDE</primary></indexterm><programlisting>#define G3D_FLAG_MAT_TWOSIDE (1L &lt;&lt; 0)
59</programlisting>
60<para>
61Faces using this material should be rendered two-sided as the direction
62is unknown.</para>
63<para>
64
65</para></refsect2>
66<refsect2 id="G3D-FLAG-FAC-NORMALS:CAPS" role="macro">
67<title>G3D_FLAG_FAC_NORMALS</title>
68<indexterm zone="G3D-FLAG-FAC-NORMALS:CAPS"><primary>G3D_FLAG_FAC_NORMALS</primary></indexterm><programlisting>#define G3D_FLAG_FAC_NORMALS (1L &lt;&lt; 0)
69</programlisting>
70<para>
71The face has custom normals.</para>
72<para>
73
74</para></refsect2>
75<refsect2 id="G3D-FLAG-FAC-TEXMAP:CAPS" role="macro">
76<title>G3D_FLAG_FAC_TEXMAP</title>
77<indexterm zone="G3D-FLAG-FAC-TEXMAP:CAPS"><primary>G3D_FLAG_FAC_TEXMAP</primary></indexterm><programlisting>#define G3D_FLAG_FAC_TEXMAP (1L &lt;&lt; 1)
78</programlisting>
79<para>
80The face has a texture map and texture coordinates.</para>
81<para>
82
83</para></refsect2>
84<refsect2 id="G3DFace" role="struct">
85<title>G3DFace</title>
86<indexterm zone="G3DFace"><primary>G3DFace</primary></indexterm><programlisting>typedef struct {
87 guint32 vertex_count;
88 guint32 *vertex_indices;
89
90 G3DMaterial *material;
91
92 guint32 flags;
93
94 G3DVector *normals;
95
96 G3DImage *tex_image;
97 guint32 tex_vertex_count;
98 G3DVector *tex_vertex_data;
99} G3DFace;
100</programlisting>
101<para>
102An object representing a surface.</para>
103<para>
104
105</para><variablelist role="struct">
106<varlistentry>
107<term><link linkend="guint32">guint32</link>&nbsp;<structfield>vertex_count</structfield>;</term>
108<listitem><simpara> number of vertices
109</simpara></listitem>
110</varlistentry>
111<varlistentry>
112<term><link linkend="guint32">guint32</link>&nbsp;*<structfield>vertex_indices</structfield>;</term>
113<listitem><simpara> indices of vertices in <link linkend="G3DObject"><type>G3DObject</type></link>
114</simpara></listitem>
115</varlistentry>
116<varlistentry>
117<term><link linkend="G3DMaterial">G3DMaterial</link>&nbsp;*<structfield>material</structfield>;</term>
118<listitem><simpara> material to use for surface
119</simpara></listitem>
120</varlistentry>
121<varlistentry>
122<term><link linkend="guint32">guint32</link>&nbsp;<structfield>flags</structfield>;</term>
123<listitem><simpara> flags
124</simpara></listitem>
125</varlistentry>
126<varlistentry>
127<term><link linkend="G3DVector">G3DVector</link>&nbsp;*<structfield>normals</structfield>;</term>
128<listitem><simpara> optional normal array (one vector - 3 <link linkend="G3DVector"><type>G3DVector</type></link> values - for each
129 vertex)
130</simpara></listitem>
131</varlistentry>
132<varlistentry>
133<term><link linkend="G3DImage">G3DImage</link>&nbsp;*<structfield>tex_image</structfield>;</term>
134<listitem><simpara> optional texture image
135</simpara></listitem>
136</varlistentry>
137<varlistentry>
138<term><link linkend="guint32">guint32</link>&nbsp;<structfield>tex_vertex_count</structfield>;</term>
139<listitem><simpara> number of texture vertices, should be 0 or match
140 vertex_count
141</simpara></listitem>
142</varlistentry>
143<varlistentry>
144<term><link linkend="G3DVector">G3DVector</link>&nbsp;*<structfield>tex_vertex_data</structfield>;</term>
145<listitem><simpara> array of texture vertices
146</simpara></listitem>
147</varlistentry>
148</variablelist></refsect2>
149<refsect2 id="g3d-face-get-normal" role="function">
150<title>g3d_face_get_normal ()</title>
151<indexterm zone="g3d-face-get-normal"><primary>g3d_face_get_normal</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_face_get_normal (<link linkend="G3DFace">G3DFace</link> *face,
152 <link linkend="G3DObject">G3DObject</link> *object,
153 <link linkend="G3DFloat">G3DFloat</link> *nx,
154 <link linkend="G3DFloat">G3DFloat</link> *ny,
155 <link linkend="G3DFloat">G3DFloat</link> *nz);</programlisting>
156<para>
157calculates the normal of a face.</para>
158<para>
159
160</para><variablelist role="params">
161<varlistentry><term><parameter>face</parameter>&nbsp;:</term>
162<listitem><simpara> face to calculate normal of
163</simpara></listitem></varlistentry>
164<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
165<listitem><simpara> object containing vertices of face
166</simpara></listitem></varlistentry>
167<varlistentry><term><parameter>nx</parameter>&nbsp;:</term>
168<listitem><simpara> x component of resulting normal
169</simpara></listitem></varlistentry>
170<varlistentry><term><parameter>ny</parameter>&nbsp;:</term>
171<listitem><simpara> y component of resulting normal
172</simpara></listitem></varlistentry>
173<varlistentry><term><parameter>nz</parameter>&nbsp;:</term>
174<listitem><simpara> z component of resulting normal
175</simpara></listitem></varlistentry>
176<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
177</simpara></listitem></varlistentry>
178</variablelist></refsect2>
179<refsect2 id="g3d-face-free" role="function">
180<title>g3d_face_free ()</title>
181<indexterm zone="g3d-face-free"><primary>g3d_face_free</primary></indexterm><programlisting><link linkend="void">void</link> g3d_face_free (<link linkend="G3DFace">G3DFace</link> *face);</programlisting>
182<para>
183Frees all memory allocated for this face.</para>
184<para>
185
186</para><variablelist role="params">
187<varlistentry><term><parameter>face</parameter>&nbsp;:</term>
188<listitem><simpara> the face to free
189</simpara></listitem></varlistentry>
190</variablelist></refsect2>
191
192</refsect1>
193
194
195
196
197</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/iff.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/iff.xml
new file mode 100644
index 0000000..73b9ca6
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/iff.xml
@@ -0,0 +1,558 @@
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-iff">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-iff.top_of_page">iff</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>iff</refname>
13<refpurpose>IFF file helper functions</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-iff.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/iff.h&gt;
23
24#define <link linkend="G3D-IFF-PAD1:CAPS">G3D_IFF_PAD1</link>
25#define <link linkend="G3D-IFF-PAD2:CAPS">G3D_IFF_PAD2</link>
26#define <link linkend="G3D-IFF-PAD4:CAPS">G3D_IFF_PAD4</link>
27#define <link linkend="G3D-IFF-PAD8:CAPS">G3D_IFF_PAD8</link>
28#define <link linkend="G3D-IFF-LE:CAPS">G3D_IFF_LE</link>
29#define <link linkend="G3D-IFF-LEN16:CAPS">G3D_IFF_LEN16</link>
30#define <link linkend="G3D-IFF-SUBCHUNK-LEN16:CAPS">G3D_IFF_SUBCHUNK_LEN16</link>
31#define <link linkend="G3D-IFF-MKID:CAPS">G3D_IFF_MKID</link> (a,b,c,d)
32<link linkend="gboolean">gboolean</link> <link linkend="g3d-iff-check">g3d_iff_check</link> (<link linkend="G3DStream">G3DStream</link> *stream,
33 <link linkend="guint32">guint32</link> *id,
34 <link linkend="gsize">gsize</link> *len);
35<link linkend="gsize">gsize</link> <link linkend="g3d-iff-read-chunk">g3d_iff_read_chunk</link> (<link linkend="G3DStream">G3DStream</link> *stream,
36 <link linkend="guint32">guint32</link> *id,
37 <link linkend="gsize">gsize</link> *len,
38 <link linkend="guint32">guint32</link> flags);
39<link linkend="gpointer">gpointer</link> <link linkend="g3d-iff-handle-chunk">g3d_iff_handle_chunk</link> (<link linkend="G3DIffGlobal">G3DIffGlobal</link> *global,
40 <link linkend="G3DIffLocal">G3DIffLocal</link> *plocal,
41 <link linkend="G3DIffChunkInfo">G3DIffChunkInfo</link> *chunks,
42 <link linkend="guint32">guint32</link> flags);
43<link linkend="gboolean">gboolean</link> <link linkend="g3d-iff-chunk-matches">g3d_iff_chunk_matches</link> (<link linkend="guint32">guint32</link> id,
44 <link linkend="gchar">gchar</link> *tid);
45<link linkend="gboolean">gboolean</link> <link linkend="g3d-iff-read-ctnr">g3d_iff_read_ctnr</link> (<link linkend="G3DIffGlobal">G3DIffGlobal</link> *global,
46 <link linkend="G3DIffLocal">G3DIffLocal</link> *local,
47 <link linkend="G3DIffChunkInfo">G3DIffChunkInfo</link> *chunks,
48 <link linkend="guint32">guint32</link> flags);
49<link linkend="gchar">gchar</link>* <link linkend="g3d-iff-id-to-text">g3d_iff_id_to_text</link> (<link linkend="guint32">guint32</link> id);
50<link linkend="FILE:CAPS">FILE</link>* <link linkend="g3d-iff-open">g3d_iff_open</link> (const <link linkend="gchar">gchar</link> *filename,
51 <link linkend="guint32">guint32</link> *id,
52 <link linkend="guint32">guint32</link> *len);
53<link linkend="int">int</link> <link linkend="g3d-iff-readchunk">g3d_iff_readchunk</link> (<link linkend="FILE:CAPS">FILE</link> *f,
54 <link linkend="guint32">guint32</link> *id,
55 <link linkend="guint32">guint32</link> *len,
56 <link linkend="guint32">guint32</link> flags);
57<link linkend="gboolean">gboolean</link> (<link linkend="G3DIffChunkCallback">*G3DIffChunkCallback</link>) (<link linkend="G3DIffGlobal">G3DIffGlobal</link> *global,
58 <link linkend="G3DIffLocal">G3DIffLocal</link> *local);
59#define <link linkend="g3d-iff-chunk-callback">g3d_iff_chunk_callback</link>
60 <link linkend="G3DIffChunkInfo">G3DIffChunkInfo</link>;
61#define <link linkend="g3d-iff-chunk-info">g3d_iff_chunk_info</link>
62 <link linkend="G3DIffGlobal">G3DIffGlobal</link>;
63#define <link linkend="g3d-iff-gdata">g3d_iff_gdata</link>
64 <link linkend="G3DIffLocal">G3DIffLocal</link>;
65#define <link linkend="g3d-iff-ldata">g3d_iff_ldata</link>
66</synopsis>
67</refsynopsisdiv>
68
69
70
71
72
73
74
75
76
77<refsect1 id="libg3d-iff.description" role="desc">
78<title role="desc.title">Description</title>
79<para>
80These are helper functions to read data from the Interchange File Format
81(IFF).</para>
82<para>
83
84</para>
85</refsect1>
86
87<refsect1 id="libg3d-iff.details" role="details">
88<title role="details.title">Details</title>
89<refsect2 id="G3D-IFF-PAD1:CAPS" role="macro">
90<title>G3D_IFF_PAD1</title>
91<indexterm zone="G3D-IFF-PAD1:CAPS"><primary>G3D_IFF_PAD1</primary></indexterm><programlisting>#define G3D_IFF_PAD1 0x01
92</programlisting>
93<para>
94No padding is done after chunks.</para>
95<para>
96
97</para></refsect2>
98<refsect2 id="G3D-IFF-PAD2:CAPS" role="macro">
99<title>G3D_IFF_PAD2</title>
100<indexterm zone="G3D-IFF-PAD2:CAPS"><primary>G3D_IFF_PAD2</primary></indexterm><programlisting>#define G3D_IFF_PAD2 0x02
101</programlisting>
102<para>
103Chunks are 2-byte aligned</para>
104<para>
105
106</para></refsect2>
107<refsect2 id="G3D-IFF-PAD4:CAPS" role="macro">
108<title>G3D_IFF_PAD4</title>
109<indexterm zone="G3D-IFF-PAD4:CAPS"><primary>G3D_IFF_PAD4</primary></indexterm><programlisting>#define G3D_IFF_PAD4 0x04
110</programlisting>
111<para>
112Chunks are 4-byte aligned</para>
113<para>
114
115</para></refsect2>
116<refsect2 id="G3D-IFF-PAD8:CAPS" role="macro">
117<title>G3D_IFF_PAD8</title>
118<indexterm zone="G3D-IFF-PAD8:CAPS"><primary>G3D_IFF_PAD8</primary></indexterm><programlisting>#define G3D_IFF_PAD8 0x08
119</programlisting>
120<para>
121Chunks are 8-byte aligned</para>
122<para>
123
124</para></refsect2>
125<refsect2 id="G3D-IFF-LE:CAPS" role="macro">
126<title>G3D_IFF_LE</title>
127<indexterm zone="G3D-IFF-LE:CAPS"><primary>G3D_IFF_LE</primary></indexterm><programlisting>#define G3D_IFF_LE 0x40 /* little endian */
128</programlisting>
129<para>
130The file has little-endian data.</para>
131<para>
132
133</para></refsect2>
134<refsect2 id="G3D-IFF-LEN16:CAPS" role="macro">
135<title>G3D_IFF_LEN16</title>
136<indexterm zone="G3D-IFF-LEN16:CAPS"><primary>G3D_IFF_LEN16</primary></indexterm><programlisting>#define G3D_IFF_LEN16 0x20
137</programlisting>
138<para>
139All chunks have 16-bit sizes.</para>
140<para>
141
142</para></refsect2>
143<refsect2 id="G3D-IFF-SUBCHUNK-LEN16:CAPS" role="macro">
144<title>G3D_IFF_SUBCHUNK_LEN16</title>
145<indexterm zone="G3D-IFF-SUBCHUNK-LEN16:CAPS"><primary>G3D_IFF_SUBCHUNK_LEN16</primary></indexterm><programlisting>#define G3D_IFF_SUBCHUNK_LEN16 0x10
146</programlisting>
147<para>
148All chunks except the toplevel ones have 16-bit sizes.</para>
149<para>
150
151</para></refsect2>
152<refsect2 id="G3D-IFF-MKID:CAPS" role="macro">
153<title>G3D_IFF_MKID()</title>
154<indexterm zone="G3D-IFF-MKID:CAPS"><primary>G3D_IFF_MKID</primary></indexterm><programlisting>#define G3D_IFF_MKID(a,b,c,d)</programlisting>
155<para>
156Generate an IFF chunk identifier from character representation, e.g.
157G3D_IFF_MKID('F','O','R','M').</para>
158<para>
159
160</para><variablelist role="params">
161<varlistentry><term><parameter>a</parameter>&nbsp;:</term>
162<listitem><simpara> first byte
163</simpara></listitem></varlistentry>
164<varlistentry><term><parameter>b</parameter>&nbsp;:</term>
165<listitem><simpara> second byte
166</simpara></listitem></varlistentry>
167<varlistentry><term><parameter>c</parameter>&nbsp;:</term>
168<listitem><simpara> third byte
169</simpara></listitem></varlistentry>
170<varlistentry><term><parameter>d</parameter>&nbsp;:</term>
171<listitem><simpara> fourth byte
172</simpara></listitem></varlistentry>
173</variablelist></refsect2>
174<refsect2 id="g3d-iff-check" role="function">
175<title>g3d_iff_check ()</title>
176<indexterm zone="g3d-iff-check"><primary>g3d_iff_check</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_iff_check (<link linkend="G3DStream">G3DStream</link> *stream,
177 <link linkend="guint32">guint32</link> *id,
178 <link linkend="gsize">gsize</link> *len);</programlisting>
179<para>
180Checks a stream for a valid IFF signature and reads the top level container.</para>
181<para>
182
183</para><variablelist role="params">
184<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
185<listitem><simpara> stream containing IFF file to check
186</simpara></listitem></varlistentry>
187<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
188<listitem><simpara> top level ID (out)
189</simpara></listitem></varlistentry>
190<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
191<listitem><simpara> length of top level container (out)
192</simpara></listitem></varlistentry>
193<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success (valid IFF), FALSE else
194</simpara></listitem></varlistentry>
195</variablelist></refsect2>
196<refsect2 id="g3d-iff-read-chunk" role="function">
197<title>g3d_iff_read_chunk ()</title>
198<indexterm zone="g3d-iff-read-chunk"><primary>g3d_iff_read_chunk</primary></indexterm><programlisting><link linkend="gsize">gsize</link> g3d_iff_read_chunk (<link linkend="G3DStream">G3DStream</link> *stream,
199 <link linkend="guint32">guint32</link> *id,
200 <link linkend="gsize">gsize</link> *len,
201 <link linkend="guint32">guint32</link> flags);</programlisting>
202<para>
203Reads one chunk header from an IFF file.</para>
204<para>
205
206</para><variablelist role="params">
207<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
208<listitem><simpara> stream to read from
209</simpara></listitem></varlistentry>
210<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
211<listitem><simpara> ID of chunk (out)
212</simpara></listitem></varlistentry>
213<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
214<listitem><simpara> length of chunk (excluding header) (out)
215</simpara></listitem></varlistentry>
216<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
217<listitem><simpara> flags
218</simpara></listitem></varlistentry>
219<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> real length of chunk including header and possible padding byte
220</simpara></listitem></varlistentry>
221</variablelist></refsect2>
222<refsect2 id="g3d-iff-handle-chunk" role="function">
223<title>g3d_iff_handle_chunk ()</title>
224<indexterm zone="g3d-iff-handle-chunk"><primary>g3d_iff_handle_chunk</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> g3d_iff_handle_chunk (<link linkend="G3DIffGlobal">G3DIffGlobal</link> *global,
225 <link linkend="G3DIffLocal">G3DIffLocal</link> *plocal,
226 <link linkend="G3DIffChunkInfo">G3DIffChunkInfo</link> *chunks,
227 <link linkend="guint32">guint32</link> flags);</programlisting>
228<para>
229Handle an IFF chunk based on chunk description.</para>
230<para>
231
232</para><variablelist role="params">
233<varlistentry><term><parameter>global</parameter>&nbsp;:</term>
234<listitem><simpara> global data
235</simpara></listitem></varlistentry>
236<varlistentry><term><parameter>plocal</parameter>&nbsp;:</term>
237<listitem><simpara> local data of parent chunk, must not be NULL
238</simpara></listitem></varlistentry>
239<varlistentry><term><parameter>chunks</parameter>&nbsp;:</term>
240<listitem><simpara> chunk description list
241</simpara></listitem></varlistentry>
242<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
243<listitem><simpara> IFF flags
244</simpara></listitem></varlistentry>
245<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> level object for siblings, may be NULL.
246</simpara></listitem></varlistentry>
247</variablelist></refsect2>
248<refsect2 id="g3d-iff-chunk-matches" role="function">
249<title>g3d_iff_chunk_matches ()</title>
250<indexterm zone="g3d-iff-chunk-matches"><primary>g3d_iff_chunk_matches</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_iff_chunk_matches (<link linkend="guint32">guint32</link> id,
251 <link linkend="gchar">gchar</link> *tid);</programlisting>
252<para>
253Check whether <parameter>id</parameter> and <parameter>tid</parameter> match.</para>
254<para>
255
256</para><variablelist role="params">
257<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
258<listitem><simpara> IFF identifier
259</simpara></listitem></varlistentry>
260<varlistentry><term><parameter>tid</parameter>&nbsp;:</term>
261<listitem><simpara> textual representation of identifier
262</simpara></listitem></varlistentry>
263<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on match, FALSE else.
264</simpara></listitem></varlistentry>
265</variablelist></refsect2>
266<refsect2 id="g3d-iff-read-ctnr" role="function">
267<title>g3d_iff_read_ctnr ()</title>
268<indexterm zone="g3d-iff-read-ctnr"><primary>g3d_iff_read_ctnr</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_iff_read_ctnr (<link linkend="G3DIffGlobal">G3DIffGlobal</link> *global,
269 <link linkend="G3DIffLocal">G3DIffLocal</link> *local,
270 <link linkend="G3DIffChunkInfo">G3DIffChunkInfo</link> *chunks,
271 <link linkend="guint32">guint32</link> flags);</programlisting>
272<para>
273Read subchunks in current chunk and handle them appropriately.</para>
274<para>
275
276</para><variablelist role="params">
277<varlistentry><term><parameter>global</parameter>&nbsp;:</term>
278<listitem><simpara> global data
279</simpara></listitem></varlistentry>
280<varlistentry><term><parameter>local</parameter>&nbsp;:</term>
281<listitem><simpara> local data of current chunk, must not be NULL
282</simpara></listitem></varlistentry>
283<varlistentry><term><parameter>chunks</parameter>&nbsp;:</term>
284<listitem><simpara> chunk description list
285</simpara></listitem></varlistentry>
286<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
287<listitem><simpara> IFF flags
288</simpara></listitem></varlistentry>
289<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
290</simpara></listitem></varlistentry>
291</variablelist></refsect2>
292<refsect2 id="g3d-iff-id-to-text" role="function">
293<title>g3d_iff_id_to_text ()</title>
294<indexterm zone="g3d-iff-id-to-text"><primary>g3d_iff_id_to_text</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* g3d_iff_id_to_text (<link linkend="guint32">guint32</link> id);</programlisting>
295<para>
296Get the text representation of an IFF chunk identifier.</para>
297<para>
298
299</para><variablelist role="params">
300<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
301<listitem><simpara> an IFF identifier
302</simpara></listitem></varlistentry>
303<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated string containing the text identifier.
304</simpara></listitem></varlistentry>
305</variablelist></refsect2>
306<refsect2 id="g3d-iff-open" role="function">
307<title>g3d_iff_open ()</title>
308<indexterm zone="g3d-iff-open"><primary>g3d_iff_open</primary></indexterm><programlisting><link linkend="FILE:CAPS">FILE</link>* g3d_iff_open (const <link linkend="gchar">gchar</link> *filename,
309 <link linkend="guint32">guint32</link> *id,
310 <link linkend="guint32">guint32</link> *len);</programlisting>
311<para>
312Opens an IFF file, checks it and reads its top level container.</para>
313<para>
314
315</para><variablelist role="params">
316<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
317<listitem><simpara> file name of IFF file
318</simpara></listitem></varlistentry>
319<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
320<listitem><simpara> top level ID (out)
321</simpara></listitem></varlistentry>
322<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
323<listitem><simpara> length of top level container (out)
324</simpara></listitem></varlistentry>
325<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the file pointer of open file or NULL in case of an error
326</simpara></listitem></varlistentry>
327</variablelist></refsect2>
328<refsect2 id="g3d-iff-readchunk" role="function">
329<title>g3d_iff_readchunk ()</title>
330<indexterm zone="g3d-iff-readchunk"><primary>g3d_iff_readchunk</primary></indexterm><programlisting><link linkend="int">int</link> g3d_iff_readchunk (<link linkend="FILE:CAPS">FILE</link> *f,
331 <link linkend="guint32">guint32</link> *id,
332 <link linkend="guint32">guint32</link> *len,
333 <link linkend="guint32">guint32</link> flags);</programlisting>
334<para>
335Reads one chunk header from an IFF file.</para>
336<para>
337
338</para><variablelist role="params">
339<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
340<listitem><simpara> the open IFF file pointer
341</simpara></listitem></varlistentry>
342<varlistentry><term><parameter>id</parameter>&nbsp;:</term>
343<listitem><simpara> ID of chunk (out)
344</simpara></listitem></varlistentry>
345<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
346<listitem><simpara> length of chunk (excluding header) (out)
347</simpara></listitem></varlistentry>
348<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
349<listitem><simpara> flags
350</simpara></listitem></varlistentry>
351<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> real length of chunk including header and possible padding byte
352</simpara></listitem></varlistentry>
353</variablelist></refsect2>
354<refsect2 id="G3DIffChunkCallback" role="function">
355<title>G3DIffChunkCallback ()</title>
356<indexterm zone="G3DIffChunkCallback"><primary>G3DIffChunkCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DIffChunkCallback) (<link linkend="G3DIffGlobal">G3DIffGlobal</link> *global,
357 <link linkend="G3DIffLocal">G3DIffLocal</link> *local);</programlisting>
358<para>
359IFF callback function prototype.</para>
360<para>
361
362</para><variablelist role="params">
363<varlistentry><term><parameter>global</parameter>&nbsp;:</term>
364<listitem><simpara> the global data
365</simpara></listitem></varlistentry>
366<varlistentry><term><parameter>local</parameter>&nbsp;:</term>
367<listitem><simpara> the local data
368</simpara></listitem></varlistentry>
369<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
370</simpara></listitem></varlistentry>
371</variablelist></refsect2>
372<refsect2 id="g3d-iff-chunk-callback" role="macro">
373<title>g3d_iff_chunk_callback</title>
374<indexterm zone="g3d-iff-chunk-callback"><primary>g3d_iff_chunk_callback</primary></indexterm><programlisting>#define g3d_iff_chunk_callback G3DIffChunkCallback
375</programlisting>
376<para>
377IFF chunk callback (deprecated).</para>
378<para>
379
380</para></refsect2>
381<refsect2 id="G3DIffChunkInfo" role="struct">
382<title>G3DIffChunkInfo</title>
383<indexterm zone="G3DIffChunkInfo"><primary>G3DIffChunkInfo</primary></indexterm><programlisting>typedef struct {
384 gchar *id;
385 gchar *description;
386 gboolean container;
387 G3DIffChunkCallback callback;
388} G3DIffChunkInfo;
389</programlisting>
390<para>
391A chunk type description.</para>
392<para>
393
394</para><variablelist role="struct">
395<varlistentry>
396<term><link linkend="gchar">gchar</link>&nbsp;*<structfield>id</structfield>;</term>
397<listitem><simpara> identifier of chunk
398</simpara></listitem>
399</varlistentry>
400<varlistentry>
401<term><link linkend="gchar">gchar</link>&nbsp;*<structfield>description</structfield>;</term>
402<listitem><simpara> human-readable description of chunk type
403</simpara></listitem>
404</varlistentry>
405<varlistentry>
406<term><link linkend="gboolean">gboolean</link>&nbsp;<structfield>container</structfield>;</term>
407<listitem><simpara> TRUE if this chunk contains sub-chunks
408</simpara></listitem>
409</varlistentry>
410<varlistentry>
411<term><link linkend="G3DIffChunkCallback">G3DIffChunkCallback</link>&nbsp;<structfield>callback</structfield>;</term>
412<listitem><simpara> function to be called if such a chunk is found
413</simpara></listitem>
414</varlistentry>
415</variablelist></refsect2>
416<refsect2 id="g3d-iff-chunk-info" role="macro">
417<title>g3d_iff_chunk_info</title>
418<indexterm zone="g3d-iff-chunk-info"><primary>g3d_iff_chunk_info</primary></indexterm><programlisting>#define g3d_iff_chunk_info G3DIffChunkInfo
419</programlisting>
420<para>
421IFF chunk description (deprecated).</para>
422<para>
423
424</para></refsect2>
425<refsect2 id="G3DIffGlobal" role="struct">
426<title>G3DIffGlobal</title>
427<indexterm zone="G3DIffGlobal"><primary>G3DIffGlobal</primary></indexterm><programlisting>typedef struct {
428 G3DContext *context;
429 G3DModel *model;
430 G3DStream *stream;
431 guint32 flags;
432 gpointer user_data;
433 FILE *f;
434 long int max_fpos;
435} G3DIffGlobal;
436</programlisting>
437<para>
438The plugin-global data to be given to IFF callback functions.</para>
439<para>
440
441</para><variablelist role="struct">
442<varlistentry>
443<term><link linkend="G3DContext">G3DContext</link>&nbsp;*<structfield>context</structfield>;</term>
444<listitem><simpara> a valid context
445</simpara></listitem>
446</varlistentry>
447<varlistentry>
448<term><link linkend="G3DModel">G3DModel</link>&nbsp;*<structfield>model</structfield>;</term>
449<listitem><simpara> a model
450</simpara></listitem>
451</varlistentry>
452<varlistentry>
453<term><link linkend="G3DStream">G3DStream</link>&nbsp;*<structfield>stream</structfield>;</term>
454<listitem><simpara> the stream to read model from
455</simpara></listitem>
456</varlistentry>
457<varlistentry>
458<term><link linkend="guint32">guint32</link>&nbsp;<structfield>flags</structfield>;</term>
459<listitem><simpara> IFF flags
460</simpara></listitem>
461</varlistentry>
462<varlistentry>
463<term><link linkend="gpointer">gpointer</link>&nbsp;<structfield>user_data</structfield>;</term>
464<listitem><simpara> to be used by plugin
465</simpara></listitem>
466</varlistentry>
467<varlistentry>
468<term><link linkend="FILE:CAPS">FILE</link>&nbsp;*<structfield>f</structfield>;</term>
469<listitem><simpara> file to read model from (DEPRECATED)
470</simpara></listitem>
471</varlistentry>
472<varlistentry>
473<term>long&nbsp;<link linkend="int">int</link>&nbsp;<structfield>max_fpos</structfield>;</term>
474<listitem><simpara> maximum file position (DEPRECATED)
475</simpara></listitem>
476</varlistentry>
477</variablelist></refsect2>
478<refsect2 id="g3d-iff-gdata" role="macro">
479<title>g3d_iff_gdata</title>
480<indexterm zone="g3d-iff-gdata"><primary>g3d_iff_gdata</primary></indexterm><programlisting>#define g3d_iff_gdata G3DIffGlobal
481</programlisting>
482<para>
483IFF global data (deprecated).</para>
484<para>
485
486</para></refsect2>
487<refsect2 id="G3DIffLocal" role="struct">
488<title>G3DIffLocal</title>
489<indexterm zone="G3DIffLocal"><primary>G3DIffLocal</primary></indexterm><programlisting>typedef struct {
490 guint32 id;
491 guint32 parent_id;
492 gpointer object;
493 gint32 level;
494 gpointer level_object;
495 gint32 nb;
496 gboolean finalize;
497} G3DIffLocal;
498</programlisting>
499<para>
500The function-local data for IFF callback functions.</para>
501<para>
502
503</para><variablelist role="struct">
504<varlistentry>
505<term><link linkend="guint32">guint32</link>&nbsp;<structfield>id</structfield>;</term>
506<listitem><simpara> chunk identifier
507</simpara></listitem>
508</varlistentry>
509<varlistentry>
510<term><link linkend="guint32">guint32</link>&nbsp;<structfield>parent_id</structfield>;</term>
511<listitem><simpara> parent chunk identifier
512</simpara></listitem>
513</varlistentry>
514<varlistentry>
515<term><link linkend="gpointer">gpointer</link>&nbsp;<structfield>object</structfield>;</term>
516<listitem><simpara> an object set by parent callbacks, may be NULL
517</simpara></listitem>
518</varlistentry>
519<varlistentry>
520<term><link linkend="gint32">gint32</link>&nbsp;<structfield>level</structfield>;</term>
521<listitem><simpara> level of chunk
522</simpara></listitem>
523</varlistentry>
524<varlistentry>
525<term><link linkend="gpointer">gpointer</link>&nbsp;<structfield>level_object</structfield>;</term>
526<listitem><simpara> object shared by callbacks on the same level, may be NULL
527</simpara></listitem>
528</varlistentry>
529<varlistentry>
530<term><link linkend="gint32">gint32</link>&nbsp;<structfield>nb</structfield>;</term>
531<listitem><simpara> number of bytes remaining in chunk, has to be decremented after
532correctly after reading from stream
533</simpara></listitem>
534</varlistentry>
535<varlistentry>
536<term><link linkend="gboolean">gboolean</link>&nbsp;<structfield>finalize</structfield>;</term>
537<listitem><simpara> for container chunks the callback function is called before
538and after processing possible sub-chunks, the second time <parameter>finalize</parameter> is set
539to TRUE
540</simpara></listitem>
541</varlistentry>
542</variablelist></refsect2>
543<refsect2 id="g3d-iff-ldata" role="macro">
544<title>g3d_iff_ldata</title>
545<indexterm zone="g3d-iff-ldata"><primary>g3d_iff_ldata</primary></indexterm><programlisting>#define g3d_iff_ldata G3DIffLocal
546</programlisting>
547<para>
548IFF local data (deprecated).</para>
549<para>
550
551</para></refsect2>
552
553</refsect1>
554
555
556
557
558</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/material.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/material.xml
new file mode 100644
index 0000000..e7240da
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/material.xml
@@ -0,0 +1,142 @@
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-material">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-material.top_of_page">material</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>material</refname>
13<refpurpose>Material generation and manipulation</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-material.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/material.h&gt;
23
24 <link linkend="G3DMaterial">G3DMaterial</link>;
25<link linkend="G3DMaterial">G3DMaterial</link>* <link linkend="g3d-material-new">g3d_material_new</link> (void);
26<link linkend="void">void</link> <link linkend="g3d-material-free">g3d_material_free</link> (<link linkend="G3DMaterial">G3DMaterial</link> *material);
27</synopsis>
28</refsynopsisdiv>
29
30
31
32
33
34
35
36
37
38<refsect1 id="libg3d-material.description" role="desc">
39<title role="desc.title">Description</title>
40<para>
41A material contains all color, shading and texture information for a
42<link linkend="G3DFace"><type>G3DFace</type></link>.</para>
43<para>
44
45</para>
46</refsect1>
47
48<refsect1 id="libg3d-material.details" role="details">
49<title role="details.title">Details</title>
50<refsect2 id="G3DMaterial" role="struct">
51<title>G3DMaterial</title>
52<indexterm zone="G3DMaterial"><primary>G3DMaterial</primary></indexterm><programlisting>typedef struct {
53 gchar *name;
54 G3DFloat r, g, b, a;
55 G3DFloat shininess;
56 G3DFloat specular[4];
57 guint32 flags;
58
59 G3DImage *tex_image;
60} G3DMaterial;
61</programlisting>
62<para>
63A material object.</para>
64<para>
65
66</para><variablelist role="struct">
67<varlistentry>
68<term><link linkend="gchar">gchar</link>&nbsp;*<structfield>name</structfield>;</term>
69<listitem><simpara> name of material
70</simpara></listitem>
71</varlistentry>
72<varlistentry>
73<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>r</structfield>;</term>
74<listitem><simpara> red component of color
75</simpara></listitem>
76</varlistentry>
77<varlistentry>
78<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>g</structfield>;</term>
79<listitem><simpara> green component of color
80</simpara></listitem>
81</varlistentry>
82<varlistentry>
83<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>b</structfield>;</term>
84<listitem><simpara> blue component of color
85</simpara></listitem>
86</varlistentry>
87<varlistentry>
88<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>a</structfield>;</term>
89<listitem><simpara> alpha component of color
90</simpara></listitem>
91</varlistentry>
92<varlistentry>
93<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>shininess</structfield>;</term>
94<listitem><simpara> shiny color
95</simpara></listitem>
96</varlistentry>
97<varlistentry>
98<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>specular</structfield>[4];</term>
99<listitem><simpara> specular color
100</simpara></listitem>
101</varlistentry>
102<varlistentry>
103<term><link linkend="guint32">guint32</link>&nbsp;<structfield>flags</structfield>;</term>
104<listitem><simpara> flags
105</simpara></listitem>
106</varlistentry>
107<varlistentry>
108<term><link linkend="G3DImage">G3DImage</link>&nbsp;*<structfield>tex_image</structfield>;</term>
109<listitem><simpara> texture image (optional, may be NULL)
110</simpara></listitem>
111</varlistentry>
112</variablelist></refsect2>
113<refsect2 id="g3d-material-new" role="function">
114<title>g3d_material_new ()</title>
115<indexterm zone="g3d-material-new"><primary>g3d_material_new</primary></indexterm><programlisting><link linkend="G3DMaterial">G3DMaterial</link>* g3d_material_new (void);</programlisting>
116<para>
117Generates a new material with a default color.</para>
118<para>
119
120</para><variablelist role="params">
121<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the new material or NULL on error
122</simpara></listitem></varlistentry>
123</variablelist></refsect2>
124<refsect2 id="g3d-material-free" role="function">
125<title>g3d_material_free ()</title>
126<indexterm zone="g3d-material-free"><primary>g3d_material_free</primary></indexterm><programlisting><link linkend="void">void</link> g3d_material_free (<link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
127<para>
128Frees all memory allocated for that material.</para>
129<para>
130
131</para><variablelist role="params">
132<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
133<listitem><simpara> the material to free
134</simpara></listitem></varlistentry>
135</variablelist></refsect2>
136
137</refsect1>
138
139
140
141
142</refentry>
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>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml
new file mode 100644
index 0000000..1392763
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml
@@ -0,0 +1,285 @@
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-model">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-model.top_of_page">model</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>model</refname>
13<refpurpose>Model manipulation functions</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-model.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/g3d.h&gt;
23
24#define <link linkend="G3D-MODEL-CENTER:CAPS">G3D_MODEL_CENTER</link>
25#define <link linkend="G3D-MODEL-NOCHECK:CAPS">G3D_MODEL_NOCHECK</link>
26#define <link linkend="G3D-MODEL-OPTIMIZE:CAPS">G3D_MODEL_OPTIMIZE</link>
27#define <link linkend="G3D-MODEL-SCALE:CAPS">G3D_MODEL_SCALE</link>
28 <link linkend="G3DModel">G3DModel</link>;
29<link linkend="G3DModel">G3DModel</link>* <link linkend="g3d-model-new">g3d_model_new</link> (void);
30<link linkend="G3DModel">G3DModel</link>* <link linkend="g3d-model-load">g3d_model_load</link> (<link linkend="G3DContext">G3DContext</link> *context,
31 const <link linkend="gchar">gchar</link> *filename);
32<link linkend="G3DModel">G3DModel</link>* <link linkend="g3d-model-load-full">g3d_model_load_full</link> (<link linkend="G3DContext">G3DContext</link> *context,
33 const <link linkend="gchar">gchar</link> *filename,
34 <link linkend="guint32">guint32</link> flags);
35<link linkend="gboolean">gboolean</link> <link linkend="g3d-model-check">g3d_model_check</link> (<link linkend="G3DModel">G3DModel</link> *model);
36<link linkend="gboolean">gboolean</link> <link linkend="g3d-model-center">g3d_model_center</link> (<link linkend="G3DModel">G3DModel</link> *model);
37<link linkend="gboolean">gboolean</link> <link linkend="g3d-model-transform">g3d_model_transform</link> (<link linkend="G3DModel">G3DModel</link> *model,
38 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);
39<link linkend="void">void</link> <link linkend="g3d-model-clear">g3d_model_clear</link> (<link linkend="G3DModel">G3DModel</link> *model);
40<link linkend="void">void</link> <link linkend="g3d-model-free">g3d_model_free</link> (<link linkend="G3DModel">G3DModel</link> *model);
41<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-model-get-object-by-name">g3d_model_get_object_by_name</link> (<link linkend="G3DModel">G3DModel</link> *model,
42 const <link linkend="gchar">gchar</link> *name);
43</synopsis>
44</refsynopsisdiv>
45
46
47
48
49
50
51
52
53
54<refsect1 id="libg3d-model.description" role="desc">
55<title role="desc.title">Description</title>
56<para>
57A model is a group of objects. All information loaded from a file by libg3d
58is found in this model.</para>
59<para>
60
61</para>
62</refsect1>
63
64<refsect1 id="libg3d-model.details" role="details">
65<title role="details.title">Details</title>
66<refsect2 id="G3D-MODEL-CENTER:CAPS" role="macro">
67<title>G3D_MODEL_CENTER</title>
68<indexterm zone="G3D-MODEL-CENTER:CAPS"><primary>G3D_MODEL_CENTER</primary></indexterm><programlisting>#define G3D_MODEL_CENTER (1 &lt;&lt; 1)
69</programlisting>
70<para>
71The model should be centered around the (0,0,0).</para>
72<para>
73
74</para></refsect2>
75<refsect2 id="G3D-MODEL-NOCHECK:CAPS" role="macro">
76<title>G3D_MODEL_NOCHECK</title>
77<indexterm zone="G3D-MODEL-NOCHECK:CAPS"><primary>G3D_MODEL_NOCHECK</primary></indexterm><programlisting>#define G3D_MODEL_NOCHECK (1 &lt;&lt; 3)
78</programlisting>
79<para>
80The common checks should be disabled. The checks include:
81<itemizedlist>
82<listitem>faces have at least 3 indices</listitem>
83<listitem>face indices are &lt;= number of vertices</listitem>
84<listitem>material of faces is not NULL</listitem>
85</itemizedlist></para>
86<para>
87
88</para></refsect2>
89<refsect2 id="G3D-MODEL-OPTIMIZE:CAPS" role="macro">
90<title>G3D_MODEL_OPTIMIZE</title>
91<indexterm zone="G3D-MODEL-OPTIMIZE:CAPS"><primary>G3D_MODEL_OPTIMIZE</primary></indexterm><programlisting>#define G3D_MODEL_OPTIMIZE (1 &lt;&lt; 2)
92</programlisting>
93<para>
94The model material/object/face lists should be serialized to some private
95arrays (deprecated).</para>
96<para>
97
98</para></refsect2>
99<refsect2 id="G3D-MODEL-SCALE:CAPS" role="macro">
100<title>G3D_MODEL_SCALE</title>
101<indexterm zone="G3D-MODEL-SCALE:CAPS"><primary>G3D_MODEL_SCALE</primary></indexterm><programlisting>#define G3D_MODEL_SCALE (1 &lt;&lt; 0)
102</programlisting>
103<para>
104The model should be scaled to a maximum extension of +/- 10.0.</para>
105<para>
106
107</para></refsect2>
108<refsect2 id="G3DModel" role="struct">
109<title>G3DModel</title>
110<indexterm zone="G3DModel"><primary>G3DModel</primary></indexterm><programlisting>typedef struct {
111 gchar *filename;
112 GSList *materials;
113 GSList *objects;
114} G3DModel;
115</programlisting>
116<para>
117A 3D model.</para>
118<para>
119
120</para><variablelist role="struct">
121<varlistentry>
122<term><link linkend="gchar">gchar</link>&nbsp;*<structfield>filename</structfield>;</term>
123<listitem><simpara> file name or URI of loaded model, may be set by application
124</simpara></listitem>
125</varlistentry>
126<varlistentry>
127<term><link linkend="GSList">GSList</link>&nbsp;*<structfield>materials</structfield>;</term>
128<listitem><simpara> list of materials (<link linkend="G3DMaterial"><type>G3DMaterial</type></link>)
129</simpara></listitem>
130</varlistentry>
131<varlistentry>
132<term><link linkend="GSList">GSList</link>&nbsp;*<structfield>objects</structfield>;</term>
133<listitem><simpara> list of objects (<link linkend="G3DObject"><type>G3DObject</type></link>)
134</simpara></listitem>
135</varlistentry>
136</variablelist></refsect2>
137<refsect2 id="g3d-model-new" role="function">
138<title>g3d_model_new ()</title>
139<indexterm zone="g3d-model-new"><primary>g3d_model_new</primary></indexterm><programlisting><link linkend="G3DModel">G3DModel</link>* g3d_model_new (void);</programlisting>
140<para>
141This functions allocates and initializes a new G3DModel.</para>
142<para>
143
144</para><variablelist role="params">
145<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated G3DModel
146</simpara></listitem></varlistentry>
147</variablelist></refsect2>
148<refsect2 id="g3d-model-load" role="function">
149<title>g3d_model_load ()</title>
150<indexterm zone="g3d-model-load"><primary>g3d_model_load</primary></indexterm><programlisting><link linkend="G3DModel">G3DModel</link>* g3d_model_load (<link linkend="G3DContext">G3DContext</link> *context,
151 const <link linkend="gchar">gchar</link> *filename);</programlisting>
152<para>
153Loads a model from a file. The model is checked, centered, resized,
154optimized.</para>
155<para>
156
157</para><variablelist role="params">
158<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
159<listitem><simpara> a valid context
160</simpara></listitem></varlistentry>
161<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
162<listitem><simpara> the file name of the model to load
163</simpara></listitem></varlistentry>
164<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the loaded model or NULL in case of an error
165</simpara></listitem></varlistentry>
166</variablelist></refsect2>
167<refsect2 id="g3d-model-load-full" role="function">
168<title>g3d_model_load_full ()</title>
169<indexterm zone="g3d-model-load-full"><primary>g3d_model_load_full</primary></indexterm><programlisting><link linkend="G3DModel">G3DModel</link>* g3d_model_load_full (<link linkend="G3DContext">G3DContext</link> *context,
170 const <link linkend="gchar">gchar</link> *filename,
171 <link linkend="guint32">guint32</link> flags);</programlisting>
172<para>
173Loads a model from a file. Depending on <parameter>flags</parameter> the model is checked,
174centered, resized, optimized.</para>
175<para>
176
177</para><variablelist role="params">
178<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
179<listitem><simpara> a valid context
180</simpara></listitem></varlistentry>
181<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
182<listitem><simpara> the file name of the model to load
183</simpara></listitem></varlistentry>
184<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
185<listitem><simpara> object manipulation flags
186</simpara></listitem></varlistentry>
187<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the loaded model or NULL in case of an error.
188</simpara></listitem></varlistentry>
189</variablelist></refsect2>
190<refsect2 id="g3d-model-check" role="function">
191<title>g3d_model_check ()</title>
192<indexterm zone="g3d-model-check"><primary>g3d_model_check</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_model_check (<link linkend="G3DModel">G3DModel</link> *model);</programlisting>
193<para>
194Checks whether a model returned by plugin is valid.</para>
195<para>
196
197</para><variablelist role="params">
198<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
199<listitem><simpara> the model to check
200</simpara></listitem></varlistentry>
201<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE on error
202</simpara></listitem></varlistentry>
203</variablelist></refsect2>
204<refsect2 id="g3d-model-center" role="function">
205<title>g3d_model_center ()</title>
206<indexterm zone="g3d-model-center"><primary>g3d_model_center</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_model_center (<link linkend="G3DModel">G3DModel</link> *model);</programlisting>
207<para>
208Translates all object coordinates that the object center is at (0, 0, 0)</para>
209<para>
210
211</para><variablelist role="params">
212<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
213<listitem><simpara> the model to center
214</simpara></listitem></varlistentry>
215<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE on error
216</simpara></listitem></varlistentry>
217</variablelist></refsect2>
218<refsect2 id="g3d-model-transform" role="function">
219<title>g3d_model_transform ()</title>
220<indexterm zone="g3d-model-transform"><primary>g3d_model_transform</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_model_transform (<link linkend="G3DModel">G3DModel</link> *model,
221 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting>
222<para>
223Transform all toplevel objects in model with matrix.</para>
224<para>
225
226</para><variablelist role="params">
227<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
228<listitem><simpara> the model
229</simpara></listitem></varlistentry>
230<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
231<listitem><simpara> transformation matrix
232</simpara></listitem></varlistentry>
233<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
234</simpara></listitem></varlistentry>
235</variablelist></refsect2>
236<refsect2 id="g3d-model-clear" role="function">
237<title>g3d_model_clear ()</title>
238<indexterm zone="g3d-model-clear"><primary>g3d_model_clear</primary></indexterm><programlisting><link linkend="void">void</link> g3d_model_clear (<link linkend="G3DModel">G3DModel</link> *model);</programlisting>
239<para>
240Removes all objects from a model.</para>
241<para>
242
243</para><variablelist role="params">
244<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
245<listitem><simpara> the model to clear
246</simpara></listitem></varlistentry>
247</variablelist></refsect2>
248<refsect2 id="g3d-model-free" role="function">
249<title>g3d_model_free ()</title>
250<indexterm zone="g3d-model-free"><primary>g3d_model_free</primary></indexterm><programlisting><link linkend="void">void</link> g3d_model_free (<link linkend="G3DModel">G3DModel</link> *model);</programlisting>
251<para>
252Frees all memory allocated for the model including all objects, materials
253and textures.</para>
254<para>
255
256</para><variablelist role="params">
257<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
258<listitem><simpara> the model to free
259</simpara></listitem></varlistentry>
260</variablelist></refsect2>
261<refsect2 id="g3d-model-get-object-by-name" role="function">
262<title>g3d_model_get_object_by_name ()</title>
263<indexterm zone="g3d-model-get-object-by-name"><primary>g3d_model_get_object_by_name</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_model_get_object_by_name (<link linkend="G3DModel">G3DModel</link> *model,
264 const <link linkend="gchar">gchar</link> *name);</programlisting>
265<para>
266Searches the object tree for an object with the given name.</para>
267<para>
268
269</para><variablelist role="params">
270<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
271<listitem><simpara> the model containing all objects
272</simpara></listitem></varlistentry>
273<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
274<listitem><simpara> the name of the requested object
275</simpara></listitem></varlistentry>
276<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the requested object or NULL if non was found
277</simpara></listitem></varlistentry>
278</variablelist></refsect2>
279
280</refsect1>
281
282
283
284
285</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/object.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/object.xml
new file mode 100644
index 0000000..5aa5baa
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/object.xml
@@ -0,0 +1,301 @@
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-object">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-object.top_of_page">object</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>object</refname>
13<refpurpose>Object manipulation</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-object.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/object.h&gt;
23
24 <link linkend="G3DObject">G3DObject</link>;
25 <link linkend="G3DTransformation">G3DTransformation</link>;
26<link linkend="void">void</link> <link linkend="g3d-object-free">g3d_object_free</link> (<link linkend="G3DObject">G3DObject</link> *object);
27<link linkend="gdouble">gdouble</link> <link linkend="g3d-object-radius">g3d_object_radius</link> (<link linkend="G3DObject">G3DObject</link> *object);
28<link linkend="gboolean">gboolean</link> <link linkend="g3d-object-scale">g3d_object_scale</link> (<link linkend="G3DObject">G3DObject</link> *object,
29 <link linkend="G3DFloat">G3DFloat</link> scale);
30<link linkend="gboolean">gboolean</link> <link linkend="g3d-object-transform">g3d_object_transform</link> (<link linkend="G3DObject">G3DObject</link> *object,
31 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);
32<link linkend="gboolean">gboolean</link> <link linkend="g3d-object-transform-normals">g3d_object_transform_normals</link> (<link linkend="G3DObject">G3DObject</link> *object,
33 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);
34<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-object-duplicate">g3d_object_duplicate</link> (<link linkend="G3DObject">G3DObject</link> *object);
35<link linkend="gboolean">gboolean</link> <link linkend="g3d-object-optimize">g3d_object_optimize</link> (<link linkend="G3DObject">G3DObject</link> *object);
36<link linkend="gboolean">gboolean</link> <link linkend="g3d-object-smooth">g3d_object_smooth</link> (<link linkend="G3DObject">G3DObject</link> *object);
37<link linkend="gboolean">gboolean</link> <link linkend="g3d-object-merge">g3d_object_merge</link> (<link linkend="G3DObject">G3DObject</link> *o1,
38 <link linkend="G3DObject">G3DObject</link> *o2);
39</synopsis>
40</refsynopsisdiv>
41
42
43
44
45
46
47
48
49
50<refsect1 id="libg3d-object.description" role="desc">
51<title role="desc.title">Description</title>
52<para>
53Objects are parts of a model. In most file formats vertices and faces are
54grouped in some way into objects. Objects can be hierarchical, so what a
55model contains is basically an object tree.</para>
56<para>
57
58</para>
59</refsect1>
60
61<refsect1 id="libg3d-object.details" role="details">
62<title role="details.title">Details</title>
63<refsect2 id="G3DObject" role="struct">
64<title>G3DObject</title>
65<indexterm zone="G3DObject"><primary>G3DObject</primary></indexterm><programlisting>typedef struct {
66 gchar *name;
67
68 GSList *materials;
69 GSList *faces;
70 GSList *objects;
71
72 /* transformation, may be NULL */
73 G3DTransformation *transformation;
74
75 /* don't render this object */
76 gboolean hide;
77
78 /* vertices */
79 guint32 vertex_count;
80 G3DVector *vertex_data;
81} G3DObject;
82</programlisting>
83<para>
84A three-dimensional object.</para>
85<para>
86
87</para><variablelist role="struct">
88<varlistentry>
89<term><link linkend="gchar">gchar</link>&nbsp;*<structfield>name</structfield>;</term>
90<listitem><simpara> name of object
91</simpara></listitem>
92</varlistentry>
93<varlistentry>
94<term><link linkend="GSList">GSList</link>&nbsp;*<structfield>materials</structfield>;</term>
95<listitem><simpara> list of materials
96</simpara></listitem>
97</varlistentry>
98<varlistentry>
99<term><link linkend="GSList">GSList</link>&nbsp;*<structfield>faces</structfield>;</term>
100<listitem><simpara> list of faces
101</simpara></listitem>
102</varlistentry>
103<varlistentry>
104<term><link linkend="GSList">GSList</link>&nbsp;*<structfield>objects</structfield>;</term>
105<listitem><simpara> list of sub-objects
106</simpara></listitem>
107</varlistentry>
108<varlistentry>
109<term><link linkend="G3DTransformation">G3DTransformation</link>&nbsp;*<structfield>transformation</structfield>;</term>
110<listitem><simpara> optional transformation
111</simpara></listitem>
112</varlistentry>
113<varlistentry>
114<term><link linkend="gboolean">gboolean</link>&nbsp;<structfield>hide</structfield>;</term>
115<listitem><simpara> flag to disable object rendering
116</simpara></listitem>
117</varlistentry>
118<varlistentry>
119<term><link linkend="guint32">guint32</link>&nbsp;<structfield>vertex_count</structfield>;</term>
120<listitem><simpara> number of vertices
121</simpara></listitem>
122</varlistentry>
123<varlistentry>
124<term><link linkend="G3DVector">G3DVector</link>&nbsp;*<structfield>vertex_data</structfield>;</term>
125<listitem><simpara> vertex vector data
126</simpara></listitem>
127</varlistentry>
128</variablelist></refsect2>
129<refsect2 id="G3DTransformation" role="struct">
130<title>G3DTransformation</title>
131<indexterm zone="G3DTransformation"><primary>G3DTransformation</primary></indexterm><programlisting>typedef struct {
132 G3DMatrix matrix[16];
133 guint32 flags;
134} G3DTransformation;
135</programlisting>
136<para>
137A three-dimensional matrix transformation object.</para>
138<para>
139
140</para><variablelist role="struct">
141<varlistentry>
142<term><link linkend="G3DMatrix">G3DMatrix</link>&nbsp;<structfield>matrix</structfield>[16];</term>
143<listitem><simpara> the transformation matrix
144</simpara></listitem>
145</varlistentry>
146<varlistentry>
147<term><link linkend="guint32">guint32</link>&nbsp;<structfield>flags</structfield>;</term>
148<listitem><simpara> flags
149</simpara></listitem>
150</varlistentry>
151</variablelist></refsect2>
152<refsect2 id="g3d-object-free" role="function">
153<title>g3d_object_free ()</title>
154<indexterm zone="g3d-object-free"><primary>g3d_object_free</primary></indexterm><programlisting><link linkend="void">void</link> g3d_object_free (<link linkend="G3DObject">G3DObject</link> *object);</programlisting>
155<para>
156Frees all memory allocated for that object.</para>
157<para>
158
159</para><variablelist role="params">
160<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
161<listitem><simpara> the object to free
162</simpara></listitem></varlistentry>
163</variablelist></refsect2>
164<refsect2 id="g3d-object-radius" role="function">
165<title>g3d_object_radius ()</title>
166<indexterm zone="g3d-object-radius"><primary>g3d_object_radius</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link> g3d_object_radius (<link linkend="G3DObject">G3DObject</link> *object);</programlisting>
167<para>
168Calculates the radius of the object. This is the maximum from the
169center to a vertex.</para>
170<para>
171
172</para><variablelist role="params">
173<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
174<listitem><simpara> the object to measure
175</simpara></listitem></varlistentry>
176<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the radius of the given object
177</simpara></listitem></varlistentry>
178</variablelist></refsect2>
179<refsect2 id="g3d-object-scale" role="function">
180<title>g3d_object_scale ()</title>
181<indexterm zone="g3d-object-scale"><primary>g3d_object_scale</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_object_scale (<link linkend="G3DObject">G3DObject</link> *object,
182 <link linkend="G3DFloat">G3DFloat</link> scale);</programlisting>
183<para>
184Resizes the object by the factor <parameter>scale</parameter>.</para>
185<para>
186
187</para><variablelist role="params">
188<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
189<listitem><simpara> the object to scale
190</simpara></listitem></varlistentry>
191<varlistentry><term><parameter>scale</parameter>&nbsp;:</term>
192<listitem><simpara> scale factor
193</simpara></listitem></varlistentry>
194<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
195</simpara></listitem></varlistentry>
196</variablelist></refsect2>
197<refsect2 id="g3d-object-transform" role="function">
198<title>g3d_object_transform ()</title>
199<indexterm zone="g3d-object-transform"><primary>g3d_object_transform</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_object_transform (<link linkend="G3DObject">G3DObject</link> *object,
200 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting>
201<para>
202Multiplies all vertices of the object with the transformation matrix.</para>
203<para>
204
205</para><variablelist role="params">
206<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
207<listitem><simpara> the object to transform
208</simpara></listitem></varlistentry>
209<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
210<listitem><simpara> the transformation matrix
211</simpara></listitem></varlistentry>
212<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
213</simpara></listitem></varlistentry>
214</variablelist></refsect2>
215<refsect2 id="g3d-object-transform-normals" role="function">
216<title>g3d_object_transform_normals ()</title>
217<indexterm zone="g3d-object-transform-normals"><primary>g3d_object_transform_normals</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_object_transform_normals (<link linkend="G3DObject">G3DObject</link> *object,
218 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting>
219<para>
220Multiplies all normals of the object with the transformation matrix.</para>
221<para>
222
223</para><variablelist role="params">
224<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
225<listitem><simpara> the object to transform
226</simpara></listitem></varlistentry>
227<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
228<listitem><simpara> the transformation matrix
229</simpara></listitem></varlistentry>
230<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
231</simpara></listitem></varlistentry>
232</variablelist></refsect2>
233<refsect2 id="g3d-object-duplicate" role="function">
234<title>g3d_object_duplicate ()</title>
235<indexterm zone="g3d-object-duplicate"><primary>g3d_object_duplicate</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_object_duplicate (<link linkend="G3DObject">G3DObject</link> *object);</programlisting>
236<para>
237Duplicates an object with all vertices, faces and materials.</para>
238<para>
239
240</para><variablelist role="params">
241<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
242<listitem><simpara> the object to duplicate
243</simpara></listitem></varlistentry>
244<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the new clone object
245</simpara></listitem></varlistentry>
246</variablelist></refsect2>
247<refsect2 id="g3d-object-optimize" role="function">
248<title>g3d_object_optimize ()</title>
249<indexterm zone="g3d-object-optimize"><primary>g3d_object_optimize</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_object_optimize (<link linkend="G3DObject">G3DObject</link> *object);</programlisting>
250<para>
251Puts all vertex and face information into special arrays for faster
252rendering. It is deprecated and should not be used.</para>
253<para>
254
255</para><variablelist role="params">
256<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
257<listitem><simpara> the object to optimize
258</simpara></listitem></varlistentry>
259<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
260</simpara></listitem></varlistentry>
261</variablelist></refsect2>
262<refsect2 id="g3d-object-smooth" role="function">
263<title>g3d_object_smooth ()</title>
264<indexterm zone="g3d-object-smooth"><primary>g3d_object_smooth</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_object_smooth (<link linkend="G3DObject">G3DObject</link> *object);</programlisting>
265<para>
266FIXME: unimplemented.</para>
267<para>
268
269</para><variablelist role="params">
270<varlistentry><term><parameter>object</parameter>&nbsp;:</term>
271<listitem><simpara> the object to smooth
272</simpara></listitem></varlistentry>
273<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
274</simpara></listitem></varlistentry>
275</variablelist></refsect2>
276<refsect2 id="g3d-object-merge" role="function">
277<title>g3d_object_merge ()</title>
278<indexterm zone="g3d-object-merge"><primary>g3d_object_merge</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_object_merge (<link linkend="G3DObject">G3DObject</link> *o1,
279 <link linkend="G3DObject">G3DObject</link> *o2);</programlisting>
280<para>
281Merges both objects into <parameter>o1</parameter>.
282FIXME: needs cleanup</para>
283<para>
284
285</para><variablelist role="params">
286<varlistentry><term><parameter>o1</parameter>&nbsp;:</term>
287<listitem><simpara> first and target object
288</simpara></listitem></varlistentry>
289<varlistentry><term><parameter>o2</parameter>&nbsp;:</term>
290<listitem><simpara> second object
291</simpara></listitem></varlistentry>
292<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
293</simpara></listitem></varlistentry>
294</variablelist></refsect2>
295
296</refsect1>
297
298
299
300
301</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/plugins.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/plugins.xml
new file mode 100644
index 0000000..567293e
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/plugins.xml
@@ -0,0 +1,423 @@
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-plugins">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-plugins.top_of_page">plugins</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>plugins</refname>
13<refpurpose>G3DPlugin interface</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-plugins.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/plugins.h&gt;
23
24enum <link linkend="G3DPluginType">G3DPluginType</link>;
25<link linkend="gpointer">gpointer</link> (<link linkend="G3DPluginInitFunc">*G3DPluginInitFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context);
26<link linkend="void">void</link> (<link linkend="G3DPluginCleanupFunc">*G3DPluginCleanupFunc</link>) (<link linkend="gpointer">gpointer</link> user_data);
27<link linkend="gboolean">gboolean</link> (<link linkend="G3DPluginLoadModelFunc">*G3DPluginLoadModelFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context,
28 const <link linkend="gchar">gchar</link> *filename,
29 <link linkend="G3DModel">G3DModel</link> *model,
30 <link linkend="gpointer">gpointer</link> user_data);
31<link linkend="gboolean">gboolean</link> (<link linkend="G3DPluginLoadModelFromStreamFunc">*G3DPluginLoadModelFromStreamFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context,
32 <link linkend="G3DStream">G3DStream</link> *stream,
33 <link linkend="G3DModel">G3DModel</link> *model,
34 <link linkend="gpointer">gpointer</link> user_data);
35<link linkend="gboolean">gboolean</link> (<link linkend="G3DPluginLoadImageFunc">*G3DPluginLoadImageFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context,
36 const <link linkend="gchar">gchar</link> *filename,
37 <link linkend="G3DImage">G3DImage</link> *image,
38 <link linkend="gpointer">gpointer</link> user_data);
39<link linkend="gboolean">gboolean</link> (<link linkend="G3DPluginLoadImageStreamFunc">*G3DPluginLoadImageStreamFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context,
40 <link linkend="G3DStream">G3DStream</link> *stream,
41 <link linkend="G3DImage">G3DImage</link> *image,
42 <link linkend="gpointer">gpointer</link> user_data);
43<link linkend="gchar">gchar</link>* (<link linkend="G3DPluginGetDescFunc">*G3DPluginGetDescFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context);
44<link linkend="gchar">gchar</link>** (<link linkend="G3DPluginGetExtFunc">*G3DPluginGetExtFunc</link>) (<link linkend="G3DContext">G3DContext</link> *context);
45 <link linkend="G3DPlugin">G3DPlugin</link>;
46<link linkend="gboolean">gboolean</link> <link linkend="g3d-plugins-init">g3d_plugins_init</link> (<link linkend="G3DContext">G3DContext</link> *context);
47<link linkend="void">void</link> <link linkend="g3d-plugins-cleanup">g3d_plugins_cleanup</link> (<link linkend="G3DContext">G3DContext</link> *context);
48<link linkend="gboolean">gboolean</link> <link linkend="g3d-plugins-load-model">g3d_plugins_load_model</link> (<link linkend="G3DContext">G3DContext</link> *context,
49 const <link linkend="gchar">gchar</link> *filename,
50 <link linkend="G3DModel">G3DModel</link> *model);
51<link linkend="gboolean">gboolean</link> <link linkend="g3d-plugins-load-model-from-stream">g3d_plugins_load_model_from_stream</link> (<link linkend="G3DContext">G3DContext</link> *context,
52 <link linkend="G3DStream">G3DStream</link> *stream,
53 <link linkend="G3DModel">G3DModel</link> *model);
54<link linkend="gboolean">gboolean</link> <link linkend="g3d-plugins-load-image">g3d_plugins_load_image</link> (<link linkend="G3DContext">G3DContext</link> *context,
55 const <link linkend="gchar">gchar</link> *filename,
56 <link linkend="G3DImage">G3DImage</link> *image);
57<link linkend="gboolean">gboolean</link> <link linkend="g3d-plugins-load-image-from-stream">g3d_plugins_load_image_from_stream</link> (<link linkend="G3DContext">G3DContext</link> *context,
58 <link linkend="G3DStream">G3DStream</link> *stream,
59 <link linkend="G3DImage">G3DImage</link> *image);
60<link linkend="gchar">gchar</link>** <link linkend="g3d-plugins-get-image-extensions">g3d_plugins_get_image_extensions</link> (<link linkend="G3DContext">G3DContext</link> *context);
61</synopsis>
62</refsynopsisdiv>
63
64
65
66
67
68
69
70
71
72<refsect1 id="libg3d-plugins.description" role="desc">
73<title role="desc.title">Description</title>
74<para>
75Direct interaction with the plugin system is normally not needed when using
76libg3d. It may be required when writing a plugin which should load a
77<link linkend="G3DImage"><type>G3DImage</type></link> or a <link linkend="G3DModel"><type>G3DModel</type></link> with another plugin.</para>
78<para>
79
80</para>
81</refsect1>
82
83<refsect1 id="libg3d-plugins.details" role="details">
84<title role="details.title">Details</title>
85<refsect2 id="G3DPluginType" role="enum">
86<title>enum G3DPluginType</title>
87<indexterm zone="G3DPluginType"><primary>G3DPluginType</primary></indexterm><programlisting>typedef enum {
88 G3D_PLUGIN_UNKNOWN = 0x00,
89 G3D_PLUGIN_IMPORT,
90 G3D_PLUGIN_IMAGE
91} G3DPluginType;
92</programlisting>
93<para>
94Type of plugin.</para>
95<para>
96
97</para><variablelist role="enum">
98<varlistentry id="G3D-PLUGIN-UNKNOWN:CAPS" role="constant">
99<term><literal>G3D_PLUGIN_UNKNOWN</literal></term>
100<listitem><simpara> unknown plugin type
101</simpara></listitem>
102</varlistentry>
103<varlistentry id="G3D-PLUGIN-IMPORT:CAPS" role="constant">
104<term><literal>G3D_PLUGIN_IMPORT</literal></term>
105<listitem><simpara> model import plugin
106</simpara></listitem>
107</varlistentry>
108<varlistentry id="G3D-PLUGIN-IMAGE:CAPS" role="constant">
109<term><literal>G3D_PLUGIN_IMAGE</literal></term>
110<listitem><simpara> image loading plugin
111</simpara></listitem>
112</varlistentry>
113</variablelist></refsect2>
114<refsect2 id="G3DPluginInitFunc" role="function">
115<title>G3DPluginInitFunc ()</title>
116<indexterm zone="G3DPluginInitFunc"><primary>G3DPluginInitFunc</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link> (*G3DPluginInitFunc) (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
117<para>
118Prototype for <link linkend="plugin-init"><function>plugin_init()</function></link>.</para>
119<para>
120
121</para><variablelist role="params">
122<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
123<listitem><simpara> the context
124</simpara></listitem></varlistentry>
125<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> opaque plugin data.
126</simpara></listitem></varlistentry>
127</variablelist></refsect2>
128<refsect2 id="G3DPluginCleanupFunc" role="function">
129<title>G3DPluginCleanupFunc ()</title>
130<indexterm zone="G3DPluginCleanupFunc"><primary>G3DPluginCleanupFunc</primary></indexterm><programlisting><link linkend="void">void</link> (*G3DPluginCleanupFunc) (<link linkend="gpointer">gpointer</link> user_data);</programlisting>
131<para>
132Prototype for <link linkend="plugin-cleanup"><function>plugin_cleanup()</function></link>.</para>
133<para>
134
135</para><variablelist role="params">
136<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
137<listitem><simpara> opaque plugin data
138</simpara></listitem></varlistentry>
139</variablelist></refsect2>
140<refsect2 id="G3DPluginLoadModelFunc" role="function">
141<title>G3DPluginLoadModelFunc ()</title>
142<indexterm zone="G3DPluginLoadModelFunc"><primary>G3DPluginLoadModelFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DPluginLoadModelFunc) (<link linkend="G3DContext">G3DContext</link> *context,
143 const <link linkend="gchar">gchar</link> *filename,
144 <link linkend="G3DModel">G3DModel</link> *model,
145 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
146<para>
147Prototype for <link linkend="plugin-load-model"><function>plugin_load_model()</function></link>.</para>
148<para>
149
150</para><variablelist role="params">
151<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
152<listitem><simpara> the context
153</simpara></listitem></varlistentry>
154<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
155<listitem><simpara> file name of model
156</simpara></listitem></varlistentry>
157<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
158<listitem><simpara> the model structure to fill
159</simpara></listitem></varlistentry>
160<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
161<listitem><simpara> opaque plugin data
162</simpara></listitem></varlistentry>
163<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
164</simpara></listitem></varlistentry>
165</variablelist></refsect2>
166<refsect2 id="G3DPluginLoadModelFromStreamFunc" role="function">
167<title>G3DPluginLoadModelFromStreamFunc ()</title>
168<indexterm zone="G3DPluginLoadModelFromStreamFunc"><primary>G3DPluginLoadModelFromStreamFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DPluginLoadModelFromStreamFunc) (<link linkend="G3DContext">G3DContext</link> *context,
169 <link linkend="G3DStream">G3DStream</link> *stream,
170 <link linkend="G3DModel">G3DModel</link> *model,
171 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
172<para>
173Prototype for <link linkend="plugin-load-model-from-stream"><function>plugin_load_model_from_stream()</function></link>.</para>
174<para>
175
176</para><variablelist role="params">
177<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
178<listitem><simpara> the context
179</simpara></listitem></varlistentry>
180<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
181<listitem><simpara> the stream to load from
182</simpara></listitem></varlistentry>
183<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
184<listitem><simpara> the model structure to fill
185</simpara></listitem></varlistentry>
186<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
187<listitem><simpara> opaque plugin data
188</simpara></listitem></varlistentry>
189<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
190</simpara></listitem></varlistentry>
191</variablelist></refsect2>
192<refsect2 id="G3DPluginLoadImageFunc" role="function">
193<title>G3DPluginLoadImageFunc ()</title>
194<indexterm zone="G3DPluginLoadImageFunc"><primary>G3DPluginLoadImageFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DPluginLoadImageFunc) (<link linkend="G3DContext">G3DContext</link> *context,
195 const <link linkend="gchar">gchar</link> *filename,
196 <link linkend="G3DImage">G3DImage</link> *image,
197 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
198<para>
199Prototype for <link linkend="plugin-load-image"><function>plugin_load_image()</function></link>.</para>
200<para>
201
202</para><variablelist role="params">
203<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
204<listitem><simpara> the context
205</simpara></listitem></varlistentry>
206<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
207<listitem><simpara> file name of image
208</simpara></listitem></varlistentry>
209<varlistentry><term><parameter>image</parameter>&nbsp;:</term>
210<listitem><simpara> image structure to fill
211</simpara></listitem></varlistentry>
212<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
213<listitem><simpara> opaque plugin data
214</simpara></listitem></varlistentry>
215<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
216</simpara></listitem></varlistentry>
217</variablelist></refsect2>
218<refsect2 id="G3DPluginLoadImageStreamFunc" role="function">
219<title>G3DPluginLoadImageStreamFunc ()</title>
220<indexterm zone="G3DPluginLoadImageStreamFunc"><primary>G3DPluginLoadImageStreamFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DPluginLoadImageStreamFunc) (<link linkend="G3DContext">G3DContext</link> *context,
221 <link linkend="G3DStream">G3DStream</link> *stream,
222 <link linkend="G3DImage">G3DImage</link> *image,
223 <link linkend="gpointer">gpointer</link> user_data);</programlisting>
224<para>
225Prototype for <link linkend="plugin-load-image-from-stream"><function>plugin_load_image_from_stream()</function></link>.</para>
226<para>
227
228</para><variablelist role="params">
229<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
230<listitem><simpara> the context
231</simpara></listitem></varlistentry>
232<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
233<listitem><simpara> the stream to load from
234</simpara></listitem></varlistentry>
235<varlistentry><term><parameter>image</parameter>&nbsp;:</term>
236<listitem><simpara> image structure to fill
237</simpara></listitem></varlistentry>
238<varlistentry><term><parameter>user_data</parameter>&nbsp;:</term>
239<listitem><simpara> opaque plugin data
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="G3DPluginGetDescFunc" role="function">
245<title>G3DPluginGetDescFunc ()</title>
246<indexterm zone="G3DPluginGetDescFunc"><primary>G3DPluginGetDescFunc</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* (*G3DPluginGetDescFunc) (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
247<para>
248Prototype for <link linkend="plugin-description"><function>plugin_description()</function></link>.</para>
249<para>
250
251</para><variablelist role="params">
252<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
253<listitem><simpara> the context
254</simpara></listitem></varlistentry>
255<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly-allocated string containing the description of the plugin.
256</simpara></listitem></varlistentry>
257</variablelist></refsect2>
258<refsect2 id="G3DPluginGetExtFunc" role="function">
259<title>G3DPluginGetExtFunc ()</title>
260<indexterm zone="G3DPluginGetExtFunc"><primary>G3DPluginGetExtFunc</primary></indexterm><programlisting><link linkend="gchar">gchar</link>** (*G3DPluginGetExtFunc) (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
261<para>
262Prototype for <link linkend="plugin-extensions"><function>plugin_extensions()</function></link>.</para>
263<para>
264
265</para><variablelist role="params">
266<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
267<listitem><simpara> the context
268</simpara></listitem></varlistentry>
269<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> NULL-terminated list of file extensions supported by this plugin.
270Free with <link linkend="g-strfreev"><function>g_strfreev()</function></link>.
271</simpara></listitem></varlistentry>
272</variablelist></refsect2>
273<refsect2 id="G3DPlugin" role="struct">
274<title>G3DPlugin</title>
275<indexterm zone="G3DPlugin"><primary>G3DPlugin</primary></indexterm><programlisting>typedef struct {
276} G3DPlugin;
277</programlisting>
278<para>
279A libg3d plugin.</para>
280<para>
281
282</para></refsect2>
283<refsect2 id="g3d-plugins-init" role="function">
284<title>g3d_plugins_init ()</title>
285<indexterm zone="g3d-plugins-init"><primary>g3d_plugins_init</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_plugins_init (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
286<para>
287Initializes the plugin system. This is implicitly done when using
288<link linkend="g3d-context-new"><function>g3d_context_new()</function></link>.</para>
289<para>
290
291</para><variablelist role="params">
292<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
293<listitem><simpara> a valid <link linkend="G3DContext"><type>G3DContext</type></link>
294</simpara></listitem></varlistentry>
295<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
296</simpara></listitem></varlistentry>
297</variablelist></refsect2>
298<refsect2 id="g3d-plugins-cleanup" role="function">
299<title>g3d_plugins_cleanup ()</title>
300<indexterm zone="g3d-plugins-cleanup"><primary>g3d_plugins_cleanup</primary></indexterm><programlisting><link linkend="void">void</link> g3d_plugins_cleanup (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
301<para>
302Clean up the plugin system. Usually done by <link linkend="g3d-context-free"><function>g3d_context_free()</function></link>.</para>
303<para>
304
305</para><variablelist role="params">
306<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
307<listitem><simpara> a valid context
308</simpara></listitem></varlistentry>
309</variablelist></refsect2>
310<refsect2 id="g3d-plugins-load-model" role="function">
311<title>g3d_plugins_load_model ()</title>
312<indexterm zone="g3d-plugins-load-model"><primary>g3d_plugins_load_model</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_plugins_load_model (<link linkend="G3DContext">G3DContext</link> *context,
313 const <link linkend="gchar">gchar</link> *filename,
314 <link linkend="G3DModel">G3DModel</link> *model);</programlisting>
315<para>
316Try to load a model from file using import plugins.</para>
317<para>
318
319</para><variablelist role="params">
320<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
321<listitem><simpara> a valid context
322</simpara></listitem></varlistentry>
323<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
324<listitem><simpara> file name of model to load
325</simpara></listitem></varlistentry>
326<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
327<listitem><simpara> model structure to fill
328</simpara></listitem></varlistentry>
329<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
330</simpara></listitem></varlistentry>
331</variablelist></refsect2>
332<refsect2 id="g3d-plugins-load-model-from-stream" role="function">
333<title>g3d_plugins_load_model_from_stream ()</title>
334<indexterm zone="g3d-plugins-load-model-from-stream"><primary>g3d_plugins_load_model_from_stream</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_plugins_load_model_from_stream (<link linkend="G3DContext">G3DContext</link> *context,
335 <link linkend="G3DStream">G3DStream</link> *stream,
336 <link linkend="G3DModel">G3DModel</link> *model);</programlisting>
337<para>
338Try to load a model from stream using import plugins.</para>
339<para>
340
341</para><variablelist role="params">
342<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
343<listitem><simpara> a valid context
344</simpara></listitem></varlistentry>
345<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
346<listitem><simpara> stream to load model from
347</simpara></listitem></varlistentry>
348<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
349<listitem><simpara> model structure to fill
350</simpara></listitem></varlistentry>
351<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
352</simpara></listitem></varlistentry>
353</variablelist></refsect2>
354<refsect2 id="g3d-plugins-load-image" role="function">
355<title>g3d_plugins_load_image ()</title>
356<indexterm zone="g3d-plugins-load-image"><primary>g3d_plugins_load_image</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_plugins_load_image (<link linkend="G3DContext">G3DContext</link> *context,
357 const <link linkend="gchar">gchar</link> *filename,
358 <link linkend="G3DImage">G3DImage</link> *image);</programlisting>
359<para>
360Try to load an image from file using import plugins.</para>
361<para>
362
363</para><variablelist role="params">
364<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
365<listitem><simpara> a valid context
366</simpara></listitem></varlistentry>
367<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
368<listitem><simpara> file name of image to load
369</simpara></listitem></varlistentry>
370<varlistentry><term><parameter>image</parameter>&nbsp;:</term>
371<listitem><simpara> image structure to fill
372</simpara></listitem></varlistentry>
373<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
374</simpara></listitem></varlistentry>
375</variablelist></refsect2>
376<refsect2 id="g3d-plugins-load-image-from-stream" role="function">
377<title>g3d_plugins_load_image_from_stream ()</title>
378<indexterm zone="g3d-plugins-load-image-from-stream"><primary>g3d_plugins_load_image_from_stream</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_plugins_load_image_from_stream (<link linkend="G3DContext">G3DContext</link> *context,
379 <link linkend="G3DStream">G3DStream</link> *stream,
380 <link linkend="G3DImage">G3DImage</link> *image);</programlisting>
381<para>
382Try to load an image from stream using import plugins.</para>
383<para>
384
385</para><variablelist role="params">
386<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
387<listitem><simpara> a valid context
388</simpara></listitem></varlistentry>
389<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
390<listitem><simpara> stream to load image from
391</simpara></listitem></varlistentry>
392<varlistentry><term><parameter>image</parameter>&nbsp;:</term>
393<listitem><simpara> image structure to fill
394</simpara></listitem></varlistentry>
395<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else.
396</simpara></listitem></varlistentry>
397</variablelist></refsect2>
398<refsect2 id="g3d-plugins-get-image-extensions" role="function">
399<title>g3d_plugins_get_image_extensions ()</title>
400<indexterm zone="g3d-plugins-get-image-extensions"><primary>g3d_plugins_get_image_extensions</primary></indexterm><programlisting><link linkend="gchar">gchar</link>** g3d_plugins_get_image_extensions (<link linkend="G3DContext">G3DContext</link> *context);</programlisting>
401<para>
402Get the supported image type extensions.</para>
403<para>
404
405</para><variablelist role="params">
406<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
407<listitem><simpara> a valid context
408</simpara></listitem></varlistentry>
409<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> NULL-terminated list of image file extensions supported by this
410plugin. Free with <link linkend="g-strfreev"><function>g_strfreev()</function></link>.
411</simpara></listitem></varlistentry>
412</variablelist></refsect2>
413
414</refsect1>
415
416
417
418<refsect1 id="libg3d-plugins.see-also">
419<title>See Also</title>
420<link linkend="G3DPlugin"><type>G3DPlugin</type></link>
421</refsect1>
422
423</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/primitive.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/primitive.xml
new file mode 100644
index 0000000..bb2f8c8
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/primitive.xml
@@ -0,0 +1,302 @@
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-primitive">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-primitive.top_of_page">primitive</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>primitive</refname>
13<refpurpose>3D primitive generation functions</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-primitive.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/primitive.h&gt;
23
24<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-cube">g3d_primitive_cube</link> (<link linkend="G3DFloat">G3DFloat</link> width,
25 <link linkend="G3DFloat">G3DFloat</link> height,
26 <link linkend="G3DFloat">G3DFloat</link> depth,
27 <link linkend="G3DMaterial">G3DMaterial</link> *material);
28<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-box">g3d_primitive_box</link> (<link linkend="G3DFloat">G3DFloat</link> width,
29 <link linkend="G3DFloat">G3DFloat</link> height,
30 <link linkend="G3DFloat">G3DFloat</link> depth,
31 <link linkend="G3DMaterial">G3DMaterial</link> *material);
32<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-box-strip-2d">g3d_primitive_box_strip_2d</link> (<link linkend="guint32">guint32</link> vcnt,
33 <link linkend="gdouble">gdouble</link> *vdata,
34 <link linkend="gdouble">gdouble</link> height,
35 <link linkend="gdouble">gdouble</link> width,
36 <link linkend="G3DMaterial">G3DMaterial</link> *material);
37<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-mesh">g3d_primitive_mesh</link> (<link linkend="guint32">guint32</link> m,
38 <link linkend="guint32">guint32</link> n,
39 <link linkend="gboolean">gboolean</link> wrap_m,
40 <link linkend="gboolean">gboolean</link> wrap_n,
41 <link linkend="G3DMaterial">G3DMaterial</link> *material);
42<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-cylinder">g3d_primitive_cylinder</link> (<link linkend="G3DFloat">G3DFloat</link> radius,
43 <link linkend="G3DFloat">G3DFloat</link> height,
44 <link linkend="guint32">guint32</link> sides,
45 <link linkend="gboolean">gboolean</link> top,
46 <link linkend="gboolean">gboolean</link> bottom,
47 <link linkend="G3DMaterial">G3DMaterial</link> *material);
48<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-tube">g3d_primitive_tube</link> (<link linkend="G3DFloat">G3DFloat</link> r_in,
49 <link linkend="G3DFloat">G3DFloat</link> r_out,
50 <link linkend="G3DFloat">G3DFloat</link> height,
51 <link linkend="guint32">guint32</link> sides,
52 <link linkend="gboolean">gboolean</link> top,
53 <link linkend="gboolean">gboolean</link> bottom,
54 <link linkend="G3DMaterial">G3DMaterial</link> *material);
55<link linkend="G3DObject">G3DObject</link>* <link linkend="g3d-primitive-sphere">g3d_primitive_sphere</link> (<link linkend="G3DFloat">G3DFloat</link> radius,
56 <link linkend="guint32">guint32</link> vseg,
57 <link linkend="guint32">guint32</link> hseg,
58 <link linkend="G3DMaterial">G3DMaterial</link> *material);
59</synopsis>
60</refsynopsisdiv>
61
62
63
64
65
66
67
68
69
70<refsect1 id="libg3d-primitive.description" role="desc">
71<title role="desc.title">Description</title>
72<para>
73Primitives are objects containing basic 3D geometrical structures. A
74variety of them can be created using these functions.</para>
75<para>
76
77</para>
78</refsect1>
79
80<refsect1 id="libg3d-primitive.details" role="details">
81<title role="details.title">Details</title>
82<refsect2 id="g3d-primitive-cube" role="function">
83<title>g3d_primitive_cube ()</title>
84<indexterm zone="g3d-primitive-cube"><primary>g3d_primitive_cube</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_cube (<link linkend="G3DFloat">G3DFloat</link> width,
85 <link linkend="G3DFloat">G3DFloat</link> height,
86 <link linkend="G3DFloat">G3DFloat</link> depth,
87 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
88<para>
89Generates an object containing a box. It is deprecated and now a wrapper for
90<link linkend="g3d-primitive-box"><function>g3d_primitive_box()</function></link>.</para>
91<para>
92
93</para><variablelist role="params">
94<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
95<listitem><simpara> the width of the box
96</simpara></listitem></varlistentry>
97<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
98<listitem><simpara> the height of the box
99</simpara></listitem></varlistentry>
100<varlistentry><term><parameter>depth</parameter>&nbsp;:</term>
101<listitem><simpara> the depth of the box
102</simpara></listitem></varlistentry>
103<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
104<listitem><simpara> the material to use for all faces
105</simpara></listitem></varlistentry>
106<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the box object
107</simpara></listitem></varlistentry>
108</variablelist></refsect2>
109<refsect2 id="g3d-primitive-box" role="function">
110<title>g3d_primitive_box ()</title>
111<indexterm zone="g3d-primitive-box"><primary>g3d_primitive_box</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_box (<link linkend="G3DFloat">G3DFloat</link> width,
112 <link linkend="G3DFloat">G3DFloat</link> height,
113 <link linkend="G3DFloat">G3DFloat</link> depth,
114 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
115<para>
116Generates an object containing a box.</para>
117<para>
118
119</para><variablelist role="params">
120<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
121<listitem><simpara> the width of the box
122</simpara></listitem></varlistentry>
123<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
124<listitem><simpara> the height of the box
125</simpara></listitem></varlistentry>
126<varlistentry><term><parameter>depth</parameter>&nbsp;:</term>
127<listitem><simpara> the depth of the box
128</simpara></listitem></varlistentry>
129<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
130<listitem><simpara> the material to use for all faces
131</simpara></listitem></varlistentry>
132<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the box object
133</simpara></listitem></varlistentry>
134</variablelist></refsect2>
135<refsect2 id="g3d-primitive-box-strip-2d" role="function">
136<title>g3d_primitive_box_strip_2d ()</title>
137<indexterm zone="g3d-primitive-box-strip-2d"><primary>g3d_primitive_box_strip_2d</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_box_strip_2d (<link linkend="guint32">guint32</link> vcnt,
138 <link linkend="gdouble">gdouble</link> *vdata,
139 <link linkend="gdouble">gdouble</link> height,
140 <link linkend="gdouble">gdouble</link> width,
141 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
142<para>
143Generates a strip of box segments defined by corner center points
144using two-dimensional data (x/z plane).</para>
145<para>
146
147</para><variablelist role="params">
148<varlistentry><term><parameter>vcnt</parameter>&nbsp;:</term>
149<listitem><simpara> number of control points
150</simpara></listitem></varlistentry>
151<varlistentry><term><parameter>vdata</parameter>&nbsp;:</term>
152<listitem><simpara> 2-dimensional control point data (2 * vcnt * gdouble)
153</simpara></listitem></varlistentry>
154<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
155<listitem><simpara> height of resulting strip (y component)
156</simpara></listitem></varlistentry>
157<varlistentry><term><parameter>width</parameter>&nbsp;:</term>
158<listitem><simpara> width of strip (corner diameter)
159</simpara></listitem></varlistentry>
160<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
161<listitem><simpara> material to use for faces
162</simpara></listitem></varlistentry>
163<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> strip object
164</simpara></listitem></varlistentry>
165</variablelist></refsect2>
166<refsect2 id="g3d-primitive-mesh" role="function">
167<title>g3d_primitive_mesh ()</title>
168<indexterm zone="g3d-primitive-mesh"><primary>g3d_primitive_mesh</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_mesh (<link linkend="guint32">guint32</link> m,
169 <link linkend="guint32">guint32</link> n,
170 <link linkend="gboolean">gboolean</link> wrap_m,
171 <link linkend="gboolean">gboolean</link> wrap_n,
172 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
173<para>
174Generate a mesh consisting of m * n vertices. The vertex data is
175initialized with (0.0, 0.0, 0.0) and has to be set to something
176useful.</para>
177<para>
178
179</para><variablelist role="params">
180<varlistentry><term><parameter>m</parameter>&nbsp;:</term>
181<listitem><simpara> number of vertices in m direction
182</simpara></listitem></varlistentry>
183<varlistentry><term><parameter>n</parameter>&nbsp;:</term>
184<listitem><simpara> number of vertices in n direction
185</simpara></listitem></varlistentry>
186<varlistentry><term><parameter>wrap_m</parameter>&nbsp;:</term>
187<listitem><simpara> wrap around in m direction
188</simpara></listitem></varlistentry>
189<varlistentry><term><parameter>wrap_n</parameter>&nbsp;:</term>
190<listitem><simpara> wrap around in n direction
191</simpara></listitem></varlistentry>
192<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
193<listitem><simpara> material to use for faces
194</simpara></listitem></varlistentry>
195<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> mesh object
196</simpara></listitem></varlistentry>
197</variablelist></refsect2>
198<refsect2 id="g3d-primitive-cylinder" role="function">
199<title>g3d_primitive_cylinder ()</title>
200<indexterm zone="g3d-primitive-cylinder"><primary>g3d_primitive_cylinder</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_cylinder (<link linkend="G3DFloat">G3DFloat</link> radius,
201 <link linkend="G3DFloat">G3DFloat</link> height,
202 <link linkend="guint32">guint32</link> sides,
203 <link linkend="gboolean">gboolean</link> top,
204 <link linkend="gboolean">gboolean</link> bottom,
205 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
206<para>
207Generates an object containing a cylinder.</para>
208<para>
209
210</para><variablelist role="params">
211<varlistentry><term><parameter>radius</parameter>&nbsp;:</term>
212<listitem><simpara> the radius of the cylinder
213</simpara></listitem></varlistentry>
214<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
215<listitem><simpara> the height of the side faces
216</simpara></listitem></varlistentry>
217<varlistentry><term><parameter>sides</parameter>&nbsp;:</term>
218<listitem><simpara> number of side faces (number of circle segments)
219</simpara></listitem></varlistentry>
220<varlistentry><term><parameter>top</parameter>&nbsp;:</term>
221<listitem><simpara> add top faces
222</simpara></listitem></varlistentry>
223<varlistentry><term><parameter>bottom</parameter>&nbsp;:</term>
224<listitem><simpara> add bottom faces
225</simpara></listitem></varlistentry>
226<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
227<listitem><simpara> material to use for faces
228</simpara></listitem></varlistentry>
229<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> cylinder object
230</simpara></listitem></varlistentry>
231</variablelist></refsect2>
232<refsect2 id="g3d-primitive-tube" role="function">
233<title>g3d_primitive_tube ()</title>
234<indexterm zone="g3d-primitive-tube"><primary>g3d_primitive_tube</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_tube (<link linkend="G3DFloat">G3DFloat</link> r_in,
235 <link linkend="G3DFloat">G3DFloat</link> r_out,
236 <link linkend="G3DFloat">G3DFloat</link> height,
237 <link linkend="guint32">guint32</link> sides,
238 <link linkend="gboolean">gboolean</link> top,
239 <link linkend="gboolean">gboolean</link> bottom,
240 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
241<para>
242Generates an object containing a tube (a cylinder with a hole).</para>
243<para>
244
245</para><variablelist role="params">
246<varlistentry><term><parameter>r_in</parameter>&nbsp;:</term>
247<listitem><simpara> inner radius
248</simpara></listitem></varlistentry>
249<varlistentry><term><parameter>r_out</parameter>&nbsp;:</term>
250<listitem><simpara> outer radius
251</simpara></listitem></varlistentry>
252<varlistentry><term><parameter>height</parameter>&nbsp;:</term>
253<listitem><simpara> the height of the side faces
254</simpara></listitem></varlistentry>
255<varlistentry><term><parameter>sides</parameter>&nbsp;:</term>
256<listitem><simpara> number of side faces (number of circle segments)
257</simpara></listitem></varlistentry>
258<varlistentry><term><parameter>top</parameter>&nbsp;:</term>
259<listitem><simpara> add top faces
260</simpara></listitem></varlistentry>
261<varlistentry><term><parameter>bottom</parameter>&nbsp;:</term>
262<listitem><simpara> add bottom faces
263</simpara></listitem></varlistentry>
264<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
265<listitem><simpara> material to use for faces
266</simpara></listitem></varlistentry>
267<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> tube object
268</simpara></listitem></varlistentry>
269</variablelist></refsect2>
270<refsect2 id="g3d-primitive-sphere" role="function">
271<title>g3d_primitive_sphere ()</title>
272<indexterm zone="g3d-primitive-sphere"><primary>g3d_primitive_sphere</primary></indexterm><programlisting><link linkend="G3DObject">G3DObject</link>* g3d_primitive_sphere (<link linkend="G3DFloat">G3DFloat</link> radius,
273 <link linkend="guint32">guint32</link> vseg,
274 <link linkend="guint32">guint32</link> hseg,
275 <link linkend="G3DMaterial">G3DMaterial</link> *material);</programlisting>
276<para>
277Generates an object containing a sphere.</para>
278<para>
279
280</para><variablelist role="params">
281<varlistentry><term><parameter>radius</parameter>&nbsp;:</term>
282<listitem><simpara> radius
283</simpara></listitem></varlistentry>
284<varlistentry><term><parameter>vseg</parameter>&nbsp;:</term>
285<listitem><simpara> number of vertical segments
286</simpara></listitem></varlistentry>
287<varlistentry><term><parameter>hseg</parameter>&nbsp;:</term>
288<listitem><simpara> number of horizontal segments
289</simpara></listitem></varlistentry>
290<varlistentry><term><parameter>material</parameter>&nbsp;:</term>
291<listitem><simpara> material to use for faces
292</simpara></listitem></varlistentry>
293<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> sphere object
294</simpara></listitem></varlistentry>
295</variablelist></refsect2>
296
297</refsect1>
298
299
300
301
302</refentry>
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>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/read.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/read.xml
new file mode 100644
index 0000000..08f1473
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/read.xml
@@ -0,0 +1,218 @@
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-read">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-read.top_of_page">read</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>read</refname>
13<refpurpose>file reading abstraction (deprecated)</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-read.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/read.h&gt;
23
24<link linkend="gint32">gint32</link> <link linkend="g3d-read-int8">g3d_read_int8</link> (<link linkend="FILE:CAPS">FILE</link> *f);
25<link linkend="gint32">gint32</link> <link linkend="g3d-read-int16-be">g3d_read_int16_be</link> (<link linkend="FILE:CAPS">FILE</link> *f);
26<link linkend="gint32">gint32</link> <link linkend="g3d-read-int16-le">g3d_read_int16_le</link> (<link linkend="FILE:CAPS">FILE</link> *f);
27<link linkend="gint32">gint32</link> <link linkend="g3d-read-int32-be">g3d_read_int32_be</link> (<link linkend="FILE:CAPS">FILE</link> *f);
28<link linkend="gint32">gint32</link> <link linkend="g3d-read-int32-le">g3d_read_int32_le</link> (<link linkend="FILE:CAPS">FILE</link> *f);
29<link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-read-float-be">g3d_read_float_be</link> (<link linkend="FILE:CAPS">FILE</link> *f);
30<link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-read-float-le">g3d_read_float_le</link> (<link linkend="FILE:CAPS">FILE</link> *f);
31<link linkend="G3DDouble">G3DDouble</link> <link linkend="g3d-read-double-be">g3d_read_double_be</link> (<link linkend="FILE:CAPS">FILE</link> *f);
32<link linkend="G3DDouble">G3DDouble</link> <link linkend="g3d-read-double-le">g3d_read_double_le</link> (<link linkend="FILE:CAPS">FILE</link> *f);
33<link linkend="gint32">gint32</link> <link linkend="g3d-read-cstr">g3d_read_cstr</link> (<link linkend="FILE:CAPS">FILE</link> *f,
34 <link linkend="gchar">gchar</link> *buffer,
35 <link linkend="gint32">gint32</link> max_len);
36</synopsis>
37</refsynopsisdiv>
38
39
40
41
42
43
44
45
46
47<refsect1 id="libg3d-read.description" role="desc">
48<title role="desc.title">Description</title>
49<para>
50The g3d_read_* family of functions is deprecated in favour of the <link linkend="G3DStream"><type>G3DStream</type></link>
51interface.</para>
52<para>
53
54</para>
55</refsect1>
56
57<refsect1 id="libg3d-read.details" role="details">
58<title role="details.title">Details</title>
59<refsect2 id="g3d-read-int8" role="function">
60<title>g3d_read_int8 ()</title>
61<indexterm zone="g3d-read-int8"><primary>g3d_read_int8</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_read_int8 (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
62<para>
63Read a 1 byte signed integer from file.</para>
64<para>
65
66</para><variablelist role="params">
67<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
68<listitem><simpara> the file to read from
69</simpara></listitem></varlistentry>
70<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
71</simpara></listitem></varlistentry>
72</variablelist></refsect2>
73<refsect2 id="g3d-read-int16-be" role="function">
74<title>g3d_read_int16_be ()</title>
75<indexterm zone="g3d-read-int16-be"><primary>g3d_read_int16_be</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_read_int16_be (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
76<para>
77Read a 2 byte big-endian signed integer from file.</para>
78<para>
79
80</para><variablelist role="params">
81<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
82<listitem><simpara> the file to read from
83</simpara></listitem></varlistentry>
84<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
85</simpara></listitem></varlistentry>
86</variablelist></refsect2>
87<refsect2 id="g3d-read-int16-le" role="function">
88<title>g3d_read_int16_le ()</title>
89<indexterm zone="g3d-read-int16-le"><primary>g3d_read_int16_le</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_read_int16_le (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
90<para>
91Read a 2 byte little-endian signed integer from file.</para>
92<para>
93
94</para><variablelist role="params">
95<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
96<listitem><simpara> the file to read from
97</simpara></listitem></varlistentry>
98<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
99</simpara></listitem></varlistentry>
100</variablelist></refsect2>
101<refsect2 id="g3d-read-int32-be" role="function">
102<title>g3d_read_int32_be ()</title>
103<indexterm zone="g3d-read-int32-be"><primary>g3d_read_int32_be</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_read_int32_be (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
104<para>
105Read a 4 byte big-endian signed integer from file.</para>
106<para>
107
108</para><variablelist role="params">
109<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
110<listitem><simpara> the file to read from
111</simpara></listitem></varlistentry>
112<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
113</simpara></listitem></varlistentry>
114</variablelist></refsect2>
115<refsect2 id="g3d-read-int32-le" role="function">
116<title>g3d_read_int32_le ()</title>
117<indexterm zone="g3d-read-int32-le"><primary>g3d_read_int32_le</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_read_int32_le (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
118<para>
119Read a 4 byte little-endian signed integer from file.</para>
120<para>
121
122</para><variablelist role="params">
123<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
124<listitem><simpara> the file to read from
125</simpara></listitem></varlistentry>
126<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
127</simpara></listitem></varlistentry>
128</variablelist></refsect2>
129<refsect2 id="g3d-read-float-be" role="function">
130<title>g3d_read_float_be ()</title>
131<indexterm zone="g3d-read-float-be"><primary>g3d_read_float_be</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_read_float_be (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
132<para>
133Read a 4 byte big-endian floating point number from file.</para>
134<para>
135
136</para><variablelist role="params">
137<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
138<listitem><simpara> the file to read from
139</simpara></listitem></varlistentry>
140<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
141</simpara></listitem></varlistentry>
142</variablelist></refsect2>
143<refsect2 id="g3d-read-float-le" role="function">
144<title>g3d_read_float_le ()</title>
145<indexterm zone="g3d-read-float-le"><primary>g3d_read_float_le</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_read_float_le (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
146<para>
147Read a 4 byte little-endian floating point number from file.</para>
148<para>
149
150</para><variablelist role="params">
151<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
152<listitem><simpara> the file to read from
153</simpara></listitem></varlistentry>
154<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
155</simpara></listitem></varlistentry>
156</variablelist></refsect2>
157<refsect2 id="g3d-read-double-be" role="function">
158<title>g3d_read_double_be ()</title>
159<indexterm zone="g3d-read-double-be"><primary>g3d_read_double_be</primary></indexterm><programlisting><link linkend="G3DDouble">G3DDouble</link> g3d_read_double_be (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
160<para>
161Read a 8 byte big-endian double-precision floating point number from file.</para>
162<para>
163
164</para><variablelist role="params">
165<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
166<listitem><simpara> the file to read from
167</simpara></listitem></varlistentry>
168<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
169</simpara></listitem></varlistentry>
170</variablelist></refsect2>
171<refsect2 id="g3d-read-double-le" role="function">
172<title>g3d_read_double_le ()</title>
173<indexterm zone="g3d-read-double-le"><primary>g3d_read_double_le</primary></indexterm><programlisting><link linkend="G3DDouble">G3DDouble</link> g3d_read_double_le (<link linkend="FILE:CAPS">FILE</link> *f);</programlisting>
174<para>
175Read a 8 byte little-endian double-precision floating point number from
176file.</para>
177<para>
178
179</para><variablelist role="params">
180<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
181<listitem><simpara> the file to read from
182</simpara></listitem></varlistentry>
183<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
184</simpara></listitem></varlistentry>
185</variablelist></refsect2>
186<refsect2 id="g3d-read-cstr" role="function">
187<title>g3d_read_cstr ()</title>
188<indexterm zone="g3d-read-cstr"><primary>g3d_read_cstr</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_read_cstr (<link linkend="FILE:CAPS">FILE</link> *f,
189 <link linkend="gchar">gchar</link> *buffer,
190 <link linkend="gint32">gint32</link> max_len);</programlisting>
191<para>
192Read a zero-terminated string from file.</para>
193<para>
194
195</para><variablelist role="params">
196<varlistentry><term><parameter>f</parameter>&nbsp;:</term>
197<listitem><simpara> the file to read from
198</simpara></listitem></varlistentry>
199<varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
200<listitem><simpara> the buffer to store line in
201</simpara></listitem></varlistentry>
202<varlistentry><term><parameter>max_len</parameter>&nbsp;:</term>
203<listitem><simpara> maximum length of string including termination character
204</simpara></listitem></varlistentry>
205<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes read from file.
206</simpara></listitem></varlistentry>
207</variablelist></refsect2>
208
209</refsect1>
210
211
212
213<refsect1 id="libg3d-read.see-also">
214<title>See Also</title>
215g3d_stream_open_file
216</refsect1>
217
218</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml
new file mode 100644
index 0000000..99d7bfb
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/stream.xml
@@ -0,0 +1,801 @@
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-stream">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-stream.top_of_page">stream</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>stream</refname>
13<refpurpose>I/O abstraction layer for plugins</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-stream.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/stream.h&gt;
23
24 <link linkend="G3DStream">G3DStream</link>;
25<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-file">g3d_stream_open_file</link> (const <link linkend="gchar">gchar</link> *filename,
26 const <link linkend="gchar">gchar</link> *mode);
27<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-structured-file">g3d_stream_open_structured_file</link> (const <link linkend="gchar">gchar</link> *filename,
28 const <link linkend="gchar">gchar</link> *subfile);
29<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-structured-file-from-stream">g3d_stream_open_structured_file_from_stream</link>
30 (<link linkend="G3DStream">G3DStream</link> *stream,
31 const <link linkend="gchar">gchar</link> *subfile);
32<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-zip">g3d_stream_open_zip</link> (const <link linkend="gchar">gchar</link> *filename,
33 const <link linkend="gchar">gchar</link> *subfile);
34<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-zip-from-stream">g3d_stream_open_zip_from_stream</link> (<link linkend="G3DStream">G3DStream</link> *stream,
35 const <link linkend="gchar">gchar</link> *subfile);
36<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-open-gzip-from-stream">g3d_stream_open_gzip_from_stream</link> (<link linkend="G3DStream">G3DStream</link> *stream);
37<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-from-buffer">g3d_stream_from_buffer</link> (<link linkend="guint8">guint8</link> *buffer,
38 <link linkend="gsize">gsize</link> size,
39 const <link linkend="gchar">gchar</link> *title,
40 <link linkend="gboolean">gboolean</link> free_buffer);
41<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-zlib-inflate-stream">g3d_stream_zlib_inflate_stream</link> (<link linkend="G3DStream">G3DStream</link> *stream,
42 <link linkend="gsize">gsize</link> cmp_size);
43<link linkend="G3DStream">G3DStream</link>* <link linkend="g3d-stream-new-custom">g3d_stream_new_custom</link> (<link linkend="guint32">guint32</link> flags,
44 const <link linkend="gchar">gchar</link> *uri,
45 <link linkend="G3DStreamReadFunc">G3DStreamReadFunc</link> readfunc,
46 <link linkend="G3DStreamReadLineFunc">G3DStreamReadLineFunc</link> readlinefunc,
47 <link linkend="G3DStreamSeekFunc">G3DStreamSeekFunc</link> seekfunc,
48 <link linkend="G3DStreamTellFunc">G3DStreamTellFunc</link> tellfunc,
49 <link linkend="G3DStreamSizeFunc">G3DStreamSizeFunc</link> sizefunc,
50 <link linkend="G3DStreamEofFunc">G3DStreamEofFunc</link> eoffunc,
51 <link linkend="G3DStreamCloseFunc">G3DStreamCloseFunc</link> closefunc,
52 <link linkend="gpointer">gpointer</link> data);
53<link linkend="gint">gint</link> <link linkend="g3d-stream-close">g3d_stream_close</link> (<link linkend="G3DStream">G3DStream</link> *stream);
54<link linkend="gint">gint</link> <link linkend="g3d-stream-skip">g3d_stream_skip</link> (<link linkend="G3DStream">G3DStream</link> *stream,
55 <link linkend="goffset">goffset</link> offset);
56<link linkend="gint">gint</link> <link linkend="g3d-stream-seek">g3d_stream_seek</link> (<link linkend="G3DStream">G3DStream</link> *stream,
57 <link linkend="goffset">goffset</link> offset,
58 <link linkend="GSeekType">GSeekType</link> whence);
59<link linkend="goffset">goffset</link> <link linkend="g3d-stream-tell">g3d_stream_tell</link> (<link linkend="G3DStream">G3DStream</link> *stream);
60<link linkend="goffset">goffset</link> <link linkend="g3d-stream-size">g3d_stream_size</link> (<link linkend="G3DStream">G3DStream</link> *stream);
61<link linkend="gboolean">gboolean</link> <link linkend="g3d-stream-eof">g3d_stream_eof</link> (<link linkend="G3DStream">G3DStream</link> *stream);
62<link linkend="gboolean">gboolean</link> <link linkend="g3d-stream-is-seekable">g3d_stream_is_seekable</link> (<link linkend="G3DStream">G3DStream</link> *stream);
63<link linkend="gchar">gchar</link>* <link linkend="g3d-stream-get-uri">g3d_stream_get_uri</link> (<link linkend="G3DStream">G3DStream</link> *stream);
64<link linkend="guint32">guint32</link> <link linkend="g3d-stream-line">g3d_stream_line</link> (<link linkend="G3DStream">G3DStream</link> *stream);
65<link linkend="gsize">gsize</link> <link linkend="g3d-stream-read">g3d_stream_read</link> (<link linkend="G3DStream">G3DStream</link> *stream,
66 <link linkend="gpointer">gpointer</link> ptr,
67 <link linkend="gsize">gsize</link> size);
68<link linkend="gchar">gchar</link>* <link linkend="g3d-stream-read-line">g3d_stream_read_line</link> (<link linkend="G3DStream">G3DStream</link> *stream,
69 <link linkend="gchar">gchar</link> *buf,
70 <link linkend="gsize">gsize</link> size);
71<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int8">g3d_stream_read_int8</link> (<link linkend="G3DStream">G3DStream</link> *stream);
72<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int16-be">g3d_stream_read_int16_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
73<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int16-le">g3d_stream_read_int16_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
74<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int32-be">g3d_stream_read_int32_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
75<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-int32-le">g3d_stream_read_int32_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
76<link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-stream-read-float-be">g3d_stream_read_float_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
77<link linkend="G3DFloat">G3DFloat</link> <link linkend="g3d-stream-read-float-le">g3d_stream_read_float_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
78<link linkend="G3DDouble">G3DDouble</link> <link linkend="g3d-stream-read-double-be">g3d_stream_read_double_be</link> (<link linkend="G3DStream">G3DStream</link> *stream);
79<link linkend="G3DDouble">G3DDouble</link> <link linkend="g3d-stream-read-double-le">g3d_stream_read_double_le</link> (<link linkend="G3DStream">G3DStream</link> *stream);
80<link linkend="gint32">gint32</link> <link linkend="g3d-stream-read-cstr">g3d_stream_read_cstr</link> (<link linkend="G3DStream">G3DStream</link> *stream,
81 <link linkend="gchar">gchar</link> *buffer,
82 <link linkend="gint32">gint32</link> max_len);
83<link linkend="gint">gint</link> (<link linkend="G3DStreamCloseFunc">*G3DStreamCloseFunc</link>) (<link linkend="gpointer">gpointer</link> data);
84<link linkend="gboolean">gboolean</link> (<link linkend="G3DStreamEofFunc">*G3DStreamEofFunc</link>) (<link linkend="gpointer">gpointer</link> data);
85<link linkend="gsize">gsize</link> (<link linkend="G3DStreamReadFunc">*G3DStreamReadFunc</link>) (<link linkend="gpointer">gpointer</link> ptr,
86 <link linkend="gsize">gsize</link> size,
87 <link linkend="gpointer">gpointer</link> data);
88<link linkend="gchar">gchar</link>* (<link linkend="G3DStreamReadLineFunc">*G3DStreamReadLineFunc</link>) (<link linkend="gchar">gchar</link> *buf,
89 <link linkend="gsize">gsize</link> size,
90 <link linkend="gpointer">gpointer</link> data);
91<link linkend="gint">gint</link> (<link linkend="G3DStreamSeekFunc">*G3DStreamSeekFunc</link>) (<link linkend="gpointer">gpointer</link> data,
92 <link linkend="goffset">goffset</link> offset,
93 <link linkend="GSeekType">GSeekType</link> whence);
94<link linkend="goffset">goffset</link> (<link linkend="G3DStreamSizeFunc">*G3DStreamSizeFunc</link>) (<link linkend="gpointer">gpointer</link> data);
95<link linkend="goffset">goffset</link> (<link linkend="G3DStreamTellFunc">*G3DStreamTellFunc</link>) (<link linkend="gpointer">gpointer</link> data);
96</synopsis>
97</refsynopsisdiv>
98
99
100
101
102
103
104
105
106
107<refsect1 id="libg3d-stream.description" role="desc">
108<title role="desc.title">Description</title>
109<para>
110A stream is an abstraction for data input. It enables plugins to read
111data from a file, a memory buffer, a container file or some other medium.</para>
112<para>
113
114</para>
115</refsect1>
116
117<refsect1 id="libg3d-stream.details" role="details">
118<title role="details.title">Details</title>
119<refsect2 id="G3DStream" role="struct">
120<title>G3DStream</title>
121<indexterm zone="G3DStream"><primary>G3DStream</primary></indexterm><programlisting>typedef struct {
122} G3DStream;
123</programlisting>
124<para>
125An abstraction of input handling.</para>
126<para>
127
128</para></refsect2>
129<refsect2 id="g3d-stream-open-file" role="function">
130<title>g3d_stream_open_file ()</title>
131<indexterm zone="g3d-stream-open-file"><primary>g3d_stream_open_file</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_file (const <link linkend="gchar">gchar</link> *filename,
132 const <link linkend="gchar">gchar</link> *mode);</programlisting>
133<para>
134Opens a file with the C stdio routines.</para>
135<para>
136
137</para><variablelist role="params">
138<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
139<listitem><simpara> the name of the file to open
140</simpara></listitem></varlistentry>
141<varlistentry><term><parameter>mode</parameter>&nbsp;:</term>
142<listitem><simpara> the mode to open the file, as given to <link linkend="fopen"><function>fopen()</function></link>
143</simpara></listitem></varlistentry>
144<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
145</simpara></listitem></varlistentry>
146</variablelist></refsect2>
147<refsect2 id="g3d-stream-open-structured-file" role="function">
148<title>g3d_stream_open_structured_file ()</title>
149<indexterm zone="g3d-stream-open-structured-file"><primary>g3d_stream_open_structured_file</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_structured_file (const <link linkend="gchar">gchar</link> *filename,
150 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
151<para>
152Open a file within a Structured File as <link linkend="G3DStream"><type>G3DStream</type></link>.</para>
153<para>
154
155</para><variablelist role="params">
156<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
157<listitem><simpara> name of container file
158</simpara></listitem></varlistentry>
159<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
160<listitem><simpara> name of (contained) sub-file
161</simpara></listitem></varlistentry>
162<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
163</simpara></listitem></varlistentry>
164</variablelist></refsect2>
165<refsect2 id="g3d-stream-open-structured-file-from-stream" role="function">
166<title>g3d_stream_open_structured_file_from_stream ()</title>
167<indexterm zone="g3d-stream-open-structured-file-from-stream"><primary>g3d_stream_open_structured_file_from_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_structured_file_from_stream
168 (<link linkend="G3DStream">G3DStream</link> *stream,
169 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
170<para>
171Open a file within a Structured File which is opened as a stream. At the
172moment this only works for streams opened by <link linkend="g3d-stream-open-file"><function>g3d_stream_open_file()</function></link> as
173the file is directly opened again.</para>
174<para>
175
176</para><variablelist role="params">
177<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
178<listitem><simpara> stream of container file
179</simpara></listitem></varlistentry>
180<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
181<listitem><simpara> name of (contained) sub-file
182</simpara></listitem></varlistentry>
183<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
184</simpara></listitem></varlistentry>
185</variablelist></refsect2>
186<refsect2 id="g3d-stream-open-zip" role="function">
187<title>g3d_stream_open_zip ()</title>
188<indexterm zone="g3d-stream-open-zip"><primary>g3d_stream_open_zip</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_zip (const <link linkend="gchar">gchar</link> *filename,
189 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
190<para>
191Open a file within a Zip archive.</para>
192<para>
193
194</para><variablelist role="params">
195<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
196<listitem><simpara> name of container file
197</simpara></listitem></varlistentry>
198<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
199<listitem><simpara> name of (contained) sub-file
200</simpara></listitem></varlistentry>
201<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
202</simpara></listitem></varlistentry>
203</variablelist></refsect2>
204<refsect2 id="g3d-stream-open-zip-from-stream" role="function">
205<title>g3d_stream_open_zip_from_stream ()</title>
206<indexterm zone="g3d-stream-open-zip-from-stream"><primary>g3d_stream_open_zip_from_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_zip_from_stream (<link linkend="G3DStream">G3DStream</link> *stream,
207 const <link linkend="gchar">gchar</link> *subfile);</programlisting>
208<para>
209Open a file within a Zip archive which is opened as a stream. At the
210moment this only works for streams opened by <link linkend="g3d-stream-open-file"><function>g3d_stream_open_file()</function></link> as
211the file is directly opened again.</para>
212<para>
213
214</para><variablelist role="params">
215<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
216<listitem><simpara> stream of container file
217</simpara></listitem></varlistentry>
218<varlistentry><term><parameter>subfile</parameter>&nbsp;:</term>
219<listitem><simpara> name of (contained) sub-file
220</simpara></listitem></varlistentry>
221<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
222</simpara></listitem></varlistentry>
223</variablelist></refsect2>
224<refsect2 id="g3d-stream-open-gzip-from-stream" role="function">
225<title>g3d_stream_open_gzip_from_stream ()</title>
226<indexterm zone="g3d-stream-open-gzip-from-stream"><primary>g3d_stream_open_gzip_from_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_open_gzip_from_stream (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
227<para>
228Reads data from a gzip-compressed stream.</para>
229<para>
230
231</para><variablelist role="params">
232<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
233<listitem><simpara> stream to read from
234</simpara></listitem></varlistentry>
235<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
236</simpara></listitem></varlistentry>
237</variablelist></refsect2>
238<refsect2 id="g3d-stream-from-buffer" role="function">
239<title>g3d_stream_from_buffer ()</title>
240<indexterm zone="g3d-stream-from-buffer"><primary>g3d_stream_from_buffer</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_from_buffer (<link linkend="guint8">guint8</link> *buffer,
241 <link linkend="gsize">gsize</link> size,
242 const <link linkend="gchar">gchar</link> *title,
243 <link linkend="gboolean">gboolean</link> free_buffer);</programlisting>
244<para>
245Use a buffer in memory as <link linkend="G3DStream"><type>G3DStream</type></link>.</para>
246<para>
247
248</para><variablelist role="params">
249<varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
250<listitem><simpara> memory buffer to use
251</simpara></listitem></varlistentry>
252<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
253<listitem><simpara> size of buffer
254</simpara></listitem></varlistentry>
255<varlistentry><term><parameter>title</parameter>&nbsp;:</term>
256<listitem><simpara> optional title of stream, may be NULL
257</simpara></listitem></varlistentry>
258<varlistentry><term><parameter>free_buffer</parameter>&nbsp;:</term>
259<listitem><simpara> whether to free the memory with <link linkend="g-free"><function>g_free()</function></link> on <link linkend="g3d-stream-close"><function>g3d_stream_close()</function></link>
260</simpara></listitem></varlistentry>
261<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
262</simpara></listitem></varlistentry>
263</variablelist></refsect2>
264<refsect2 id="g3d-stream-zlib-inflate-stream" role="function">
265<title>g3d_stream_zlib_inflate_stream ()</title>
266<indexterm zone="g3d-stream-zlib-inflate-stream"><primary>g3d_stream_zlib_inflate_stream</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_zlib_inflate_stream (<link linkend="G3DStream">G3DStream</link> *stream,
267 <link linkend="gsize">gsize</link> cmp_size);</programlisting>
268<para>
269Opens a new stream to decompress zlib-deflated parts of a stream.</para>
270<para>
271
272</para><variablelist role="params">
273<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
274<listitem><simpara> a parent stream
275</simpara></listitem></varlistentry>
276<varlistentry><term><parameter>cmp_size</parameter>&nbsp;:</term>
277<listitem><simpara> the compressed size of the deflated part
278</simpara></listitem></varlistentry>
279<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error
280</simpara></listitem></varlistentry>
281</variablelist></refsect2>
282<refsect2 id="g3d-stream-new-custom" role="function">
283<title>g3d_stream_new_custom ()</title>
284<indexterm zone="g3d-stream-new-custom"><primary>g3d_stream_new_custom</primary></indexterm><programlisting><link linkend="G3DStream">G3DStream</link>* g3d_stream_new_custom (<link linkend="guint32">guint32</link> flags,
285 const <link linkend="gchar">gchar</link> *uri,
286 <link linkend="G3DStreamReadFunc">G3DStreamReadFunc</link> readfunc,
287 <link linkend="G3DStreamReadLineFunc">G3DStreamReadLineFunc</link> readlinefunc,
288 <link linkend="G3DStreamSeekFunc">G3DStreamSeekFunc</link> seekfunc,
289 <link linkend="G3DStreamTellFunc">G3DStreamTellFunc</link> tellfunc,
290 <link linkend="G3DStreamSizeFunc">G3DStreamSizeFunc</link> sizefunc,
291 <link linkend="G3DStreamEofFunc">G3DStreamEofFunc</link> eoffunc,
292 <link linkend="G3DStreamCloseFunc">G3DStreamCloseFunc</link> closefunc,
293 <link linkend="gpointer">gpointer</link> data);</programlisting>
294<para>
295Creates a new <link linkend="G3DStream"><type>G3DStream</type></link> with custom callback functions.</para>
296<para>
297
298</para><variablelist role="params">
299<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
300<listitem><simpara> stream capability flags
301</simpara></listitem></varlistentry>
302<varlistentry><term><parameter>uri</parameter>&nbsp;:</term>
303<listitem><simpara> URI of new stream, must not be NULL
304</simpara></listitem></varlistentry>
305<varlistentry><term><parameter>readfunc</parameter>&nbsp;:</term>
306<listitem><simpara> read callback function
307</simpara></listitem></varlistentry>
308<varlistentry><term><parameter>readlinefunc</parameter>&nbsp;:</term>
309<listitem><simpara> read line callback function, may be NULL in which case
310line reading is emulated with <link linkend="g3d-stream-read"><function>g3d_stream_read()</function></link>
311</simpara></listitem></varlistentry>
312<varlistentry><term><parameter>seekfunc</parameter>&nbsp;:</term>
313<listitem><simpara> seek callback function
314</simpara></listitem></varlistentry>
315<varlistentry><term><parameter>tellfunc</parameter>&nbsp;:</term>
316<listitem><simpara> tell callback function
317</simpara></listitem></varlistentry>
318<varlistentry><term><parameter>sizefunc</parameter>&nbsp;:</term>
319<listitem><simpara> size callback function
320</simpara></listitem></varlistentry>
321<varlistentry><term><parameter>eoffunc</parameter>&nbsp;:</term>
322<listitem><simpara> end-of-file callback function
323</simpara></listitem></varlistentry>
324<varlistentry><term><parameter>closefunc</parameter>&nbsp;:</term>
325<listitem><simpara> close callback function
326</simpara></listitem></varlistentry>
327<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
328<listitem><simpara> opaque data for all callback functions
329</simpara></listitem></varlistentry>
330<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="G3DStream"><type>G3DStream</type></link> or NULL in case of an error.
331</simpara></listitem></varlistentry>
332</variablelist></refsect2>
333<refsect2 id="g3d-stream-close" role="function">
334<title>g3d_stream_close ()</title>
335<indexterm zone="g3d-stream-close"><primary>g3d_stream_close</primary></indexterm><programlisting><link linkend="gint">gint</link> g3d_stream_close (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
336<para>
337Closes an open stream.</para>
338<para>
339
340</para><variablelist role="params">
341<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
342<listitem><simpara> the stream
343</simpara></listitem></varlistentry>
344<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success.
345</simpara></listitem></varlistentry>
346</variablelist></refsect2>
347<refsect2 id="g3d-stream-skip" role="function">
348<title>g3d_stream_skip ()</title>
349<indexterm zone="g3d-stream-skip"><primary>g3d_stream_skip</primary></indexterm><programlisting><link linkend="gint">gint</link> g3d_stream_skip (<link linkend="G3DStream">G3DStream</link> *stream,
350 <link linkend="goffset">goffset</link> offset);</programlisting>
351<para>
352Skip a number of bytes (&gt;= 0) in stream even if it does not support
353seeking.</para>
354<para>
355
356</para><variablelist role="params">
357<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
358<listitem><simpara> stream to skip bytes from
359</simpara></listitem></varlistentry>
360<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
361<listitem><simpara> number of bytes to skip
362</simpara></listitem></varlistentry>
363<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else
364</simpara></listitem></varlistentry>
365</variablelist></refsect2>
366<refsect2 id="g3d-stream-seek" role="function">
367<title>g3d_stream_seek ()</title>
368<indexterm zone="g3d-stream-seek"><primary>g3d_stream_seek</primary></indexterm><programlisting><link linkend="gint">gint</link> g3d_stream_seek (<link linkend="G3DStream">G3DStream</link> *stream,
369 <link linkend="goffset">goffset</link> offset,
370 <link linkend="GSeekType">GSeekType</link> whence);</programlisting>
371<para>
372Moves around the current position in the stream.</para>
373<para>
374
375</para><variablelist role="params">
376<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
377<listitem><simpara> stream to seek in
378</simpara></listitem></varlistentry>
379<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
380<listitem><simpara> number of bytes to seek
381</simpara></listitem></varlistentry>
382<varlistentry><term><parameter>whence</parameter>&nbsp;:</term>
383<listitem><simpara> seek type
384</simpara></listitem></varlistentry>
385<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else
386</simpara></listitem></varlistentry>
387</variablelist></refsect2>
388<refsect2 id="g3d-stream-tell" role="function">
389<title>g3d_stream_tell ()</title>
390<indexterm zone="g3d-stream-tell"><primary>g3d_stream_tell</primary></indexterm><programlisting><link linkend="goffset">goffset</link> g3d_stream_tell (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
391<para>
392Tells the current position in the stream.</para>
393<para>
394
395</para><variablelist role="params">
396<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
397<listitem><simpara> stream to get position from
398</simpara></listitem></varlistentry>
399<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> current stream position
400</simpara></listitem></varlistentry>
401</variablelist></refsect2>
402<refsect2 id="g3d-stream-size" role="function">
403<title>g3d_stream_size ()</title>
404<indexterm zone="g3d-stream-size"><primary>g3d_stream_size</primary></indexterm><programlisting><link linkend="goffset">goffset</link> g3d_stream_size (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
405<para>
406Get the size in bytes of a stream.</para>
407<para>
408
409</para><variablelist role="params">
410<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
411<listitem><simpara> stream to get size from
412</simpara></listitem></varlistentry>
413<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> size of stream in bytes
414</simpara></listitem></varlistentry>
415</variablelist></refsect2>
416<refsect2 id="g3d-stream-eof" role="function">
417<title>g3d_stream_eof ()</title>
418<indexterm zone="g3d-stream-eof"><primary>g3d_stream_eof</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_stream_eof (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
419<para>
420Checks whether the stream has reached its end.</para>
421<para>
422
423</para><variablelist role="params">
424<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
425<listitem><simpara> the stream
426</simpara></listitem></varlistentry>
427<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if no more data can be read, FALSE else.
428</simpara></listitem></varlistentry>
429</variablelist></refsect2>
430<refsect2 id="g3d-stream-is-seekable" role="function">
431<title>g3d_stream_is_seekable ()</title>
432<indexterm zone="g3d-stream-is-seekable"><primary>g3d_stream_is_seekable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_stream_is_seekable (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
433<para>
434Get information whether it is possible to seek in a stream.</para>
435<para>
436
437</para><variablelist role="params">
438<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
439<listitem><simpara> the stream
440</simpara></listitem></varlistentry>
441<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE if seekable, FALSE else
442</simpara></listitem></varlistentry>
443</variablelist></refsect2>
444<refsect2 id="g3d-stream-get-uri" role="function">
445<title>g3d_stream_get_uri ()</title>
446<indexterm zone="g3d-stream-get-uri"><primary>g3d_stream_get_uri</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* g3d_stream_get_uri (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
447<para>
448Get the URI of a stream</para>
449<para>
450
451</para><variablelist role="params">
452<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
453<listitem><simpara> the stream
454</simpara></listitem></varlistentry>
455<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a non-NULL, zero-terminated string containing the URI of the
456string. This return value should not be freed.
457</simpara></listitem></varlistentry>
458</variablelist></refsect2>
459<refsect2 id="g3d-stream-line" role="function">
460<title>g3d_stream_line ()</title>
461<indexterm zone="g3d-stream-line"><primary>g3d_stream_line</primary></indexterm><programlisting><link linkend="guint32">guint32</link> g3d_stream_line (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
462<para>
463Get the current line number from stream. This only works if line are
464consequently read with <link linkend="g3d-stream-read-line"><function>g3d_stream_read_line()</function></link>, so it's only applicable
465for text streams.</para>
466<para>
467
468</para><variablelist role="params">
469<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
470<listitem><simpara> stream to get line from
471</simpara></listitem></varlistentry>
472<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> current line number, may be 0
473</simpara></listitem></varlistentry>
474</variablelist></refsect2>
475<refsect2 id="g3d-stream-read" role="function">
476<title>g3d_stream_read ()</title>
477<indexterm zone="g3d-stream-read"><primary>g3d_stream_read</primary></indexterm><programlisting><link linkend="gsize">gsize</link> g3d_stream_read (<link linkend="G3DStream">G3DStream</link> *stream,
478 <link linkend="gpointer">gpointer</link> ptr,
479 <link linkend="gsize">gsize</link> size);</programlisting>
480<para>
481Reads a number of bytes from the stream.</para>
482<para>
483
484</para><variablelist role="params">
485<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
486<listitem><simpara> the stream to read from
487</simpara></listitem></varlistentry>
488<varlistentry><term><parameter>ptr</parameter>&nbsp;:</term>
489<listitem><simpara> pointer to memory storage
490</simpara></listitem></varlistentry>
491<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
492<listitem><simpara> number of bytes to read
493</simpara></listitem></varlistentry>
494<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes successfully read.
495</simpara></listitem></varlistentry>
496</variablelist></refsect2>
497<refsect2 id="g3d-stream-read-line" role="function">
498<title>g3d_stream_read_line ()</title>
499<indexterm zone="g3d-stream-read-line"><primary>g3d_stream_read_line</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* g3d_stream_read_line (<link linkend="G3DStream">G3DStream</link> *stream,
500 <link linkend="gchar">gchar</link> *buf,
501 <link linkend="gsize">gsize</link> size);</programlisting>
502<para>
503Read a line (terminated by a newline character or end of file) from a
504stream.</para>
505<para>
506
507</para><variablelist role="params">
508<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
509<listitem><simpara> stream to read a line from
510</simpara></listitem></varlistentry>
511<varlistentry><term><parameter>buf</parameter>&nbsp;:</term>
512<listitem><simpara> an allocated buffer to be filled
513</simpara></listitem></varlistentry>
514<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
515<listitem><simpara> maximum length of line including terminating zero
516</simpara></listitem></varlistentry>
517<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the read line or NULL in case of an error.
518</simpara></listitem></varlistentry>
519</variablelist></refsect2>
520<refsect2 id="g3d-stream-read-int8" role="function">
521<title>g3d_stream_read_int8 ()</title>
522<indexterm zone="g3d-stream-read-int8"><primary>g3d_stream_read_int8</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int8 (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
523<para>
524Read a 1 byte signed integer from file.</para>
525<para>
526
527</para><variablelist role="params">
528<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
529<listitem><simpara> the stream to read from
530</simpara></listitem></varlistentry>
531<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
532</simpara></listitem></varlistentry>
533</variablelist></refsect2>
534<refsect2 id="g3d-stream-read-int16-be" role="function">
535<title>g3d_stream_read_int16_be ()</title>
536<indexterm zone="g3d-stream-read-int16-be"><primary>g3d_stream_read_int16_be</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int16_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
537<para>
538Read a 2 byte big-endian signed integer from file.</para>
539<para>
540
541</para><variablelist role="params">
542<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
543<listitem><simpara> the stream to read from
544</simpara></listitem></varlistentry>
545<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
546</simpara></listitem></varlistentry>
547</variablelist></refsect2>
548<refsect2 id="g3d-stream-read-int16-le" role="function">
549<title>g3d_stream_read_int16_le ()</title>
550<indexterm zone="g3d-stream-read-int16-le"><primary>g3d_stream_read_int16_le</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int16_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
551<para>
552Read a 2 byte little-endian signed integer from file.</para>
553<para>
554
555</para><variablelist role="params">
556<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
557<listitem><simpara> the stream to read from
558</simpara></listitem></varlistentry>
559<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
560</simpara></listitem></varlistentry>
561</variablelist></refsect2>
562<refsect2 id="g3d-stream-read-int32-be" role="function">
563<title>g3d_stream_read_int32_be ()</title>
564<indexterm zone="g3d-stream-read-int32-be"><primary>g3d_stream_read_int32_be</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int32_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
565<para>
566Read a 4 byte big-endian signed integer from file.</para>
567<para>
568
569</para><variablelist role="params">
570<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
571<listitem><simpara> the stream to read from
572</simpara></listitem></varlistentry>
573<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
574</simpara></listitem></varlistentry>
575</variablelist></refsect2>
576<refsect2 id="g3d-stream-read-int32-le" role="function">
577<title>g3d_stream_read_int32_le ()</title>
578<indexterm zone="g3d-stream-read-int32-le"><primary>g3d_stream_read_int32_le</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_int32_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
579<para>
580Read a 4 byte little-endian signed integer from file.</para>
581<para>
582
583</para><variablelist role="params">
584<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
585<listitem><simpara> the stream to read from
586</simpara></listitem></varlistentry>
587<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
588</simpara></listitem></varlistentry>
589</variablelist></refsect2>
590<refsect2 id="g3d-stream-read-float-be" role="function">
591<title>g3d_stream_read_float_be ()</title>
592<indexterm zone="g3d-stream-read-float-be"><primary>g3d_stream_read_float_be</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_stream_read_float_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
593<para>
594Read a 4 byte big-endian floating point number from file.</para>
595<para>
596
597</para><variablelist role="params">
598<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
599<listitem><simpara> the stream to read from
600</simpara></listitem></varlistentry>
601<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
602</simpara></listitem></varlistentry>
603</variablelist></refsect2>
604<refsect2 id="g3d-stream-read-float-le" role="function">
605<title>g3d_stream_read_float_le ()</title>
606<indexterm zone="g3d-stream-read-float-le"><primary>g3d_stream_read_float_le</primary></indexterm><programlisting><link linkend="G3DFloat">G3DFloat</link> g3d_stream_read_float_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
607<para>
608Read a 4 byte little-endian floating point number from file.</para>
609<para>
610
611</para><variablelist role="params">
612<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
613<listitem><simpara> the stream to read from
614</simpara></listitem></varlistentry>
615<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
616</simpara></listitem></varlistentry>
617</variablelist></refsect2>
618<refsect2 id="g3d-stream-read-double-be" role="function">
619<title>g3d_stream_read_double_be ()</title>
620<indexterm zone="g3d-stream-read-double-be"><primary>g3d_stream_read_double_be</primary></indexterm><programlisting><link linkend="G3DDouble">G3DDouble</link> g3d_stream_read_double_be (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
621<para>
622Read a 8 byte big-endian double-precision floating point number from file.</para>
623<para>
624
625</para><variablelist role="params">
626<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
627<listitem><simpara> the stream to read from
628</simpara></listitem></varlistentry>
629<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
630</simpara></listitem></varlistentry>
631</variablelist></refsect2>
632<refsect2 id="g3d-stream-read-double-le" role="function">
633<title>g3d_stream_read_double_le ()</title>
634<indexterm zone="g3d-stream-read-double-le"><primary>g3d_stream_read_double_le</primary></indexterm><programlisting><link linkend="G3DDouble">G3DDouble</link> g3d_stream_read_double_le (<link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
635<para>
636Read a 8 byte little-endian double-precision floating point number from
637file.</para>
638<para>
639
640</para><variablelist role="params">
641<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
642<listitem><simpara> the stream to read from
643</simpara></listitem></varlistentry>
644<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The read value, 0 in case of error
645</simpara></listitem></varlistentry>
646</variablelist></refsect2>
647<refsect2 id="g3d-stream-read-cstr" role="function">
648<title>g3d_stream_read_cstr ()</title>
649<indexterm zone="g3d-stream-read-cstr"><primary>g3d_stream_read_cstr</primary></indexterm><programlisting><link linkend="gint32">gint32</link> g3d_stream_read_cstr (<link linkend="G3DStream">G3DStream</link> *stream,
650 <link linkend="gchar">gchar</link> *buffer,
651 <link linkend="gint32">gint32</link> max_len);</programlisting>
652<para>
653Read a string (terminated by '\0') from stream</para>
654<para>
655
656</para><variablelist role="params">
657<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
658<listitem><simpara> the stream to read from
659</simpara></listitem></varlistentry>
660<varlistentry><term><parameter>buffer</parameter>&nbsp;:</term>
661<listitem><simpara> the buffer to fill
662</simpara></listitem></varlistentry>
663<varlistentry><term><parameter>max_len</parameter>&nbsp;:</term>
664<listitem><simpara> maximum number to read from stream
665</simpara></listitem></varlistentry>
666<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes read from stream
667</simpara></listitem></varlistentry>
668</variablelist></refsect2>
669<refsect2 id="G3DStreamCloseFunc" role="function">
670<title>G3DStreamCloseFunc ()</title>
671<indexterm zone="G3DStreamCloseFunc"><primary>G3DStreamCloseFunc</primary></indexterm><programlisting><link linkend="gint">gint</link> (*G3DStreamCloseFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
672<para>
673Callback function for <link linkend="g3d-stream-close"><function>g3d_stream_close()</function></link>.</para>
674<para>
675
676</para><variablelist role="params">
677<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
678<listitem><simpara> opaque stream data
679</simpara></listitem></varlistentry>
680<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else.
681</simpara></listitem></varlistentry>
682</variablelist></refsect2>
683<refsect2 id="G3DStreamEofFunc" role="function">
684<title>G3DStreamEofFunc ()</title>
685<indexterm zone="G3DStreamEofFunc"><primary>G3DStreamEofFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> (*G3DStreamEofFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
686<para>
687Callback function for <link linkend="g3d-stream-eof"><function>g3d_stream_eof()</function></link>.</para>
688<para>
689
690</para><variablelist role="params">
691<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
692<listitem><simpara> opaque stream data
693</simpara></listitem></varlistentry>
694<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on stream end-of-file, FALSE else.
695</simpara></listitem></varlistentry>
696</variablelist></refsect2>
697<refsect2 id="G3DStreamReadFunc" role="function">
698<title>G3DStreamReadFunc ()</title>
699<indexterm zone="G3DStreamReadFunc"><primary>G3DStreamReadFunc</primary></indexterm><programlisting><link linkend="gsize">gsize</link> (*G3DStreamReadFunc) (<link linkend="gpointer">gpointer</link> ptr,
700 <link linkend="gsize">gsize</link> size,
701 <link linkend="gpointer">gpointer</link> data);</programlisting>
702<para>
703Callback function for <link linkend="g3d-stream-read"><function>g3d_stream_read()</function></link>.</para>
704<para>
705
706</para><variablelist role="params">
707<varlistentry><term><parameter>ptr</parameter>&nbsp;:</term>
708<listitem><simpara> buffer to read bytes into
709</simpara></listitem></varlistentry>
710<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
711<listitem><simpara> number of bytes to read
712</simpara></listitem></varlistentry>
713<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
714<listitem><simpara> opaque stream data
715</simpara></listitem></varlistentry>
716<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> number of bytes actually read.
717</simpara></listitem></varlistentry>
718</variablelist></refsect2>
719<refsect2 id="G3DStreamReadLineFunc" role="function">
720<title>G3DStreamReadLineFunc ()</title>
721<indexterm zone="G3DStreamReadLineFunc"><primary>G3DStreamReadLineFunc</primary></indexterm><programlisting><link linkend="gchar">gchar</link>* (*G3DStreamReadLineFunc) (<link linkend="gchar">gchar</link> *buf,
722 <link linkend="gsize">gsize</link> size,
723 <link linkend="gpointer">gpointer</link> data);</programlisting>
724<para>
725Callback function for <link linkend="g3d-stream-read-line"><function>g3d_stream_read_line()</function></link>.</para>
726<para>
727
728</para><variablelist role="params">
729<varlistentry><term><parameter>buf</parameter>&nbsp;:</term>
730<listitem><simpara> buffer to read bytes into
731</simpara></listitem></varlistentry>
732<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
733<listitem><simpara> maximum size of buffer
734</simpara></listitem></varlistentry>
735<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
736<listitem><simpara> opaque stream data
737</simpara></listitem></varlistentry>
738<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> The line buffer or NULL in case of an error.
739</simpara></listitem></varlistentry>
740</variablelist></refsect2>
741<refsect2 id="G3DStreamSeekFunc" role="function">
742<title>G3DStreamSeekFunc ()</title>
743<indexterm zone="G3DStreamSeekFunc"><primary>G3DStreamSeekFunc</primary></indexterm><programlisting><link linkend="gint">gint</link> (*G3DStreamSeekFunc) (<link linkend="gpointer">gpointer</link> data,
744 <link linkend="goffset">goffset</link> offset,
745 <link linkend="GSeekType">GSeekType</link> whence);</programlisting>
746<para>
747Callback function for <link linkend="g3d-stream-seek"><function>g3d_stream_seek()</function></link>.</para>
748<para>
749
750</para><variablelist role="params">
751<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
752<listitem><simpara> opaque stream data
753</simpara></listitem></varlistentry>
754<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
755<listitem><simpara> seek offset
756</simpara></listitem></varlistentry>
757<varlistentry><term><parameter>whence</parameter>&nbsp;:</term>
758<listitem><simpara> seek type
759</simpara></listitem></varlistentry>
760<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 else.
761</simpara></listitem></varlistentry>
762</variablelist></refsect2>
763<refsect2 id="G3DStreamSizeFunc" role="function">
764<title>G3DStreamSizeFunc ()</title>
765<indexterm zone="G3DStreamSizeFunc"><primary>G3DStreamSizeFunc</primary></indexterm><programlisting><link linkend="goffset">goffset</link> (*G3DStreamSizeFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
766<para>
767Callback function for <link linkend="g3d-stream-size"><function>g3d_stream_size()</function></link>.</para>
768<para>
769
770</para><variablelist role="params">
771<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
772<listitem><simpara> opaque stream data
773</simpara></listitem></varlistentry>
774<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> size of stream.
775</simpara></listitem></varlistentry>
776</variablelist></refsect2>
777<refsect2 id="G3DStreamTellFunc" role="function">
778<title>G3DStreamTellFunc ()</title>
779<indexterm zone="G3DStreamTellFunc"><primary>G3DStreamTellFunc</primary></indexterm><programlisting><link linkend="goffset">goffset</link> (*G3DStreamTellFunc) (<link linkend="gpointer">gpointer</link> data);</programlisting>
780<para>
781Callback function for <link linkend="g3d-stream-tell"><function>g3d_stream_tell()</function></link>.</para>
782<para>
783
784</para><variablelist role="params">
785<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
786<listitem><simpara> opaque stream data
787</simpara></listitem></varlistentry>
788<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> current stream position.
789</simpara></listitem></varlistentry>
790</variablelist></refsect2>
791
792</refsect1>
793
794
795
796<refsect1 id="libg3d-stream.see-also">
797<title>See Also</title>
798<link linkend="G3DStream"><type>G3DStream</type></link>
799</refsect1>
800
801</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/texture.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/texture.xml
new file mode 100644
index 0000000..7720977
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/texture.xml
@@ -0,0 +1,318 @@
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-texture">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-texture.top_of_page">texture</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>texture</refname>
13<refpurpose>Texture loading and manipulation</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-texture.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/texture.h&gt;
23
24#define <link linkend="G3D-FLAG-IMG-GREYSCALE:CAPS">G3D_FLAG_IMG_GREYSCALE</link>
25enum <link linkend="G3DTexEnv">G3DTexEnv</link>;
26 <link linkend="G3DImage">G3DImage</link>;
27<link linkend="G3DImage">G3DImage</link>* <link linkend="g3d-texture-load-cached">g3d_texture_load_cached</link> (<link linkend="G3DContext">G3DContext</link> *context,
28 <link linkend="G3DModel">G3DModel</link> *model,
29 const <link linkend="gchar">gchar</link> *filename);
30<link linkend="G3DImage">G3DImage</link>* <link linkend="g3d-texture-load-from-stream">g3d_texture_load_from_stream</link> (<link linkend="G3DContext">G3DContext</link> *context,
31 <link linkend="G3DModel">G3DModel</link> *model,
32 <link linkend="G3DStream">G3DStream</link> *stream);
33<link linkend="G3DImage">G3DImage</link>* <link linkend="g3d-texture-load">g3d_texture_load</link> (<link linkend="G3DContext">G3DContext</link> *context,
34 const <link linkend="gchar">gchar</link> *filename);
35<link linkend="void">void</link> <link linkend="g3d-texture-free">g3d_texture_free</link> (<link linkend="G3DImage">G3DImage</link> *texture);
36<link linkend="gboolean">gboolean</link> <link linkend="g3d-texture-prepare">g3d_texture_prepare</link> (<link linkend="G3DImage">G3DImage</link> *texture);
37<link linkend="gboolean">gboolean</link> <link linkend="g3d-texture-flip-y">g3d_texture_flip_y</link> (<link linkend="G3DImage">G3DImage</link> *texture);
38<link linkend="G3DImage">G3DImage</link>* <link linkend="g3d-texture-merge-alpha">g3d_texture_merge_alpha</link> (<link linkend="G3DImage">G3DImage</link> *image,
39 <link linkend="G3DImage">G3DImage</link> *aimage);
40</synopsis>
41</refsynopsisdiv>
42
43
44
45
46
47
48
49
50
51<refsect1 id="libg3d-texture.description" role="desc">
52<title role="desc.title">Description</title>
53<para>
54A texture is an image used in materials. Here are some helper functions,
55mostly for cached loading of a <link linkend="G3DImage"><type>G3DImage</type></link>.</para>
56<para>
57
58</para>
59</refsect1>
60
61<refsect1 id="libg3d-texture.details" role="details">
62<title role="details.title">Details</title>
63<refsect2 id="G3D-FLAG-IMG-GREYSCALE:CAPS" role="macro">
64<title>G3D_FLAG_IMG_GREYSCALE</title>
65<indexterm zone="G3D-FLAG-IMG-GREYSCALE:CAPS"><primary>G3D_FLAG_IMG_GREYSCALE</primary></indexterm><programlisting>#define G3D_FLAG_IMG_GREYSCALE (1L &lt;&lt; 1)
66</programlisting>
67<para>
68The image just uses the red channel for grey value</para>
69<para>
70
71</para></refsect2>
72<refsect2 id="G3DTexEnv" role="enum">
73<title>enum G3DTexEnv</title>
74<indexterm zone="G3DTexEnv"><primary>G3DTexEnv</primary></indexterm><programlisting>typedef enum {
75 G3D_TEXENV_UNSPECIFIED = 0,
76 G3D_TEXENV_BLEND,
77 G3D_TEXENV_DECAL,
78 G3D_TEXENV_MODULATE,
79 G3D_TEXENV_REPLACE
80} G3DTexEnv;
81</programlisting>
82<para>
83Specify how the texture should interact with other material properties.</para>
84<para>
85
86</para><variablelist role="enum">
87<varlistentry id="G3D-TEXENV-UNSPECIFIED:CAPS" role="constant">
88<term><literal>G3D_TEXENV_UNSPECIFIED</literal></term>
89<listitem><simpara> unspecified, application decides
90</simpara></listitem>
91</varlistentry>
92<varlistentry id="G3D-TEXENV-BLEND:CAPS" role="constant">
93<term><literal>G3D_TEXENV_BLEND</literal></term>
94<listitem><simpara> use blending
95</simpara></listitem>
96</varlistentry>
97<varlistentry id="G3D-TEXENV-DECAL:CAPS" role="constant">
98<term><literal>G3D_TEXENV_DECAL</literal></term>
99<listitem><simpara> use as decal
100</simpara></listitem>
101</varlistentry>
102<varlistentry id="G3D-TEXENV-MODULATE:CAPS" role="constant">
103<term><literal>G3D_TEXENV_MODULATE</literal></term>
104<listitem><simpara> use modulate
105</simpara></listitem>
106</varlistentry>
107<varlistentry id="G3D-TEXENV-REPLACE:CAPS" role="constant">
108<term><literal>G3D_TEXENV_REPLACE</literal></term>
109<listitem><simpara> replace color
110</simpara></listitem>
111</varlistentry>
112</variablelist></refsect2>
113<refsect2 id="G3DImage" role="struct">
114<title>G3DImage</title>
115<indexterm zone="G3DImage"><primary>G3DImage</primary></indexterm><programlisting>typedef struct {
116 gchar *name;
117 guint32 width;
118 guint32 height;
119 guint8 depth;
120 guint32 flags;
121 guint8 *pixeldata;
122
123 guint32 tex_id;
124 G3DTexEnv tex_env;
125 G3DFloat tex_scale_u;
126 G3DFloat tex_scale_v;
127} G3DImage;
128</programlisting>
129<para>
130Object containing a two-dimensional pixel image.</para>
131<para>
132
133</para><variablelist role="struct">
134<varlistentry>
135<term><link linkend="gchar">gchar</link>&nbsp;*<structfield>name</structfield>;</term>
136<listitem><simpara> name of image
137</simpara></listitem>
138</varlistentry>
139<varlistentry>
140<term><link linkend="guint32">guint32</link>&nbsp;<structfield>width</structfield>;</term>
141<listitem><simpara> width of image in pixels
142</simpara></listitem>
143</varlistentry>
144<varlistentry>
145<term><link linkend="guint32">guint32</link>&nbsp;<structfield>height</structfield>;</term>
146<listitem><simpara> height of image in pixels
147</simpara></listitem>
148</varlistentry>
149<varlistentry>
150<term><link linkend="guint8">guint8</link>&nbsp;<structfield>depth</structfield>;</term>
151<listitem><simpara> depth of image in bits
152</simpara></listitem>
153</varlistentry>
154<varlistentry>
155<term><link linkend="guint32">guint32</link>&nbsp;<structfield>flags</structfield>;</term>
156<listitem><simpara> flags
157</simpara></listitem>
158</varlistentry>
159<varlistentry>
160<term><link linkend="guint8">guint8</link>&nbsp;*<structfield>pixeldata</structfield>;</term>
161<listitem><simpara> the binary image data
162</simpara></listitem>
163</varlistentry>
164<varlistentry>
165<term><link linkend="guint32">guint32</link>&nbsp;<structfield>tex_id</structfield>;</term>
166<listitem><simpara> the OpenGL texture id, should be unique model-wide
167</simpara></listitem>
168</varlistentry>
169<varlistentry>
170<term><link linkend="G3DTexEnv">G3DTexEnv</link>&nbsp;<structfield>tex_env</structfield>;</term>
171<listitem><simpara> texture environment flags
172</simpara></listitem>
173</varlistentry>
174<varlistentry>
175<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>tex_scale_u</structfield>;</term>
176<listitem><simpara> factor scaling texture width, should be 1.0 for most cases
177</simpara></listitem>
178</varlistentry>
179<varlistentry>
180<term><link linkend="G3DFloat">G3DFloat</link>&nbsp;<structfield>tex_scale_v</structfield>;</term>
181<listitem><simpara> factor scaling texture height, should be 1.0 for most cases
182</simpara></listitem>
183</varlistentry>
184</variablelist></refsect2>
185<refsect2 id="g3d-texture-load-cached" role="function">
186<title>g3d_texture_load_cached ()</title>
187<indexterm zone="g3d-texture-load-cached"><primary>g3d_texture_load_cached</primary></indexterm><programlisting><link linkend="G3DImage">G3DImage</link>* g3d_texture_load_cached (<link linkend="G3DContext">G3DContext</link> *context,
188 <link linkend="G3DModel">G3DModel</link> *model,
189 const <link linkend="gchar">gchar</link> *filename);</programlisting>
190<para>
191Loads a texture image from file and attaches it to a hash table in the
192model. On a second try to load this texture it is returned from cache.</para>
193<para>
194
195</para><variablelist role="params">
196<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
197<listitem><simpara> a valid context
198</simpara></listitem></varlistentry>
199<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
200<listitem><simpara> a valid model
201</simpara></listitem></varlistentry>
202<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
203<listitem><simpara> the file name of the texture to load
204</simpara></listitem></varlistentry>
205<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the texture image
206</simpara></listitem></varlistentry>
207</variablelist></refsect2>
208<refsect2 id="g3d-texture-load-from-stream" role="function">
209<title>g3d_texture_load_from_stream ()</title>
210<indexterm zone="g3d-texture-load-from-stream"><primary>g3d_texture_load_from_stream</primary></indexterm><programlisting><link linkend="G3DImage">G3DImage</link>* g3d_texture_load_from_stream (<link linkend="G3DContext">G3DContext</link> *context,
211 <link linkend="G3DModel">G3DModel</link> *model,
212 <link linkend="G3DStream">G3DStream</link> *stream);</programlisting>
213<para>
214Load a texture image from a stream. The file type is determined by the
215extension of the stream URI, so it should be valid. If <parameter>model</parameter> is not NULL
216the texture image is cached (or retrieved from cache if available).</para>
217<para>
218
219</para><variablelist role="params">
220<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
221<listitem><simpara> a valid context
222</simpara></listitem></varlistentry>
223<varlistentry><term><parameter>model</parameter>&nbsp;:</term>
224<listitem><simpara> a valid model or NULL
225</simpara></listitem></varlistentry>
226<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
227<listitem><simpara> an open stream
228</simpara></listitem></varlistentry>
229<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the texture image or NULL in case of an error.
230</simpara></listitem></varlistentry>
231</variablelist></refsect2>
232<refsect2 id="g3d-texture-load" role="function">
233<title>g3d_texture_load ()</title>
234<indexterm zone="g3d-texture-load"><primary>g3d_texture_load</primary></indexterm><programlisting><link linkend="G3DImage">G3DImage</link>* g3d_texture_load (<link linkend="G3DContext">G3DContext</link> *context,
235 const <link linkend="gchar">gchar</link> *filename);</programlisting>
236<para>
237Load a texture from a file. The type of file is determined by the file
238extension.</para>
239<para>
240
241</para><variablelist role="params">
242<varlistentry><term><parameter>context</parameter>&nbsp;:</term>
243<listitem><simpara> a valid context
244</simpara></listitem></varlistentry>
245<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
246<listitem><simpara> the file name of the texture
247</simpara></listitem></varlistentry>
248<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the texture image or NULL in case of an error.
249</simpara></listitem></varlistentry>
250</variablelist></refsect2>
251<refsect2 id="g3d-texture-free" role="function">
252<title>g3d_texture_free ()</title>
253<indexterm zone="g3d-texture-free"><primary>g3d_texture_free</primary></indexterm><programlisting><link linkend="void">void</link> g3d_texture_free (<link linkend="G3DImage">G3DImage</link> *texture);</programlisting>
254<para>
255Frees all memory used by this texture image.</para>
256<para>
257
258</para><variablelist role="params">
259<varlistentry><term><parameter>texture</parameter>&nbsp;:</term>
260<listitem><simpara> a texture image
261</simpara></listitem></varlistentry>
262</variablelist></refsect2>
263<refsect2 id="g3d-texture-prepare" role="function">
264<title>g3d_texture_prepare ()</title>
265<indexterm zone="g3d-texture-prepare"><primary>g3d_texture_prepare</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_texture_prepare (<link linkend="G3DImage">G3DImage</link> *texture);</programlisting>
266<para>
267Resizes the image to dimensions which are a power of 2 to be
268usable as an OpenGL texture.
269(FIXME: unimplemented)</para>
270<para>
271
272</para><variablelist role="params">
273<varlistentry><term><parameter>texture</parameter>&nbsp;:</term>
274<listitem><simpara> a texture image
275</simpara></listitem></varlistentry>
276<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
277</simpara></listitem></varlistentry>
278</variablelist></refsect2>
279<refsect2 id="g3d-texture-flip-y" role="function">
280<title>g3d_texture_flip_y ()</title>
281<indexterm zone="g3d-texture-flip-y"><primary>g3d_texture_flip_y</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_texture_flip_y (<link linkend="G3DImage">G3DImage</link> *texture);</programlisting>
282<para>
283Mirror the image along the x axis - all y coordinates are inverted.</para>
284<para>
285
286</para><variablelist role="params">
287<varlistentry><term><parameter>texture</parameter>&nbsp;:</term>
288<listitem><simpara> a texture image
289</simpara></listitem></varlistentry>
290<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE on error.
291</simpara></listitem></varlistentry>
292</variablelist></refsect2>
293<refsect2 id="g3d-texture-merge-alpha" role="function">
294<title>g3d_texture_merge_alpha ()</title>
295<indexterm zone="g3d-texture-merge-alpha"><primary>g3d_texture_merge_alpha</primary></indexterm><programlisting><link linkend="G3DImage">G3DImage</link>* g3d_texture_merge_alpha (<link linkend="G3DImage">G3DImage</link> *image,
296 <link linkend="G3DImage">G3DImage</link> *aimage);</programlisting>
297<para>
298Merges alpha information from <parameter>aimage</parameter> into output image. If <parameter>image</parameter> is NULL a
299new image is created, else <parameter>image</parameter> is returned with alpha from <parameter>aimage</parameter>.</para>
300<para>
301
302</para><variablelist role="params">
303<varlistentry><term><parameter>image</parameter>&nbsp;:</term>
304<listitem><simpara> a texture image or NULL
305</simpara></listitem></varlistentry>
306<varlistentry><term><parameter>aimage</parameter>&nbsp;:</term>
307<listitem><simpara> an image with alpha information
308</simpara></listitem></varlistentry>
309<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a texture image or NULL in case of an error.
310</simpara></listitem></varlistentry>
311</variablelist></refsect2>
312
313</refsect1>
314
315
316
317
318</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/types.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/types.xml
new file mode 100644
index 0000000..c12d48b
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/types.xml
@@ -0,0 +1,92 @@
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-types">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-types.top_of_page">types</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>types</refname>
13<refpurpose>Basic types</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-types.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/types.h&gt;
23
24typedef <link linkend="G3DSingle">G3DSingle</link>;
25typedef <link linkend="G3DDouble">G3DDouble</link>;
26typedef <link linkend="G3DFloat">G3DFloat</link>;
27#define <link linkend="G3D-FLOAT-IS-DOUBLE:CAPS">G3D_FLOAT_IS_DOUBLE</link>
28</synopsis>
29</refsynopsisdiv>
30
31
32
33
34
35
36
37
38
39<refsect1 id="libg3d-types.description" role="desc">
40<title role="desc.title">Description</title>
41<para>
42Some basic type abstractions used in libg3d.</para>
43<para>
44
45</para>
46</refsect1>
47
48<refsect1 id="libg3d-types.details" role="details">
49<title role="details.title">Details</title>
50<refsect2 id="G3DSingle" role="typedef">
51<title>G3DSingle</title>
52<indexterm zone="G3DSingle"><primary>G3DSingle</primary></indexterm><programlisting>typedef gfloat G3DSingle;
53</programlisting>
54<para>
55Single-precision floating point number.</para>
56<para>
57
58</para></refsect2>
59<refsect2 id="G3DDouble" role="typedef">
60<title>G3DDouble</title>
61<indexterm zone="G3DDouble"><primary>G3DDouble</primary></indexterm><programlisting>typedef gdouble G3DDouble;
62</programlisting>
63<para>
64Double-precision floating point number.</para>
65<para>
66
67</para></refsect2>
68<refsect2 id="G3DFloat" role="typedef">
69<title>G3DFloat</title>
70<indexterm zone="G3DFloat"><primary>G3DFloat</primary></indexterm><para>
71Default floating point type. If used consistently in the library (not the
72case at the moment) this type can be switched between single and double
73precision at compile-time.</para>
74<para>
75
76</para></refsect2>
77<refsect2 id="G3D-FLOAT-IS-DOUBLE:CAPS" role="macro">
78<title>G3D_FLOAT_IS_DOUBLE</title>
79<indexterm zone="G3D-FLOAT-IS-DOUBLE:CAPS"><primary>G3D_FLOAT_IS_DOUBLE</primary></indexterm><programlisting>#define G3D_FLOAT_IS_DOUBLE</programlisting>
80<para>
81A flag indicating type of <link linkend="G3DFloat"><type>G3DFloat</type></link>. It is TRUE if <link linkend="G3DFloat"><type>G3DFloat</type></link> is double and
82FALSE if <link linkend="G3DFloat"><type>G3DFloat</type></link> is single precision.</para>
83<para>
84
85</para></refsect2>
86
87</refsect1>
88
89
90
91
92</refentry>
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/xml/vector.xml b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/vector.xml
new file mode 100644
index 0000000..d306c67
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/xml/vector.xml
@@ -0,0 +1,184 @@
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-vector">
5<refmeta>
6<refentrytitle role="top_of_page" id="libg3d-vector.top_of_page">vector</refentrytitle>
7<manvolnum>3</manvolnum>
8<refmiscinfo>LIBG3D Library</refmiscinfo>
9</refmeta>
10
11<refnamediv>
12<refname>vector</refname>
13<refpurpose>Vector manipulation and calculation</refpurpose>
14<!--[<xref linkend="desc" endterm="desc.title"/>]-->
15</refnamediv>
16
17<refsynopsisdiv id="libg3d-vector.synopsis" role="synopsis">
18<title role="synopsis.title">Synopsis</title>
19
20<synopsis>
21
22#include &lt;g3d/vector.h&gt;
23
24typedef <link linkend="G3DVector">G3DVector</link>;
25<link linkend="gboolean">gboolean</link> <link linkend="g3d-vector-normal">g3d_vector_normal</link> (<link linkend="G3DFloat">G3DFloat</link> ax,
26 <link linkend="G3DFloat">G3DFloat</link> ay,
27 <link linkend="G3DFloat">G3DFloat</link> az,
28 <link linkend="G3DFloat">G3DFloat</link> bx,
29 <link linkend="G3DFloat">G3DFloat</link> by,
30 <link linkend="G3DFloat">G3DFloat</link> bz,
31 <link linkend="G3DFloat">G3DFloat</link> *nx,
32 <link linkend="G3DFloat">G3DFloat</link> *ny,
33 <link linkend="G3DFloat">G3DFloat</link> *nz);
34<link linkend="gboolean">gboolean</link> <link linkend="g3d-vector-unify">g3d_vector_unify</link> (<link linkend="G3DFloat">G3DFloat</link> *nx,
35 <link linkend="G3DFloat">G3DFloat</link> *ny,
36 <link linkend="G3DFloat">G3DFloat</link> *nz);
37<link linkend="gboolean">gboolean</link> <link linkend="g3d-vector-transform">g3d_vector_transform</link> (<link linkend="G3DFloat">G3DFloat</link> *x,
38 <link linkend="G3DFloat">G3DFloat</link> *y,
39 <link linkend="G3DFloat">G3DFloat</link> *z,
40 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);
41</synopsis>
42</refsynopsisdiv>
43
44
45
46
47
48
49
50
51
52<refsect1 id="libg3d-vector.description" role="desc">
53<title role="desc.title">Description</title>
54<para>
55A vector is a one-dimensional array of floating point data.
56</para>
57<para>
58Declare it as statically as:
59</para>
60<para>
61G3DVector vector[3];
62</para>
63<para>
64or allocate it dynamically with:
65</para>
66<para>
67G3DVector *vector = g3d_vector_new(3, 1);</para>
68<para>
69
70</para>
71</refsect1>
72
73<refsect1 id="libg3d-vector.details" role="details">
74<title role="details.title">Details</title>
75<refsect2 id="G3DVector" role="typedef">
76<title>G3DVector</title>
77<indexterm zone="G3DVector"><primary>G3DVector</primary></indexterm><programlisting>typedef G3DFloat G3DVector;
78</programlisting>
79<para>
80Vector element type.</para>
81<para>
82
83</para></refsect2>
84<refsect2 id="g3d-vector-normal" role="function">
85<title>g3d_vector_normal ()</title>
86<indexterm zone="g3d-vector-normal"><primary>g3d_vector_normal</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_vector_normal (<link linkend="G3DFloat">G3DFloat</link> ax,
87 <link linkend="G3DFloat">G3DFloat</link> ay,
88 <link linkend="G3DFloat">G3DFloat</link> az,
89 <link linkend="G3DFloat">G3DFloat</link> bx,
90 <link linkend="G3DFloat">G3DFloat</link> by,
91 <link linkend="G3DFloat">G3DFloat</link> bz,
92 <link linkend="G3DFloat">G3DFloat</link> *nx,
93 <link linkend="G3DFloat">G3DFloat</link> *ny,
94 <link linkend="G3DFloat">G3DFloat</link> *nz);</programlisting>
95<para>
96calculate the normal from a plane defined by two vectors</para>
97<para>
98
99</para><variablelist role="params">
100<varlistentry><term><parameter>ax</parameter>&nbsp;:</term>
101<listitem><simpara> x component first vector
102</simpara></listitem></varlistentry>
103<varlistentry><term><parameter>ay</parameter>&nbsp;:</term>
104<listitem><simpara> y component first vector
105</simpara></listitem></varlistentry>
106<varlistentry><term><parameter>az</parameter>&nbsp;:</term>
107<listitem><simpara> z component first vector
108</simpara></listitem></varlistentry>
109<varlistentry><term><parameter>bx</parameter>&nbsp;:</term>
110<listitem><simpara> x component second vector
111</simpara></listitem></varlistentry>
112<varlistentry><term><parameter>by</parameter>&nbsp;:</term>
113<listitem><simpara> y component second vector
114</simpara></listitem></varlistentry>
115<varlistentry><term><parameter>bz</parameter>&nbsp;:</term>
116<listitem><simpara> z component second vector
117</simpara></listitem></varlistentry>
118<varlistentry><term><parameter>nx</parameter>&nbsp;:</term>
119<listitem><simpara> x component resulting normal
120</simpara></listitem></varlistentry>
121<varlistentry><term><parameter>ny</parameter>&nbsp;:</term>
122<listitem><simpara> y component resulting normal
123</simpara></listitem></varlistentry>
124<varlistentry><term><parameter>nz</parameter>&nbsp;:</term>
125<listitem><simpara> z component resulting normal
126</simpara></listitem></varlistentry>
127<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
128</simpara></listitem></varlistentry>
129</variablelist></refsect2>
130<refsect2 id="g3d-vector-unify" role="function">
131<title>g3d_vector_unify ()</title>
132<indexterm zone="g3d-vector-unify"><primary>g3d_vector_unify</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_vector_unify (<link linkend="G3DFloat">G3DFloat</link> *nx,
133 <link linkend="G3DFloat">G3DFloat</link> *ny,
134 <link linkend="G3DFloat">G3DFloat</link> *nz);</programlisting>
135<para>
136Transforms the given vector to the unit vector.</para>
137<para>
138
139</para><variablelist role="params">
140<varlistentry><term><parameter>nx</parameter>&nbsp;:</term>
141<listitem><simpara> x component of vector
142</simpara></listitem></varlistentry>
143<varlistentry><term><parameter>ny</parameter>&nbsp;:</term>
144<listitem><simpara> y component of vector
145</simpara></listitem></varlistentry>
146<varlistentry><term><parameter>nz</parameter>&nbsp;:</term>
147<listitem><simpara> z component of vector
148</simpara></listitem></varlistentry>
149<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> TRUE on success, FALSE else
150</simpara></listitem></varlistentry>
151</variablelist></refsect2>
152<refsect2 id="g3d-vector-transform" role="function">
153<title>g3d_vector_transform ()</title>
154<indexterm zone="g3d-vector-transform"><primary>g3d_vector_transform</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> g3d_vector_transform (<link linkend="G3DFloat">G3DFloat</link> *x,
155 <link linkend="G3DFloat">G3DFloat</link> *y,
156 <link linkend="G3DFloat">G3DFloat</link> *z,
157 <link linkend="G3DMatrix">G3DMatrix</link> *matrix);</programlisting>
158<para>
159Transforms the given vector corresponding to the given matrix</para>
160<para>
161
162</para><variablelist role="params">
163<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
164<listitem><simpara> x component of vector
165</simpara></listitem></varlistentry>
166<varlistentry><term><parameter>y</parameter>&nbsp;:</term>
167<listitem><simpara> y component of vector
168</simpara></listitem></varlistentry>
169<varlistentry><term><parameter>z</parameter>&nbsp;:</term>
170<listitem><simpara> z component of vector
171</simpara></listitem></varlistentry>
172<varlistentry><term><parameter>matrix</parameter>&nbsp;:</term>
173<listitem><simpara> transformation matrix (4x4)
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
179</refsect1>
180
181
182
183
184</refentry>