diff options
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.xml | 301 |
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 <g3d/object.h> | ||
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> | ||
53 | Objects are parts of a model. In most file formats vertices and faces are | ||
54 | grouped in some way into objects. Objects can be hierarchical, so what a | ||
55 | model 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> | ||
84 | A three-dimensional object.</para> | ||
85 | <para> | ||
86 | |||
87 | </para><variablelist role="struct"> | ||
88 | <varlistentry> | ||
89 | <term><link linkend="gchar">gchar</link> *<structfield>name</structfield>;</term> | ||
90 | <listitem><simpara> name of object | ||
91 | </simpara></listitem> | ||
92 | </varlistentry> | ||
93 | <varlistentry> | ||
94 | <term><link linkend="GSList">GSList</link> *<structfield>materials</structfield>;</term> | ||
95 | <listitem><simpara> list of materials | ||
96 | </simpara></listitem> | ||
97 | </varlistentry> | ||
98 | <varlistentry> | ||
99 | <term><link linkend="GSList">GSList</link> *<structfield>faces</structfield>;</term> | ||
100 | <listitem><simpara> list of faces | ||
101 | </simpara></listitem> | ||
102 | </varlistentry> | ||
103 | <varlistentry> | ||
104 | <term><link linkend="GSList">GSList</link> *<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> *<structfield>transformation</structfield>;</term> | ||
110 | <listitem><simpara> optional transformation | ||
111 | </simpara></listitem> | ||
112 | </varlistentry> | ||
113 | <varlistentry> | ||
114 | <term><link linkend="gboolean">gboolean</link> <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> <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> *<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> | ||
137 | A three-dimensional matrix transformation object.</para> | ||
138 | <para> | ||
139 | |||
140 | </para><variablelist role="struct"> | ||
141 | <varlistentry> | ||
142 | <term><link linkend="G3DMatrix">G3DMatrix</link> <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> <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> | ||
156 | Frees all memory allocated for that object.</para> | ||
157 | <para> | ||
158 | |||
159 | </para><variablelist role="params"> | ||
160 | <varlistentry><term><parameter>object</parameter> :</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> | ||
168 | Calculates the radius of the object. This is the maximum from the | ||
169 | center to a vertex.</para> | ||
170 | <para> | ||
171 | |||
172 | </para><variablelist role="params"> | ||
173 | <varlistentry><term><parameter>object</parameter> :</term> | ||
174 | <listitem><simpara> the object to measure | ||
175 | </simpara></listitem></varlistentry> | ||
176 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
184 | Resizes the object by the factor <parameter>scale</parameter>.</para> | ||
185 | <para> | ||
186 | |||
187 | </para><variablelist role="params"> | ||
188 | <varlistentry><term><parameter>object</parameter> :</term> | ||
189 | <listitem><simpara> the object to scale | ||
190 | </simpara></listitem></varlistentry> | ||
191 | <varlistentry><term><parameter>scale</parameter> :</term> | ||
192 | <listitem><simpara> scale factor | ||
193 | </simpara></listitem></varlistentry> | ||
194 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
202 | Multiplies all vertices of the object with the transformation matrix.</para> | ||
203 | <para> | ||
204 | |||
205 | </para><variablelist role="params"> | ||
206 | <varlistentry><term><parameter>object</parameter> :</term> | ||
207 | <listitem><simpara> the object to transform | ||
208 | </simpara></listitem></varlistentry> | ||
209 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
210 | <listitem><simpara> the transformation matrix | ||
211 | </simpara></listitem></varlistentry> | ||
212 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
220 | Multiplies all normals of the object with the transformation matrix.</para> | ||
221 | <para> | ||
222 | |||
223 | </para><variablelist role="params"> | ||
224 | <varlistentry><term><parameter>object</parameter> :</term> | ||
225 | <listitem><simpara> the object to transform | ||
226 | </simpara></listitem></varlistentry> | ||
227 | <varlistentry><term><parameter>matrix</parameter> :</term> | ||
228 | <listitem><simpara> the transformation matrix | ||
229 | </simpara></listitem></varlistentry> | ||
230 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
237 | Duplicates an object with all vertices, faces and materials.</para> | ||
238 | <para> | ||
239 | |||
240 | </para><variablelist role="params"> | ||
241 | <varlistentry><term><parameter>object</parameter> :</term> | ||
242 | <listitem><simpara> the object to duplicate | ||
243 | </simpara></listitem></varlistentry> | ||
244 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
251 | Puts all vertex and face information into special arrays for faster | ||
252 | rendering. It is deprecated and should not be used.</para> | ||
253 | <para> | ||
254 | |||
255 | </para><variablelist role="params"> | ||
256 | <varlistentry><term><parameter>object</parameter> :</term> | ||
257 | <listitem><simpara> the object to optimize | ||
258 | </simpara></listitem></varlistentry> | ||
259 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
266 | FIXME: unimplemented.</para> | ||
267 | <para> | ||
268 | |||
269 | </para><variablelist role="params"> | ||
270 | <varlistentry><term><parameter>object</parameter> :</term> | ||
271 | <listitem><simpara> the object to smooth | ||
272 | </simpara></listitem></varlistentry> | ||
273 | <varlistentry><term><emphasis>Returns</emphasis> :</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> | ||
281 | Merges both objects into <parameter>o1</parameter>. | ||
282 | FIXME: needs cleanup</para> | ||
283 | <para> | ||
284 | |||
285 | </para><variablelist role="params"> | ||
286 | <varlistentry><term><parameter>o1</parameter> :</term> | ||
287 | <listitem><simpara> first and target object | ||
288 | </simpara></listitem></varlistentry> | ||
289 | <varlistentry><term><parameter>o2</parameter> :</term> | ||
290 | <listitem><simpara> second object | ||
291 | </simpara></listitem></varlistentry> | ||
292 | <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> TRUE on success, FALSE else | ||
293 | </simpara></listitem></varlistentry> | ||
294 | </variablelist></refsect2> | ||
295 | |||
296 | </refsect1> | ||
297 | |||
298 | |||
299 | |||
300 | |||
301 | </refentry> | ||