aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-object.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-object.html')
-rw-r--r--src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-object.html466
1 files changed, 466 insertions, 0 deletions
diff --git a/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-object.html b/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-object.html
new file mode 100644
index 0000000..c06bc24
--- /dev/null
+++ b/src/others/mimesh/libg3d-0.0.8/doc/api/html/libg3d-object.html
@@ -0,0 +1,466 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5<title>object</title>
6<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
7<link rel="start" href="index.html" title="libg3d Reference Manual">
8<link rel="up" href="ch01.html" title="Application interface">
9<link rel="prev" href="libg3d-model.html" title="model">
10<link rel="next" href="libg3d-face.html" title="face">
11<meta name="generator" content="GTK-Doc V1.10 (XML mode)">
12<link rel="stylesheet" href="style.css" type="text/css">
13<link rel="chapter" href="ch01.html" title="Application interface">
14<link rel="chapter" href="ch02.html" title="Plugin interface">
15</head>
16<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
17<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18<tr valign="middle">
19<td><a accesskey="p" href="libg3d-model.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
20<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
21<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
22<th width="100%" align="center">libg3d Reference Manual</th>
23<td><a accesskey="n" href="libg3d-face.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24</tr>
25<tr><td colspan="5" class="shortcuts"><nobr><a href="#libg3d-object.synopsis" class="shortcut">Top</a>
26  | 
27 <a href="#libg3d-object.description" class="shortcut">Description</a></nobr></td></tr>
28</table>
29<div class="refentry" lang="en">
30<a name="libg3d-object"></a><div class="titlepage"></div>
31<div class="refnamediv"><table width="100%"><tr>
32<td valign="top">
33<h2><span class="refentrytitle"><a name="libg3d-object.top_of_page"></a>object</span></h2>
34<p>object — Object manipulation</p>
35</td>
36<td valign="top" align="right"></td>
37</tr></table></div>
38<div class="refsynopsisdiv">
39<a name="libg3d-object.synopsis"></a><h2>Synopsis</h2>
40<pre class="synopsis">
41
42#include &lt;g3d/object.h&gt;
43
44 <a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a>;
45 <a class="link" href="libg3d-object.html#G3DTransformation" title="G3DTransformation">G3DTransformation</a>;
46void <a class="link" href="libg3d-object.html#g3d-object-free" title="g3d_object_free ()">g3d_object_free</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);
47<a
48href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"
49>gdouble</a> <a class="link" href="libg3d-object.html#g3d-object-radius" title="g3d_object_radius ()">g3d_object_radius</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);
50<a
51href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
52>gboolean</a> <a class="link" href="libg3d-object.html#g3d-object-scale" title="g3d_object_scale ()">g3d_object_scale</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object,
53 <a class="link" href="libg3d-types.html#G3DFloat" title="G3DFloat">G3DFloat</a> scale);
54<a
55href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
56>gboolean</a> <a class="link" href="libg3d-object.html#g3d-object-transform" title="g3d_object_transform ()">g3d_object_transform</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object,
57 <a class="link" href="libg3d-matrix.html#G3DMatrix" title="G3DMatrix">G3DMatrix</a> *matrix);
58<a
59href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
60>gboolean</a> <a class="link" href="libg3d-object.html#g3d-object-transform-normals" title="g3d_object_transform_normals ()">g3d_object_transform_normals</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object,
61 <a class="link" href="libg3d-matrix.html#G3DMatrix" title="G3DMatrix">G3DMatrix</a> *matrix);
62<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a>* <a class="link" href="libg3d-object.html#g3d-object-duplicate" title="g3d_object_duplicate ()">g3d_object_duplicate</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);
63<a
64href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
65>gboolean</a> <a class="link" href="libg3d-object.html#g3d-object-optimize" title="g3d_object_optimize ()">g3d_object_optimize</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);
66<a
67href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
68>gboolean</a> <a class="link" href="libg3d-object.html#g3d-object-smooth" title="g3d_object_smooth ()">g3d_object_smooth</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);
69<a
70href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
71>gboolean</a> <a class="link" href="libg3d-object.html#g3d-object-merge" title="g3d_object_merge ()">g3d_object_merge</a> (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *o1,
72 <a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *o2);
73</pre>
74</div>
75<div class="refsect1" lang="en">
76<a name="libg3d-object.description"></a><h2>Description</h2>
77<p>
78Objects are parts of a model. In most file formats vertices and faces are
79grouped in some way into objects. Objects can be hierarchical, so what a
80model contains is basically an object tree.</p>
81<p>
82
83</p>
84</div>
85<div class="refsect1" lang="en">
86<a name="libg3d-object.details"></a><h2>Details</h2>
87<div class="refsect2" lang="en">
88<a name="G3DObject"></a><h3>G3DObject</h3>
89<pre class="programlisting">typedef struct {
90 gchar *name;
91
92 GSList *materials;
93 GSList *faces;
94 GSList *objects;
95
96 /* transformation, may be NULL */
97 G3DTransformation *transformation;
98
99 /* don't render this object */
100 gboolean hide;
101
102 /* vertices */
103 guint32 vertex_count;
104 G3DVector *vertex_data;
105} G3DObject;
106</pre>
107<p>
108A three-dimensional object.</p>
109<p>
110
111</p>
112<div class="variablelist"><table border="0">
113<col align="left" valign="top">
114<tbody>
115<tr>
116<td><p><span class="term"><a
117href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
118>gchar</a> *<em class="structfield"><code>name</code></em>;</span></p></td>
119<td> name of object
120</td>
121</tr>
122<tr>
123<td><p><span class="term"><a
124href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"
125>GSList</a> *<em class="structfield"><code>materials</code></em>;</span></p></td>
126<td> list of materials
127</td>
128</tr>
129<tr>
130<td><p><span class="term"><a
131href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"
132>GSList</a> *<em class="structfield"><code>faces</code></em>;</span></p></td>
133<td> list of faces
134</td>
135</tr>
136<tr>
137<td><p><span class="term"><a
138href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"
139>GSList</a> *<em class="structfield"><code>objects</code></em>;</span></p></td>
140<td> list of sub-objects
141</td>
142</tr>
143<tr>
144<td><p><span class="term"><a class="link" href="libg3d-object.html#G3DTransformation" title="G3DTransformation">G3DTransformation</a> *<em class="structfield"><code>transformation</code></em>;</span></p></td>
145<td> optional transformation
146</td>
147</tr>
148<tr>
149<td><p><span class="term"><a
150href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
151>gboolean</a> <em class="structfield"><code>hide</code></em>;</span></p></td>
152<td> flag to disable object rendering
153</td>
154</tr>
155<tr>
156<td><p><span class="term"><a
157href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
158>guint32</a> <em class="structfield"><code>vertex_count</code></em>;</span></p></td>
159<td> number of vertices
160</td>
161</tr>
162<tr>
163<td><p><span class="term"><a class="link" href="libg3d-vector.html#G3DVector" title="G3DVector">G3DVector</a> *<em class="structfield"><code>vertex_data</code></em>;</span></p></td>
164<td> vertex vector data
165</td>
166</tr>
167</tbody>
168</table></div>
169</div>
170<hr>
171<div class="refsect2" lang="en">
172<a name="G3DTransformation"></a><h3>G3DTransformation</h3>
173<pre class="programlisting">typedef struct {
174 G3DMatrix matrix[16];
175 guint32 flags;
176} G3DTransformation;
177</pre>
178<p>
179A three-dimensional matrix transformation object.</p>
180<p>
181
182</p>
183<div class="variablelist"><table border="0">
184<col align="left" valign="top">
185<tbody>
186<tr>
187<td><p><span class="term"><a class="link" href="libg3d-matrix.html#G3DMatrix" title="G3DMatrix">G3DMatrix</a> <em class="structfield"><code>matrix</code></em>[16];</span></p></td>
188<td> the transformation matrix
189</td>
190</tr>
191<tr>
192<td><p><span class="term"><a
193href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"
194>guint32</a> <em class="structfield"><code>flags</code></em>;</span></p></td>
195<td> flags
196</td>
197</tr>
198</tbody>
199</table></div>
200</div>
201<hr>
202<div class="refsect2" lang="en">
203<a name="g3d-object-free"></a><h3>g3d_object_free ()</h3>
204<pre class="programlisting">void g3d_object_free (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);</pre>
205<p>
206Frees all memory allocated for that object.</p>
207<p>
208
209</p>
210<div class="variablelist"><table border="0">
211<col align="left" valign="top">
212<tbody><tr>
213<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
214<td> the object to free
215</td>
216</tr></tbody>
217</table></div>
218</div>
219<hr>
220<div class="refsect2" lang="en">
221<a name="g3d-object-radius"></a><h3>g3d_object_radius ()</h3>
222<pre class="programlisting"><a
223href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gdouble"
224>gdouble</a> g3d_object_radius (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);</pre>
225<p>
226Calculates the radius of the object. This is the maximum from the
227center to a vertex.</p>
228<p>
229
230</p>
231<div class="variablelist"><table border="0">
232<col align="left" valign="top">
233<tbody>
234<tr>
235<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
236<td> the object to measure
237</td>
238</tr>
239<tr>
240<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
241<td> the radius of the given object
242</td>
243</tr>
244</tbody>
245</table></div>
246</div>
247<hr>
248<div class="refsect2" lang="en">
249<a name="g3d-object-scale"></a><h3>g3d_object_scale ()</h3>
250<pre class="programlisting"><a
251href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
252>gboolean</a> g3d_object_scale (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object,
253 <a class="link" href="libg3d-types.html#G3DFloat" title="G3DFloat">G3DFloat</a> scale);</pre>
254<p>
255Resizes the object by the factor <em class="parameter"><code>scale</code></em>.</p>
256<p>
257
258</p>
259<div class="variablelist"><table border="0">
260<col align="left" valign="top">
261<tbody>
262<tr>
263<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
264<td> the object to scale
265</td>
266</tr>
267<tr>
268<td><p><span class="term"><em class="parameter"><code>scale</code></em> :</span></p></td>
269<td> scale factor
270</td>
271</tr>
272<tr>
273<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
274<td> TRUE on success, FALSE else
275</td>
276</tr>
277</tbody>
278</table></div>
279</div>
280<hr>
281<div class="refsect2" lang="en">
282<a name="g3d-object-transform"></a><h3>g3d_object_transform ()</h3>
283<pre class="programlisting"><a
284href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
285>gboolean</a> g3d_object_transform (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object,
286 <a class="link" href="libg3d-matrix.html#G3DMatrix" title="G3DMatrix">G3DMatrix</a> *matrix);</pre>
287<p>
288Multiplies all vertices of the object with the transformation matrix.</p>
289<p>
290
291</p>
292<div class="variablelist"><table border="0">
293<col align="left" valign="top">
294<tbody>
295<tr>
296<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
297<td> the object to transform
298</td>
299</tr>
300<tr>
301<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
302<td> the transformation matrix
303</td>
304</tr>
305<tr>
306<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
307<td> TRUE on success, FALSE else
308</td>
309</tr>
310</tbody>
311</table></div>
312</div>
313<hr>
314<div class="refsect2" lang="en">
315<a name="g3d-object-transform-normals"></a><h3>g3d_object_transform_normals ()</h3>
316<pre class="programlisting"><a
317href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
318>gboolean</a> g3d_object_transform_normals (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object,
319 <a class="link" href="libg3d-matrix.html#G3DMatrix" title="G3DMatrix">G3DMatrix</a> *matrix);</pre>
320<p>
321Multiplies all normals of the object with the transformation matrix.</p>
322<p>
323
324</p>
325<div class="variablelist"><table border="0">
326<col align="left" valign="top">
327<tbody>
328<tr>
329<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
330<td> the object to transform
331</td>
332</tr>
333<tr>
334<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
335<td> the transformation matrix
336</td>
337</tr>
338<tr>
339<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
340<td> TRUE on success, FALSE else
341</td>
342</tr>
343</tbody>
344</table></div>
345</div>
346<hr>
347<div class="refsect2" lang="en">
348<a name="g3d-object-duplicate"></a><h3>g3d_object_duplicate ()</h3>
349<pre class="programlisting"><a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a>* g3d_object_duplicate (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);</pre>
350<p>
351Duplicates an object with all vertices, faces and materials.</p>
352<p>
353
354</p>
355<div class="variablelist"><table border="0">
356<col align="left" valign="top">
357<tbody>
358<tr>
359<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
360<td> the object to duplicate
361</td>
362</tr>
363<tr>
364<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
365<td> the new clone object
366</td>
367</tr>
368</tbody>
369</table></div>
370</div>
371<hr>
372<div class="refsect2" lang="en">
373<a name="g3d-object-optimize"></a><h3>g3d_object_optimize ()</h3>
374<pre class="programlisting"><a
375href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
376>gboolean</a> g3d_object_optimize (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);</pre>
377<p>
378Puts all vertex and face information into special arrays for faster
379rendering. It is deprecated and should not be used.</p>
380<p>
381
382</p>
383<div class="variablelist"><table border="0">
384<col align="left" valign="top">
385<tbody>
386<tr>
387<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
388<td> the object to optimize
389</td>
390</tr>
391<tr>
392<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
393<td> TRUE on success, FALSE else
394</td>
395</tr>
396</tbody>
397</table></div>
398</div>
399<hr>
400<div class="refsect2" lang="en">
401<a name="g3d-object-smooth"></a><h3>g3d_object_smooth ()</h3>
402<pre class="programlisting"><a
403href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
404>gboolean</a> g3d_object_smooth (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *object);</pre>
405<p>
406FIXME: unimplemented.</p>
407<p>
408
409</p>
410<div class="variablelist"><table border="0">
411<col align="left" valign="top">
412<tbody>
413<tr>
414<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
415<td> the object to smooth
416</td>
417</tr>
418<tr>
419<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
420<td> TRUE on success, FALSE else
421</td>
422</tr>
423</tbody>
424</table></div>
425</div>
426<hr>
427<div class="refsect2" lang="en">
428<a name="g3d-object-merge"></a><h3>g3d_object_merge ()</h3>
429<pre class="programlisting"><a
430href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
431>gboolean</a> g3d_object_merge (<a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *o1,
432 <a class="link" href="libg3d-object.html#G3DObject" title="G3DObject">G3DObject</a> *o2);</pre>
433<p>
434Merges both objects into <em class="parameter"><code>o1</code></em>.
435FIXME: needs cleanup</p>
436<p>
437
438</p>
439<div class="variablelist"><table border="0">
440<col align="left" valign="top">
441<tbody>
442<tr>
443<td><p><span class="term"><em class="parameter"><code>o1</code></em> :</span></p></td>
444<td> first and target object
445</td>
446</tr>
447<tr>
448<td><p><span class="term"><em class="parameter"><code>o2</code></em> :</span></p></td>
449<td> second object
450</td>
451</tr>
452<tr>
453<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
454<td> TRUE on success, FALSE else
455</td>
456</tr>
457</tbody>
458</table></div>
459</div>
460</div>
461</div>
462<div class="footer">
463<hr>
464 Generated by GTK-Doc V1.10</div>
465</body>
466</html>