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