aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/xml/model.xml285
1 files changed, 285 insertions, 0 deletions
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>