remove hkl_axis_is_value_compatible_with_range
[hkl.git] / hkl / Hkl-5.0.gir
blob147b0f2e9a26d4eb7ef65b798922c8bac3bd3ab4
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations. -->
5 <repository version="1.2"
6 xmlns="http://www.gtk.org/introspection/core/1.0"
7 xmlns:c="http://www.gtk.org/introspection/c/1.0"
8 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9 <package name="hkl-5.0"/>
10 <c:include name="hkl.h"/>
11 <namespace name="Hkl"
12 version="5.0"
13 shared-library="libhkl.so.5"
14 c:identifier-prefixes="Hkl"
15 c:symbol-prefixes="hkl">
16 <record name="Axis"
17 c:type="HklAxis"
18 glib:type-name="HklAxis"
19 glib:get-type="hkl_axis_get_type"
20 c:symbol-prefix="axis">
21 <field name="parameter" writable="1">
22 <type name="Parameter" c:type="HklParameter"/>
23 </field>
24 <field name="axis_v" writable="1">
25 <type name="Vector" c:type="HklVector"/>
26 </field>
27 <field name="q" writable="1">
28 <type name="Quaternion" c:type="HklQuaternion"/>
29 </field>
30 <field name="engine_list" writable="1">
31 <type name="gpointer" c:type="gpointer"/>
32 </field>
33 <constructor name="new" c:identifier="hkl_axis_new">
34 <return-value transfer-ownership="full">
35 <type name="Axis" c:type="HklAxis*"/>
36 </return-value>
37 <parameters>
38 <parameter name="name" transfer-ownership="none">
39 <type name="utf8" c:type="char*"/>
40 </parameter>
41 <parameter name="axis_v" transfer-ownership="none">
42 <type name="Vector" c:type="HklVector*"/>
43 </parameter>
44 </parameters>
45 </constructor>
46 <method name="free" c:identifier="hkl_axis_free">
47 <return-value transfer-ownership="none">
48 <type name="none" c:type="void"/>
49 </return-value>
50 </method>
51 <method name="init" c:identifier="hkl_axis_init">
52 <return-value transfer-ownership="none">
53 <type name="none" c:type="void"/>
54 </return-value>
55 <parameters>
56 <parameter name="name" transfer-ownership="none">
57 <type name="utf8" c:type="char*"/>
58 </parameter>
59 <parameter name="axis_v" transfer-ownership="none">
60 <type name="Vector" c:type="HklVector*"/>
61 </parameter>
62 </parameters>
63 </method>
64 <method name="new_copy" c:identifier="hkl_axis_new_copy">
65 <return-value transfer-ownership="full">
66 <type name="Axis" c:type="HklAxis*"/>
67 </return-value>
68 </method>
69 <method name="set_value_smallest_in_range"
70 c:identifier="hkl_axis_set_value_smallest_in_range">
71 <return-value transfer-ownership="none">
72 <type name="none" c:type="void"/>
73 </return-value>
74 </method>
75 <function name="fprintf" c:identifier="hkl_axis_fprintf">
76 <return-value transfer-ownership="none">
77 <type name="none" c:type="void"/>
78 </return-value>
79 <parameters>
80 <parameter name="f" transfer-ownership="none">
81 <type name="gpointer" c:type="FILE*"/>
82 </parameter>
83 <parameter name="self" transfer-ownership="none">
84 <type name="Axis" c:type="HklAxis*"/>
85 </parameter>
86 </parameters>
87 </function>
88 </record>
89 <record name="Detector"
90 c:type="HklDetector"
91 glib:type-name="HklDetector"
92 glib:get-type="hkl_detector_get_type"
93 c:symbol-prefix="detector">
94 <field name="idx" writable="1">
95 <type name="gulong" c:type="size_t"/>
96 </field>
97 <field name="holder" writable="1">
98 <type name="Holder" c:type="HklHolder*"/>
99 </field>
100 <constructor name="factory_new" c:identifier="hkl_detector_factory_new">
101 <doc xml:whitespace="preserve">Detector factory
103 Returns:</doc>
104 <return-value transfer-ownership="full">
105 <type name="Detector" c:type="HklDetector*"/>
106 </return-value>
107 <parameters>
108 <parameter name="type" transfer-ownership="none">
109 <type name="DetectorType" c:type="HklDetectorType"/>
110 </parameter>
111 </parameters>
112 </constructor>
113 <constructor name="new"
114 c:identifier="hkl_detector_new"
115 introspectable="0">
116 <doc xml:whitespace="preserve">Create a new default #HklDetector
118 Returns:</doc>
119 <return-value transfer-ownership="full">
120 <type name="Detector" c:type="HklDetector*"/>
121 </return-value>
122 </constructor>
123 <method name="attach_to_holder"
124 c:identifier="hkl_detector_attach_to_holder"
125 introspectable="0">
126 <doc xml:whitespace="preserve">attach the #HklDetector to an #HklHolder</doc>
127 <return-value transfer-ownership="none">
128 <type name="none" c:type="void"/>
129 </return-value>
130 <parameters>
131 <parameter name="holder" transfer-ownership="none">
132 <type name="Holder" c:type="HklHolder*"/>
133 </parameter>
134 </parameters>
135 </method>
136 <method name="compute_kf"
137 c:identifier="hkl_detector_compute_kf"
138 introspectable="0">
139 <doc xml:whitespace="preserve">Compute the kf vector of the #HklDetector</doc>
140 <return-value transfer-ownership="none">
141 <doc xml:whitespace="preserve">HKL_SUCCESS if everythongs goes fine. HKL_FAIL otherwise.</doc>
142 <type name="gint" c:type="int"/>
143 </return-value>
144 <parameters>
145 <parameter name="g" transfer-ownership="none">
146 <doc xml:whitespace="preserve">the diffractometer #HklGeometry use to compute kf.</doc>
147 <type name="Geometry" c:type="HklGeometry*"/>
148 </parameter>
149 <parameter name="kf"
150 direction="out"
151 caller-allocates="1"
152 transfer-ownership="none">
153 <doc xml:whitespace="preserve">the #HklVector fill with the kf coordinates.</doc>
154 <type name="Vector" c:type="HklVector*"/>
155 </parameter>
156 </parameters>
157 </method>
158 <method name="free" c:identifier="hkl_detector_free" introspectable="0">
159 <doc xml:whitespace="preserve">destructor</doc>
160 <return-value transfer-ownership="none">
161 <type name="none" c:type="void"/>
162 </return-value>
163 </method>
164 <method name="new_copy"
165 c:identifier="hkl_detector_new_copy"
166 introspectable="0">
167 <doc xml:whitespace="preserve">the copy constructor
169 Returns:</doc>
170 <return-value transfer-ownership="full">
171 <type name="Detector" c:type="HklDetector*"/>
172 </return-value>
173 </method>
174 <function name="fprintf"
175 c:identifier="hkl_detector_fprintf"
176 introspectable="0">
177 <doc xml:whitespace="preserve">print to a FILE the detector members</doc>
178 <return-value transfer-ownership="none">
179 <type name="none" c:type="void"/>
180 </return-value>
181 <parameters>
182 <parameter name="f" transfer-ownership="none">
183 <type name="gpointer" c:type="FILE*"/>
184 </parameter>
185 <parameter name="self" transfer-ownership="none">
186 <type name="Detector" c:type="HklDetector*"/>
187 </parameter>
188 </parameters>
189 </function>
190 </record>
191 <enumeration name="DetectorType"
192 glib:type-name="HklDetectorType"
193 glib:get-type="hkl_detector_type_get_type"
194 c:type="HklDetectorType">
195 <member name="0d"
196 value="0"
197 c:identifier="HKL_DETECTOR_TYPE_0D"
198 glib:nick="0d"/>
199 </enumeration>
200 <record name="Error"
201 c:type="HklError"
202 glib:type-name="HklError"
203 glib:get-type="hkl_error_get_type"
204 c:symbol-prefix="error">
205 <field name="message" writable="1">
206 <type name="utf8" c:type="char*"/>
207 </field>
208 <constructor name="new" c:identifier="hkl_error_new" introspectable="0">
209 <doc xml:whitespace="preserve">Creates a new #HklError with the given,
210 and a message formatted with @format.</doc>
211 <return-value transfer-ownership="full">
212 <doc xml:whitespace="preserve">a new #HklError</doc>
213 <type name="Error" c:type="HklError*"/>
214 </return-value>
215 <parameters>
216 <parameter name="format" transfer-ownership="none">
217 <doc xml:whitespace="preserve">printf()-style format for error message</doc>
218 <type name="utf8" c:type="char*"/>
219 </parameter>
220 <parameter transfer-ownership="none">
221 <varargs>
222 </varargs>
223 </parameter>
224 </parameters>
225 </constructor>
226 <constructor name="new_literal"
227 c:identifier="hkl_error_new_literal"
228 introspectable="0">
229 <doc xml:whitespace="preserve">Creates a new #HklError; unlike hkl_error_new(), @message is not a
230 printf()-style format string. Use this function if @message
231 contains text you don't have control over, that could include
232 printf() escape sequences.</doc>
233 <return-value transfer-ownership="full">
234 <doc xml:whitespace="preserve">a new #HklError</doc>
235 <type name="Error" c:type="HklError*"/>
236 </return-value>
237 <parameters>
238 <parameter name="message" transfer-ownership="none">
239 <doc xml:whitespace="preserve">error message</doc>
240 <type name="utf8" c:type="char*"/>
241 </parameter>
242 </parameters>
243 </constructor>
244 <constructor name="new_valist"
245 c:identifier="hkl_error_new_valist"
246 version="2.22"
247 introspectable="0">
248 <doc xml:whitespace="preserve">Creates a new #HklError with the given message
249 formatted with @format.</doc>
250 <return-value transfer-ownership="full">
251 <doc xml:whitespace="preserve">a new #HklError</doc>
252 <type name="Error" c:type="HklError*"/>
253 </return-value>
254 <parameters>
255 <parameter name="format" transfer-ownership="none">
256 <doc xml:whitespace="preserve">printf()-style format for error message</doc>
257 <type name="utf8" c:type="char*"/>
258 </parameter>
259 <parameter name="args" transfer-ownership="none">
260 <doc xml:whitespace="preserve">#va_list of parameters for the message format</doc>
261 <type name="va_list" c:type="va_list"/>
262 </parameter>
263 </parameters>
264 </constructor>
265 <method name="free" c:identifier="hkl_error_free" introspectable="0">
266 <doc xml:whitespace="preserve">Frees a #HklError and associated resources.</doc>
267 <return-value transfer-ownership="none">
268 <type name="none" c:type="void"/>
269 </return-value>
270 </method>
271 <method name="new_copy"
272 c:identifier="hkl_error_new_copy"
273 introspectable="0">
274 <doc xml:whitespace="preserve">Makes a copy of @error.</doc>
275 <return-value transfer-ownership="full">
276 <doc xml:whitespace="preserve">a new #HklError</doc>
277 <type name="Error" c:type="HklError*"/>
278 </return-value>
279 </method>
280 <function name="clear" c:identifier="hkl_error_clear" introspectable="0">
281 <doc xml:whitespace="preserve">If @err is %NULL, does nothing. If @err is non-%NULL, calls
282 hkl_error_free() on *@err and sets *@err to %NULL.</doc>
283 <return-value transfer-ownership="none">
284 <type name="none" c:type="void"/>
285 </return-value>
286 <parameters>
287 <parameter name="err" transfer-ownership="none">
288 <doc xml:whitespace="preserve">a #HklError return location</doc>
289 <type name="Error" c:type="HklError**"/>
290 </parameter>
291 </parameters>
292 </function>
293 <function name="prefix"
294 c:identifier="hkl_error_prefix"
295 version="2.16"
296 introspectable="0">
297 <doc xml:whitespace="preserve">Formats a string according to @format and prefix it to an existing
298 error message. If @err is %NULL (ie: no error variable) then do
299 nothing.
301 If *@err is %NULL (ie: an error variable is present but there is no
302 error condition) then also do nothing. Whether or not it makes
303 sense to take advantage of this feature is up to you.</doc>
304 <return-value transfer-ownership="none">
305 <type name="none" c:type="void"/>
306 </return-value>
307 <parameters>
308 <parameter name="err" transfer-ownership="none">
309 <doc xml:whitespace="preserve">a return location for a #HklError, or %NULL</doc>
310 <type name="Error" c:type="HklError**"/>
311 </parameter>
312 <parameter name="format" transfer-ownership="none">
313 <doc xml:whitespace="preserve">printf()-style format string</doc>
314 <type name="utf8" c:type="char*"/>
315 </parameter>
316 <parameter transfer-ownership="none">
317 <varargs>
318 </varargs>
319 </parameter>
320 </parameters>
321 </function>
322 <function name="propagate"
323 c:identifier="hkl_error_propagate"
324 introspectable="0">
325 <doc xml:whitespace="preserve">If @dest is %NULL, free @src; otherwise, moves @src into *@dest.
326 The error variable @dest points to must be %NULL.</doc>
327 <return-value transfer-ownership="none">
328 <type name="none" c:type="void"/>
329 </return-value>
330 <parameters>
331 <parameter name="dest" transfer-ownership="none">
332 <doc xml:whitespace="preserve">error return location</doc>
333 <type name="Error" c:type="HklError**"/>
334 </parameter>
335 <parameter name="src" transfer-ownership="none">
336 <doc xml:whitespace="preserve">error to move into the return location</doc>
337 <type name="Error" c:type="HklError*"/>
338 </parameter>
339 </parameters>
340 </function>
341 <function name="propagate_prefixed"
342 c:identifier="hkl_error_propagate_prefixed"
343 version="2.16"
344 introspectable="0">
345 <doc xml:whitespace="preserve">If @dest is %NULL, free @src; otherwise, moves @src into
346 *@dest. *@dest must be %NULL. After the move, add a prefix as with
347 hkl_prefix_error().</doc>
348 <return-value transfer-ownership="none">
349 <type name="none" c:type="void"/>
350 </return-value>
351 <parameters>
352 <parameter name="dest" transfer-ownership="none">
353 <doc xml:whitespace="preserve">error return location</doc>
354 <type name="Error" c:type="HklError**"/>
355 </parameter>
356 <parameter name="src" transfer-ownership="none">
357 <doc xml:whitespace="preserve">error to move into the return location</doc>
358 <type name="Error" c:type="HklError*"/>
359 </parameter>
360 <parameter name="format" transfer-ownership="none">
361 <doc xml:whitespace="preserve">printf()-style format string</doc>
362 <type name="utf8" c:type="char*"/>
363 </parameter>
364 <parameter transfer-ownership="none">
365 <varargs>
366 </varargs>
367 </parameter>
368 </parameters>
369 </function>
370 <function name="set" c:identifier="hkl_error_set" introspectable="0">
371 <doc xml:whitespace="preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
372 must be %NULL. A new #HklError is created and assigned to *@err.</doc>
373 <return-value transfer-ownership="none">
374 <type name="none" c:type="void"/>
375 </return-value>
376 <parameters>
377 <parameter name="err" transfer-ownership="none">
378 <doc xml:whitespace="preserve">a return location for a #HklError, or %NULL</doc>
379 <type name="Error" c:type="HklError**"/>
380 </parameter>
381 <parameter name="format" transfer-ownership="none">
382 <doc xml:whitespace="preserve">printf()-style format</doc>
383 <type name="utf8" c:type="char*"/>
384 </parameter>
385 <parameter transfer-ownership="none">
386 <varargs>
387 </varargs>
388 </parameter>
389 </parameters>
390 </function>
391 <function name="set_literal"
392 c:identifier="hkl_error_set_literal"
393 version="2.18"
394 introspectable="0">
395 <doc xml:whitespace="preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
396 must be %NULL. A new #HklError is created and assigned to *@err.
397 Unlike hkl_set_error(), @message is not a printf()-style format
398 string. Use this function if @message contains text you don't have
399 control over, that could include printf() escape sequences.</doc>
400 <return-value transfer-ownership="none">
401 <type name="none" c:type="void"/>
402 </return-value>
403 <parameters>
404 <parameter name="err" transfer-ownership="none">
405 <doc xml:whitespace="preserve">a return location for a #HklError, or %NULL</doc>
406 <type name="Error" c:type="HklError**"/>
407 </parameter>
408 <parameter name="message" transfer-ownership="none">
409 <doc xml:whitespace="preserve">error message</doc>
410 <type name="utf8" c:type="char*"/>
411 </parameter>
412 </parameters>
413 </function>
414 </record>
415 <record name="Geometry"
416 c:type="HklGeometry"
417 glib:type-name="HklGeometry"
418 glib:get-type="hkl_geometry_get_type"
419 c:symbol-prefix="geometry">
420 <field name="config" writable="1">
421 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
422 </field>
423 <field name="source" writable="1">
424 <type name="Source" c:type="HklSource"/>
425 </field>
426 <field name="axes" writable="1">
427 <type name="Axis" c:type="HklAxis*"/>
428 </field>
429 <field name="len" writable="1">
430 <type name="gulong" c:type="size_t"/>
431 </field>
432 <field name="holders" writable="1">
433 <type name="Holder" c:type="HklHolder*"/>
434 </field>
435 <field name="holders_len" writable="1">
436 <type name="gulong" c:type="size_t"/>
437 </field>
438 <constructor name="factory_new"
439 c:identifier="hkl_geometry_factory_new"
440 introspectable="0">
441 <doc xml:whitespace="preserve">create an #HklGeometry given an #HklGeometryConfig</doc>
442 <return-value transfer-ownership="full">
443 <doc xml:whitespace="preserve">a new #HklGeometry</doc>
444 <type name="Geometry" c:type="HklGeometry*"/>
445 </return-value>
446 <parameters>
447 <parameter name="config" transfer-ownership="none">
448 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
449 </parameter>
450 <parameter transfer-ownership="none">
451 <varargs>
452 </varargs>
453 </parameter>
454 </parameters>
455 </constructor>
456 <constructor name="factory_newv"
457 c:identifier="hkl_geometry_factory_newv">
458 <doc xml:whitespace="preserve">factory constructor</doc>
459 <return-value transfer-ownership="full">
460 <doc xml:whitespace="preserve">a new HklGeometry</doc>
461 <type name="Geometry" c:type="HklGeometry*"/>
462 </return-value>
463 <parameters>
464 <parameter name="config" transfer-ownership="none">
465 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
466 </parameter>
467 <parameter name="parameters" transfer-ownership="none">
468 <array length="2" zero-terminated="0" c:type="double">
469 <type name="gdouble" c:type="double"/>
470 </array>
471 </parameter>
472 <parameter name="len" transfer-ownership="none">
473 <type name="gint" c:type="int"/>
474 </parameter>
475 </parameters>
476 </constructor>
477 <constructor name="new"
478 c:identifier="hkl_geometry_new"
479 introspectable="0">
480 <doc xml:whitespace="preserve">constructor
482 Returns:</doc>
483 <return-value transfer-ownership="full">
484 <type name="Geometry" c:type="HklGeometry*"/>
485 </return-value>
486 </constructor>
487 <method name="add_holder"
488 c:identifier="hkl_geometry_add_holder"
489 introspectable="0">
490 <doc xml:whitespace="preserve">add an Holder to the #HklGeometry
492 Returns:</doc>
493 <return-value>
494 <type name="Holder" c:type="HklHolder*"/>
495 </return-value>
496 </method>
497 <method name="axes" c:identifier="hkl_geometry_axes">
498 <doc xml:whitespace="preserve">free the list with g_slist_free when done.</doc>
499 <return-value transfer-ownership="container">
500 <doc xml:whitespace="preserve">list of HklAxis,</doc>
501 <type name="GLib.SList" c:type="GSList*">
502 <type name="Axis"/>
503 </type>
504 </return-value>
505 </method>
506 <method name="closest_from_geometry_with_range"
507 c:identifier="hkl_geometry_closest_from_geometry_with_range"
508 introspectable="0">
509 <doc xml:whitespace="preserve">get the closest axes values in the HklInterval compatible with the
510 current axes values
512 Returns:</doc>
513 <return-value transfer-ownership="none">
514 <type name="gint" c:type="int"/>
515 </return-value>
516 <parameters>
517 <parameter name="ref" transfer-ownership="none">
518 <type name="Geometry" c:type="HklGeometry*"/>
519 </parameter>
520 </parameters>
521 </method>
522 <method name="distance" c:identifier="hkl_geometry_distance">
523 <doc xml:whitespace="preserve">compute the distance between two #HklGeometries</doc>
524 <return-value transfer-ownership="none">
525 <doc xml:whitespace="preserve">the distance between the two geometries</doc>
526 <type name="gdouble" c:type="double"/>
527 </return-value>
528 <parameters>
529 <parameter name="ref" transfer-ownership="none">
530 <doc xml:whitespace="preserve">the #HklGeometry to compare with</doc>
531 <type name="Geometry" c:type="HklGeometry*"/>
532 </parameter>
533 </parameters>
534 </method>
535 <method name="distance_orthodromic"
536 c:identifier="hkl_geometry_distance_orthodromic"
537 introspectable="0">
538 <return-value transfer-ownership="none">
539 <doc xml:whitespace="preserve">the orthodromique distance</doc>
540 <type name="gdouble" c:type="double"/>
541 </return-value>
542 <parameters>
543 <parameter name="ref" transfer-ownership="none">
544 <doc xml:whitespace="preserve">the reference #HklGeometry to compare with.</doc>
545 <type name="Geometry" c:type="HklGeometry*"/>
546 </parameter>
547 </parameters>
548 </method>
549 <method name="free" c:identifier="hkl_geometry_free" introspectable="0">
550 <doc xml:whitespace="preserve">destructor</doc>
551 <return-value transfer-ownership="none">
552 <type name="none" c:type="void"/>
553 </return-value>
554 </method>
555 <method name="get_axes_values_unit"
556 c:identifier="hkl_geometry_get_axes_values_unit">
557 <doc xml:whitespace="preserve">free the list with free when done.</doc>
558 <return-value transfer-ownership="container">
559 <doc xml:whitespace="preserve">list of axes values,</doc>
560 <array length="0" zero-terminated="0" c:type="double*">
561 <type name="gdouble" c:type="double"/>
562 </array>
563 </return-value>
564 <parameters>
565 <parameter name="len"
566 direction="out"
567 caller-allocates="1"
568 transfer-ownership="full">
569 <doc xml:whitespace="preserve">the length of the returned array</doc>
570 <type name="guint" c:type="unsigned int*"/>
571 </parameter>
572 </parameters>
573 </method>
574 <method name="get_axis_by_name"
575 c:identifier="hkl_geometry_get_axis_by_name">
576 <doc xml:whitespace="preserve">get an #HklAxis using its name</doc>
577 <return-value transfer-ownership="none">
578 <type name="Axis" c:type="HklAxis*"/>
579 </return-value>
580 <parameters>
581 <parameter name="name" transfer-ownership="none">
582 <type name="utf8" c:type="char*"/>
583 </parameter>
584 </parameters>
585 </method>
586 <method name="get_axis_idx_by_name"
587 c:identifier="hkl_geometry_get_axis_idx_by_name"
588 introspectable="0">
589 <doc xml:whitespace="preserve">get the index of the axes named @name in the geometry</doc>
590 <return-value transfer-ownership="none">
591 <doc xml:whitespace="preserve">-1 if the axis was not found</doc>
592 <type name="gint" c:type="int"/>
593 </return-value>
594 <parameters>
595 <parameter name="name" transfer-ownership="none">
596 <type name="utf8" c:type="char*"/>
597 </parameter>
598 </parameters>
599 </method>
600 <method name="init_geometry"
601 c:identifier="hkl_geometry_init_geometry"
602 introspectable="0">
603 <doc xml:whitespace="preserve">initilize an HklGeometry</doc>
604 <return-value transfer-ownership="none">
605 <type name="none" c:type="void"/>
606 </return-value>
607 <parameters>
608 <parameter name="src" transfer-ownership="none">
609 <type name="Geometry" c:type="HklGeometry*"/>
610 </parameter>
611 </parameters>
612 </method>
613 <method name="is_valid"
614 c:identifier="hkl_geometry_is_valid"
615 introspectable="0">
616 <doc xml:whitespace="preserve">check if all axes of the #HklGeometry are valid.
618 Returns:</doc>
619 <return-value transfer-ownership="none">
620 <type name="gint" c:type="int"/>
621 </return-value>
622 </method>
623 <method name="new_copy"
624 c:identifier="hkl_geometry_new_copy"
625 introspectable="0">
626 <doc xml:whitespace="preserve">copy constructor
628 Returns:</doc>
629 <return-value transfer-ownership="full">
630 <type name="Geometry" c:type="HklGeometry*"/>
631 </return-value>
632 </method>
633 <method name="randomize"
634 c:identifier="hkl_geometry_randomize"
635 introspectable="0">
636 <doc xml:whitespace="preserve">randomize the #HklGeometry</doc>
637 <return-value transfer-ownership="none">
638 <type name="none" c:type="void"/>
639 </return-value>
640 </method>
641 <method name="set_axes_values_unit"
642 c:identifier="hkl_geometry_set_axes_values_unit">
643 <return-value transfer-ownership="none">
644 <type name="none" c:type="void"/>
645 </return-value>
646 <parameters>
647 <parameter name="values" transfer-ownership="none">
648 <doc xml:whitespace="preserve">the values to set.</doc>
649 <array length="1" zero-terminated="0" c:type="double*">
650 <type name="gdouble" c:type="double"/>
651 </array>
652 </parameter>
653 <parameter name="len" transfer-ownership="none">
654 <doc xml:whitespace="preserve">the length of the values array.</doc>
655 <type name="guint" c:type="unsigned int"/>
656 </parameter>
657 </parameters>
658 </method>
659 <method name="set_values_unit_v"
660 c:identifier="hkl_geometry_set_values_unit_v"
661 introspectable="0">
662 <return-value transfer-ownership="none">
663 <type name="gint" c:type="int"/>
664 </return-value>
665 <parameters>
666 <parameter transfer-ownership="none">
667 <varargs>
668 </varargs>
669 </parameter>
670 </parameters>
671 </method>
672 <method name="set_values_v"
673 c:identifier="hkl_geometry_set_values_v"
674 introspectable="0">
675 <doc xml:whitespace="preserve">set the axes values
677 Returns:</doc>
678 <return-value transfer-ownership="none">
679 <type name="gint" c:type="int"/>
680 </return-value>
681 <parameters>
682 <parameter name="len" transfer-ownership="none">
683 <type name="gulong" c:type="size_t"/>
684 </parameter>
685 <parameter transfer-ownership="none">
686 <varargs>
687 </varargs>
688 </parameter>
689 </parameters>
690 </method>
691 <method name="update"
692 c:identifier="hkl_geometry_update"
693 introspectable="0">
694 <doc xml:whitespace="preserve">update the geometry internal once an Axis values changed</doc>
695 <return-value transfer-ownership="none">
696 <type name="none" c:type="void"/>
697 </return-value>
698 </method>
699 <function name="factory_get_config_from_type"
700 c:identifier="hkl_geometry_factory_get_config_from_type">
701 <doc xml:whitespace="preserve">get am #HklGeometryConfig for a given #HklGeometryType</doc>
702 <return-value transfer-ownership="none">
703 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
704 </return-value>
705 <parameters>
706 <parameter name="type" transfer-ownership="none">
707 <type name="GeometryType" c:type="HklGeometryType"/>
708 </parameter>
709 </parameters>
710 </function>
711 <function name="fprintf"
712 c:identifier="hkl_geometry_fprintf"
713 introspectable="0">
714 <doc xml:whitespace="preserve">print into a file the #HklGeometry</doc>
715 <return-value transfer-ownership="none">
716 <type name="none" c:type="void"/>
717 </return-value>
718 <parameters>
719 <parameter name="file" transfer-ownership="none">
720 <type name="gpointer" c:type="FILE*"/>
721 </parameter>
722 <parameter name="self" transfer-ownership="none">
723 <type name="Geometry" c:type="HklGeometry*"/>
724 </parameter>
725 </parameters>
726 </function>
727 </record>
728 <record name="GeometryConfig" c:type="HklGeometryConfig">
729 <field name="name" writable="1">
730 <type name="utf8" c:type="char*"/>
731 </field>
732 <field name="type" writable="1">
733 <type name="GeometryType" c:type="HklGeometryType"/>
734 </field>
735 </record>
736 <record name="GeometryList"
737 c:type="HklGeometryList"
738 glib:type-name="HklGeometryList"
739 glib:get-type="hkl_geometry_list_get_type"
740 c:symbol-prefix="geometry_list">
741 <field name="len" writable="1">
742 <type name="gint" c:type="int"/>
743 </field>
744 <field name="multiply" writable="1">
745 <type name="GeometryListMultiplyFunction"
746 c:type="HklGeometryListMultiplyFunction"/>
747 </field>
748 <field name="items" writable="1">
749 <type name="gpointer" c:type="gpointer"/>
750 </field>
751 <field name="_shit" writable="1">
752 <type name="gpointer" c:type="void*"/>
753 </field>
754 <constructor name="new"
755 c:identifier="hkl_geometry_list_new"
756 introspectable="0">
757 <doc xml:whitespace="preserve">constructor
759 Returns:</doc>
760 <return-value transfer-ownership="full">
761 <type name="GeometryList" c:type="HklGeometryList*"/>
762 </return-value>
763 </constructor>
764 <method name="add" c:identifier="hkl_geometry_list_add">
765 <return-value transfer-ownership="none">
766 <type name="none" c:type="void"/>
767 </return-value>
768 <parameters>
769 <parameter name="geometry" transfer-ownership="none">
770 <type name="Geometry" c:type="HklGeometry*"/>
771 </parameter>
772 </parameters>
773 </method>
774 <method name="free"
775 c:identifier="hkl_geometry_list_free"
776 introspectable="0">
777 <doc xml:whitespace="preserve">destructor</doc>
778 <return-value transfer-ownership="none">
779 <type name="none" c:type="void"/>
780 </return-value>
781 </method>
782 <method name="items" c:identifier="hkl_geometry_list_items">
783 <doc xml:whitespace="preserve">free the list with g_slist_free when done.</doc>
784 <return-value transfer-ownership="container">
785 <doc xml:whitespace="preserve">list of items,</doc>
786 <type name="GLib.SList" c:type="GSList*">
787 <type name="GeometryListItem"/>
788 </type>
789 </return-value>
790 </method>
791 <method name="multiply"
792 c:identifier="hkl_geometry_list_multiply"
793 introspectable="0">
794 <doc xml:whitespace="preserve">apply the multiply lenthod to the #HklGeometry</doc>
795 <return-value transfer-ownership="none">
796 <type name="none" c:type="void"/>
797 </return-value>
798 </method>
799 <method name="multiply_from_range"
800 c:identifier="hkl_geometry_list_multiply_from_range">
801 <return-value transfer-ownership="none">
802 <type name="none" c:type="void"/>
803 </return-value>
804 </method>
805 <method name="new_copy"
806 c:identifier="hkl_geometry_list_new_copy"
807 introspectable="0">
808 <doc xml:whitespace="preserve">copy constructor
810 Returns:</doc>
811 <return-value transfer-ownership="full">
812 <type name="GeometryList" c:type="HklGeometryList*"/>
813 </return-value>
814 </method>
815 <method name="remove_invalid"
816 c:identifier="hkl_geometry_list_remove_invalid"
817 introspectable="0">
818 <doc xml:whitespace="preserve">remove all invalid #HklGeometry from the #HklGeometryList</doc>
819 <return-value transfer-ownership="none">
820 <type name="none" c:type="void"/>
821 </return-value>
822 </method>
823 <method name="reset"
824 c:identifier="hkl_geometry_list_reset"
825 introspectable="0">
826 <doc xml:whitespace="preserve">reset the HklGeometry, in fact it is a sort of clean method remove
827 all the items of the list.</doc>
828 <return-value transfer-ownership="none">
829 <type name="none" c:type="void"/>
830 </return-value>
831 </method>
832 <method name="sort"
833 c:identifier="hkl_geometry_list_sort"
834 introspectable="0">
835 <doc xml:whitespace="preserve">sort the #HklGeometryList compare to the distance of the given
836 #HklGeometry</doc>
837 <return-value transfer-ownership="none">
838 <type name="none" c:type="void"/>
839 </return-value>
840 <parameters>
841 <parameter name="ref" transfer-ownership="none">
842 <type name="Geometry" c:type="HklGeometry*"/>
843 </parameter>
844 </parameters>
845 </method>
846 <function name="fprintf"
847 c:identifier="hkl_geometry_list_fprintf"
848 introspectable="0">
849 <doc xml:whitespace="preserve">print to a file the #HklGeometryList</doc>
850 <return-value transfer-ownership="none">
851 <type name="none" c:type="void"/>
852 </return-value>
853 <parameters>
854 <parameter name="f" transfer-ownership="none">
855 <type name="gpointer" c:type="FILE*"/>
856 </parameter>
857 <parameter name="self" transfer-ownership="none">
858 <type name="GeometryList" c:type="HklGeometryList*"/>
859 </parameter>
860 </parameters>
861 </function>
862 </record>
863 <record name="GeometryListItem"
864 c:type="HklGeometryListItem"
865 glib:type-name="HklGeometryListItem"
866 glib:get-type="hkl_geometry_list_item_get_type"
867 c:symbol-prefix="geometry_list_item">
868 <field name="geometry" writable="1">
869 <type name="Geometry" c:type="HklGeometry*"/>
870 </field>
871 <field name="node" writable="1">
872 <type name="gpointer" c:type="gpointer"/>
873 </field>
874 <field name="_shit" writable="1">
875 <type name="gpointer" c:type="void*"/>
876 </field>
877 <constructor name="new"
878 c:identifier="hkl_geometry_list_item_new"
879 introspectable="0">
880 <doc xml:whitespace="preserve">constructor
882 Returns:</doc>
883 <return-value transfer-ownership="full">
884 <type name="GeometryListItem" c:type="HklGeometryListItem*"/>
885 </return-value>
886 <parameters>
887 <parameter name="geometry" transfer-ownership="none">
888 <type name="Geometry" c:type="HklGeometry*"/>
889 </parameter>
890 </parameters>
891 </constructor>
892 <method name="free"
893 c:identifier="hkl_geometry_list_item_free"
894 introspectable="0">
895 <doc xml:whitespace="preserve">destructor</doc>
896 <return-value transfer-ownership="none">
897 <type name="none" c:type="void"/>
898 </return-value>
899 </method>
900 <method name="new_copy"
901 c:identifier="hkl_geometry_list_item_new_copy"
902 introspectable="0">
903 <doc xml:whitespace="preserve">copy constructor
905 Returns:</doc>
906 <return-value transfer-ownership="full">
907 <type name="GeometryListItem" c:type="HklGeometryListItem*"/>
908 </return-value>
909 </method>
910 </record>
911 <callback name="GeometryListMultiplyFunction"
912 c:type="HklGeometryListMultiplyFunction">
913 <return-value transfer-ownership="none">
914 <type name="none" c:type="void"/>
915 </return-value>
916 <parameters>
917 <parameter name="self" transfer-ownership="none">
918 <type name="GeometryList" c:type="HklGeometryList*"/>
919 </parameter>
920 <parameter name="item" transfer-ownership="none">
921 <type name="GeometryListItem" c:type="HklGeometryListItem*"/>
922 </parameter>
923 </parameters>
924 </callback>
925 <enumeration name="GeometryType"
926 glib:type-name="HklGeometryType"
927 glib:get-type="hkl_geometry_type_get_type"
928 c:type="HklGeometryType">
929 <member name="twoc_vertical"
930 value="0"
931 c:identifier="HKL_GEOMETRY_TYPE_TWOC_VERTICAL"
932 glib:nick="twoc-vertical"/>
933 <member name="eulerian4c_vertical"
934 value="1"
935 c:identifier="HKL_GEOMETRY_TYPE_EULERIAN4C_VERTICAL"
936 glib:nick="eulerian4c-vertical"/>
937 <member name="kappa4c_vertical"
938 value="2"
939 c:identifier="HKL_GEOMETRY_TYPE_KAPPA4C_VERTICAL"
940 glib:nick="kappa4c-vertical"/>
941 <member name="eulerian6c"
942 value="3"
943 c:identifier="HKL_GEOMETRY_TYPE_EULERIAN6C"
944 glib:nick="eulerian6c"/>
945 <member name="kappa6c"
946 value="4"
947 c:identifier="HKL_GEOMETRY_TYPE_KAPPA6C"
948 glib:nick="kappa6c"/>
949 <member name="zaxis"
950 value="5"
951 c:identifier="HKL_GEOMETRY_TYPE_ZAXIS"
952 glib:nick="zaxis"/>
953 <member name="soleil_sixs_med_2_2"
954 value="6"
955 c:identifier="HKL_GEOMETRY_TYPE_SOLEIL_SIXS_MED_2_2"
956 glib:nick="soleil-sixs-med-2-2"/>
957 <member name="soleil_mars"
958 value="7"
959 c:identifier="HKL_GEOMETRY_TYPE_SOLEIL_MARS"
960 glib:nick="soleil-mars"/>
961 <member name="soleil_sixs_med_1_2"
962 value="8"
963 c:identifier="HKL_GEOMETRY_TYPE_SOLEIL_SIXS_MED_1_2"
964 glib:nick="soleil-sixs-med-1-2"/>
965 <member name="petra3_p09_eh2"
966 value="9"
967 c:identifier="HKL_GEOMETRY_TYPE_PETRA3_P09_EH2"
968 glib:nick="petra3-p09-eh2"/>
969 <member name="eulerian4c_horizontal"
970 value="10"
971 c:identifier="HKL_GEOMETRY_TYPE_EULERIAN4C_HORIZONTAL"
972 glib:nick="eulerian4c-horizontal"/>
973 </enumeration>
974 <record name="Holder" c:type="HklHolder">
975 <field name="config" writable="1">
976 <type name="gpointer" c:type="gpointer*"/>
977 </field>
978 <field name="geometry" writable="1">
979 <type name="Geometry" c:type="HklGeometry*"/>
980 </field>
981 <field name="q" writable="1">
982 <type name="Quaternion" c:type="HklQuaternion"/>
983 </field>
984 <method name="add_rotation_axis"
985 c:identifier="hkl_holder_add_rotation_axis">
986 <return-value transfer-ownership="full">
987 <type name="Axis" c:type="HklAxis*"/>
988 </return-value>
989 <parameters>
990 <parameter name="name" transfer-ownership="none">
991 <type name="utf8" c:type="char*"/>
992 </parameter>
993 <parameter name="x" transfer-ownership="none">
994 <type name="gdouble" c:type="double"/>
995 </parameter>
996 <parameter name="y" transfer-ownership="none">
997 <type name="gdouble" c:type="double"/>
998 </parameter>
999 <parameter name="z" transfer-ownership="none">
1000 <type name="gdouble" c:type="double"/>
1001 </parameter>
1002 </parameters>
1003 </method>
1004 </record>
1005 <record name="HolderConfig" c:type="HklHolderConfig">
1006 <field name="gc" writable="1">
1007 <type name="gint" c:type="int"/>
1008 </field>
1009 <field name="idx" writable="1">
1010 <type name="gulong" c:type="size_t*"/>
1011 </field>
1012 <field name="len" writable="1">
1013 <type name="gulong" c:type="size_t"/>
1014 </field>
1015 </record>
1016 <record name="Interval"
1017 c:type="HklInterval"
1018 glib:type-name="HklInterval"
1019 glib:get-type="hkl_interval_get_type"
1020 c:symbol-prefix="interval">
1021 <field name="min" writable="1">
1022 <type name="gdouble" c:type="double"/>
1023 </field>
1024 <field name="max" writable="1">
1025 <type name="gdouble" c:type="double"/>
1026 </field>
1027 <method name="acos" c:identifier="hkl_interval_acos" introspectable="0">
1028 <doc xml:whitespace="preserve">compute the arc cosinus of an #HklInterval</doc>
1029 <return-value transfer-ownership="none">
1030 <type name="none" c:type="void"/>
1031 </return-value>
1032 </method>
1033 <method name="angle_restrict_symm"
1034 c:identifier="hkl_interval_angle_restrict_symm"
1035 introspectable="0">
1036 <doc xml:whitespace="preserve">restrict an #HklInterval into -pi, pi</doc>
1037 <return-value transfer-ownership="none">
1038 <type name="none" c:type="void"/>
1039 </return-value>
1040 </method>
1041 <method name="asin" c:identifier="hkl_interval_asin" introspectable="0">
1042 <doc xml:whitespace="preserve">compute the arc sinus of an #HklInterval</doc>
1043 <return-value transfer-ownership="none">
1044 <type name="none" c:type="void"/>
1045 </return-value>
1046 </method>
1047 <method name="atan" c:identifier="hkl_interval_atan" introspectable="0">
1048 <doc xml:whitespace="preserve">compute the arc tangente of an #HklInterval</doc>
1049 <return-value transfer-ownership="none">
1050 <type name="none" c:type="void"/>
1051 </return-value>
1052 </method>
1053 <method name="cmp" c:identifier="hkl_interval_cmp" introspectable="0">
1054 <doc xml:whitespace="preserve">compare two intervals
1056 Returns:</doc>
1057 <return-value transfer-ownership="none">
1058 <type name="gint" c:type="int"/>
1059 </return-value>
1060 <parameters>
1061 <parameter name="interval" transfer-ownership="none">
1062 <type name="Interval" c:type="HklInterval*"/>
1063 </parameter>
1064 </parameters>
1065 </method>
1066 <method name="contain_zero"
1067 c:identifier="hkl_interval_contain_zero"
1068 introspectable="0">
1069 <doc xml:whitespace="preserve">check if an #HklInterval contain zero
1071 Returns:</doc>
1072 <return-value transfer-ownership="none">
1073 <type name="gint" c:type="int"/>
1074 </return-value>
1075 </method>
1076 <method name="cos" c:identifier="hkl_interval_cos" introspectable="0">
1077 <doc xml:whitespace="preserve">compute the cosinus of an #HklInterval</doc>
1078 <return-value transfer-ownership="none">
1079 <type name="none" c:type="void"/>
1080 </return-value>
1081 </method>
1082 <method name="divides_double"
1083 c:identifier="hkl_interval_divides_double"
1084 introspectable="0">
1085 <doc xml:whitespace="preserve">divide an #HklInterval by a double</doc>
1086 <return-value transfer-ownership="none">
1087 <type name="none" c:type="void"/>
1088 </return-value>
1089 <parameters>
1090 <parameter name="d" transfer-ownership="none">
1091 <type name="gdouble" c:type="double"/>
1092 </parameter>
1093 </parameters>
1094 </method>
1095 <method name="dup" c:identifier="hkl_interval_dup" introspectable="0">
1096 <doc xml:whitespace="preserve">copy an #HklInterval
1098 Returns:</doc>
1099 <return-value transfer-ownership="full">
1100 <type name="Interval" c:type="HklInterval*"/>
1101 </return-value>
1102 </method>
1103 <method name="free" c:identifier="hkl_interval_free" introspectable="0">
1104 <doc xml:whitespace="preserve">delete an #HklInterval</doc>
1105 <return-value transfer-ownership="none">
1106 <type name="none" c:type="void"/>
1107 </return-value>
1108 </method>
1109 <method name="length"
1110 c:identifier="hkl_interval_length"
1111 introspectable="0">
1112 <doc xml:whitespace="preserve">compute the length of an #HklInterval
1114 Returns:</doc>
1115 <return-value transfer-ownership="none">
1116 <type name="gdouble" c:type="double"/>
1117 </return-value>
1118 </method>
1119 <method name="minus_double"
1120 c:identifier="hkl_interval_minus_double"
1121 introspectable="0">
1122 <doc xml:whitespace="preserve">subst a double to an #HklInterval</doc>
1123 <return-value transfer-ownership="none">
1124 <type name="none" c:type="void"/>
1125 </return-value>
1126 <parameters>
1127 <parameter name="d" transfer-ownership="none">
1128 <type name="gdouble" c:type="double"/>
1129 </parameter>
1130 </parameters>
1131 </method>
1132 <method name="minus_interval"
1133 c:identifier="hkl_interval_minus_interval"
1134 introspectable="0">
1135 <doc xml:whitespace="preserve">substract two #HklInterval</doc>
1136 <return-value transfer-ownership="none">
1137 <type name="none" c:type="void"/>
1138 </return-value>
1139 <parameters>
1140 <parameter name="interval" transfer-ownership="none">
1141 <type name="Interval" c:type="HklInterval*"/>
1142 </parameter>
1143 </parameters>
1144 </method>
1145 <method name="plus_double"
1146 c:identifier="hkl_interval_plus_double"
1147 introspectable="0">
1148 <doc xml:whitespace="preserve">add to an interval a double</doc>
1149 <return-value transfer-ownership="none">
1150 <type name="none" c:type="void"/>
1151 </return-value>
1152 <parameters>
1153 <parameter name="d" transfer-ownership="none">
1154 <type name="gdouble" c:type="double"/>
1155 </parameter>
1156 </parameters>
1157 </method>
1158 <method name="plus_interval"
1159 c:identifier="hkl_interval_plus_interval"
1160 introspectable="0">
1161 <doc xml:whitespace="preserve">add two ontervals</doc>
1162 <return-value transfer-ownership="none">
1163 <type name="none" c:type="void"/>
1164 </return-value>
1165 <parameters>
1166 <parameter name="interval" transfer-ownership="none">
1167 <type name="Interval" c:type="HklInterval*"/>
1168 </parameter>
1169 </parameters>
1170 </method>
1171 <method name="sin" c:identifier="hkl_interval_sin" introspectable="0">
1172 <doc xml:whitespace="preserve">compute the sin of an #HklInterval</doc>
1173 <return-value transfer-ownership="none">
1174 <type name="none" c:type="void"/>
1175 </return-value>
1176 </method>
1177 <method name="tan" c:identifier="hkl_interval_tan" introspectable="0">
1178 <doc xml:whitespace="preserve">compute the tangente of an #HklInterval</doc>
1179 <return-value transfer-ownership="none">
1180 <type name="none" c:type="void"/>
1181 </return-value>
1182 </method>
1183 <method name="times_double"
1184 c:identifier="hkl_interval_times_double"
1185 introspectable="0">
1186 <doc xml:whitespace="preserve">multiply an #HklInterval by a double</doc>
1187 <return-value transfer-ownership="none">
1188 <type name="none" c:type="void"/>
1189 </return-value>
1190 <parameters>
1191 <parameter name="d" transfer-ownership="none">
1192 <type name="gdouble" c:type="double"/>
1193 </parameter>
1194 </parameters>
1195 </method>
1196 <method name="times_interval"
1197 c:identifier="hkl_interval_times_interval"
1198 introspectable="0">
1199 <doc xml:whitespace="preserve">multiply two #HklInterval</doc>
1200 <return-value transfer-ownership="none">
1201 <type name="none" c:type="void"/>
1202 </return-value>
1203 <parameters>
1204 <parameter name="interval" transfer-ownership="none">
1205 <type name="Interval" c:type="HklInterval*"/>
1206 </parameter>
1207 </parameters>
1208 </method>
1209 </record>
1210 <record name="Lattice"
1211 c:type="HklLattice"
1212 glib:type-name="HklLattice"
1213 glib:get-type="hkl_lattice_get_type"
1214 c:symbol-prefix="lattice">
1215 <field name="a" writable="1">
1216 <type name="Parameter" c:type="HklParameter*"/>
1217 </field>
1218 <field name="b" writable="1">
1219 <type name="Parameter" c:type="HklParameter*"/>
1220 </field>
1221 <field name="c" writable="1">
1222 <type name="Parameter" c:type="HklParameter*"/>
1223 </field>
1224 <field name="alpha" writable="1">
1225 <type name="Parameter" c:type="HklParameter*"/>
1226 </field>
1227 <field name="beta" writable="1">
1228 <type name="Parameter" c:type="HklParameter*"/>
1229 </field>
1230 <field name="gamma" writable="1">
1231 <type name="Parameter" c:type="HklParameter*"/>
1232 </field>
1233 <constructor name="new"
1234 c:identifier="hkl_lattice_new"
1235 introspectable="0">
1236 <doc xml:whitespace="preserve">constructor
1238 Returns:</doc>
1239 <return-value transfer-ownership="full">
1240 <type name="Lattice" c:type="HklLattice*"/>
1241 </return-value>
1242 <parameters>
1243 <parameter name="a" transfer-ownership="none">
1244 <type name="gdouble" c:type="double"/>
1245 </parameter>
1246 <parameter name="b" transfer-ownership="none">
1247 <type name="gdouble" c:type="double"/>
1248 </parameter>
1249 <parameter name="c" transfer-ownership="none">
1250 <type name="gdouble" c:type="double"/>
1251 </parameter>
1252 <parameter name="alpha" transfer-ownership="none">
1253 <type name="gdouble" c:type="double"/>
1254 </parameter>
1255 <parameter name="beta" transfer-ownership="none">
1256 <type name="gdouble" c:type="double"/>
1257 </parameter>
1258 <parameter name="gamma" transfer-ownership="none">
1259 <type name="gdouble" c:type="double"/>
1260 </parameter>
1261 </parameters>
1262 </constructor>
1263 <constructor name="new_default"
1264 c:identifier="hkl_lattice_new_default"
1265 introspectable="0">
1266 <doc xml:whitespace="preserve">default constructor
1268 Returns:</doc>
1269 <return-value transfer-ownership="full">
1270 <type name="Lattice" c:type="HklLattice*"/>
1271 </return-value>
1272 </constructor>
1273 <method name="free" c:identifier="hkl_lattice_free" introspectable="0">
1274 <doc xml:whitespace="preserve">destructor</doc>
1275 <return-value transfer-ownership="none">
1276 <type name="none" c:type="void"/>
1277 </return-value>
1278 </method>
1279 <method name="get_1_B"
1280 c:identifier="hkl_lattice_get_1_B"
1281 introspectable="0">
1282 <doc xml:whitespace="preserve">Compute the invert of B (needed by the hkl_sample_set_UB method)
1283 should be optimized
1285 computation.</doc>
1286 <return-value transfer-ownership="none">
1287 <doc xml:whitespace="preserve">HKL_TRUE or HKL_FALSE depending of the success of the</doc>
1288 <type name="gint" c:type="int"/>
1289 </return-value>
1290 <parameters>
1291 <parameter name="B"
1292 direction="out"
1293 caller-allocates="1"
1294 transfer-ownership="none">
1295 <doc xml:whitespace="preserve">where to store the 1/B matrix</doc>
1296 <type name="Matrix" c:type="HklMatrix*"/>
1297 </parameter>
1298 </parameters>
1299 </method>
1300 <method name="get_B" c:identifier="hkl_lattice_get_B" introspectable="0">
1301 <doc xml:whitespace="preserve">Get the B matrix from the lattice parameters
1303 Returns:</doc>
1304 <return-value transfer-ownership="none">
1305 <type name="gint" c:type="int"/>
1306 </return-value>
1307 <parameters>
1308 <parameter name="B"
1309 direction="out"
1310 caller-allocates="1"
1311 transfer-ownership="none">
1312 <doc xml:whitespace="preserve">where to store the B matrix</doc>
1313 <type name="Matrix" c:type="HklMatrix*"/>
1314 </parameter>
1315 </parameters>
1316 </method>
1317 <method name="new_copy"
1318 c:identifier="hkl_lattice_new_copy"
1319 introspectable="0">
1320 <doc xml:whitespace="preserve">copy constructor
1322 Returns:</doc>
1323 <return-value transfer-ownership="full">
1324 <type name="Lattice" c:type="HklLattice*"/>
1325 </return-value>
1326 </method>
1327 <method name="randomize"
1328 c:identifier="hkl_lattice_randomize"
1329 introspectable="0">
1330 <doc xml:whitespace="preserve">randomize the lattice</doc>
1331 <return-value transfer-ownership="none">
1332 <type name="none" c:type="void"/>
1333 </return-value>
1334 </method>
1335 <method name="reciprocal"
1336 c:identifier="hkl_lattice_reciprocal"
1337 introspectable="0">
1338 <doc xml:whitespace="preserve">compute the reciprocal lattice
1340 Returns:</doc>
1341 <return-value transfer-ownership="none">
1342 <type name="gint" c:type="int"/>
1343 </return-value>
1344 <parameters>
1345 <parameter name="reciprocal"
1346 direction="inout"
1347 caller-allocates="0"
1348 transfer-ownership="full">
1349 <type name="Lattice" c:type="HklLattice*"/>
1350 </parameter>
1351 </parameters>
1352 </method>
1353 <method name="set" c:identifier="hkl_lattice_set" introspectable="0">
1354 <doc xml:whitespace="preserve">set the lattice parameters
1356 Returns:</doc>
1357 <return-value transfer-ownership="none">
1358 <type name="gint" c:type="int"/>
1359 </return-value>
1360 <parameters>
1361 <parameter name="a" transfer-ownership="none">
1362 <type name="gdouble" c:type="double"/>
1363 </parameter>
1364 <parameter name="b" transfer-ownership="none">
1365 <type name="gdouble" c:type="double"/>
1366 </parameter>
1367 <parameter name="c" transfer-ownership="none">
1368 <type name="gdouble" c:type="double"/>
1369 </parameter>
1370 <parameter name="alpha" transfer-ownership="none">
1371 <type name="gdouble" c:type="double"/>
1372 </parameter>
1373 <parameter name="beta" transfer-ownership="none">
1374 <type name="gdouble" c:type="double"/>
1375 </parameter>
1376 <parameter name="gamma" transfer-ownership="none">
1377 <type name="gdouble" c:type="double"/>
1378 </parameter>
1379 </parameters>
1380 </method>
1381 <function name="fprintf"
1382 c:identifier="hkl_lattice_fprintf"
1383 introspectable="0">
1384 <doc xml:whitespace="preserve">print into a file the lattice.</doc>
1385 <return-value transfer-ownership="none">
1386 <type name="none" c:type="void"/>
1387 </return-value>
1388 <parameters>
1389 <parameter name="f" transfer-ownership="none">
1390 <type name="gpointer" c:type="FILE*"/>
1391 </parameter>
1392 <parameter name="self" transfer-ownership="none">
1393 <type name="Lattice" c:type="HklLattice*"/>
1394 </parameter>
1395 </parameters>
1396 </function>
1397 </record>
1398 <record name="Matrix"
1399 c:type="HklMatrix"
1400 glib:type-name="HklMatrix"
1401 glib:get-type="hkl_matrix_get_type"
1402 c:symbol-prefix="matrix">
1403 <field name="data" writable="1">
1404 <array zero-terminated="0" c:type="gdouble" fixed-size="3">
1405 <type name="gdouble" c:type="double"/>
1406 </array>
1407 </field>
1408 <method name="cmp" c:identifier="hkl_matrix_cmp">
1409 <doc xml:whitespace="preserve">compare two #HklMatrix.</doc>
1410 <return-value transfer-ownership="none">
1411 <doc xml:whitespace="preserve">return HKL_TRUE if | self - m | &gt; HKL_EPSILON</doc>
1412 <type name="gint" c:type="int"/>
1413 </return-value>
1414 <parameters>
1415 <parameter name="m" transfer-ownership="none">
1416 <doc xml:whitespace="preserve">the #HklMatrix to compare with</doc>
1417 <type name="Matrix" c:type="HklMatrix*"/>
1418 </parameter>
1419 </parameters>
1420 </method>
1421 <method name="det" c:identifier="hkl_matrix_det">
1422 <doc xml:whitespace="preserve">compute the determinant of an #HklMatrix
1424 Todo: test</doc>
1425 <return-value transfer-ownership="none">
1426 <doc xml:whitespace="preserve">the determinant of the self #HklMatrix</doc>
1427 <type name="gdouble" c:type="double"/>
1428 </return-value>
1429 </method>
1430 <method name="dup" c:identifier="hkl_matrix_dup" introspectable="0">
1431 <doc xml:whitespace="preserve">Returns:</doc>
1432 <return-value transfer-ownership="full">
1433 <type name="Matrix" c:type="HklMatrix*"/>
1434 </return-value>
1435 </method>
1436 <method name="free" c:identifier="hkl_matrix_free" introspectable="0">
1437 <return-value transfer-ownership="none">
1438 <type name="none" c:type="void"/>
1439 </return-value>
1440 </method>
1441 <method name="init" c:identifier="hkl_matrix_init">
1442 <return-value transfer-ownership="none">
1443 <type name="none" c:type="void"/>
1444 </return-value>
1445 <parameters>
1446 <parameter name="m11" transfer-ownership="none">
1447 <doc xml:whitespace="preserve">the matrix 11 value</doc>
1448 <type name="gdouble" c:type="double"/>
1449 </parameter>
1450 <parameter name="m12" transfer-ownership="none">
1451 <doc xml:whitespace="preserve">the matrix 12 value</doc>
1452 <type name="gdouble" c:type="double"/>
1453 </parameter>
1454 <parameter name="m13" transfer-ownership="none">
1455 <doc xml:whitespace="preserve">the matrix 13 value</doc>
1456 <type name="gdouble" c:type="double"/>
1457 </parameter>
1458 <parameter name="m21" transfer-ownership="none">
1459 <doc xml:whitespace="preserve">the matrix 21 value</doc>
1460 <type name="gdouble" c:type="double"/>
1461 </parameter>
1462 <parameter name="m22" transfer-ownership="none">
1463 <doc xml:whitespace="preserve">the matrix 22 value</doc>
1464 <type name="gdouble" c:type="double"/>
1465 </parameter>
1466 <parameter name="m23" transfer-ownership="none">
1467 <doc xml:whitespace="preserve">the matrix 23 value</doc>
1468 <type name="gdouble" c:type="double"/>
1469 </parameter>
1470 <parameter name="m31" transfer-ownership="none">
1471 <doc xml:whitespace="preserve">the matrix 31 value</doc>
1472 <type name="gdouble" c:type="double"/>
1473 </parameter>
1474 <parameter name="m32" transfer-ownership="none">
1475 <doc xml:whitespace="preserve">the matrix 32 value</doc>
1476 <type name="gdouble" c:type="double"/>
1477 </parameter>
1478 <parameter name="m33" transfer-ownership="none">
1479 <doc xml:whitespace="preserve">the matrix 33 value</doc>
1480 <type name="gdouble" c:type="double"/>
1481 </parameter>
1482 </parameters>
1483 </method>
1484 <method name="init_from_euler" c:identifier="hkl_matrix_init_from_euler">
1485 <doc xml:whitespace="preserve">Create a rotation #HklMatrix from three eulerians angles.</doc>
1486 <return-value transfer-ownership="none">
1487 <type name="none" c:type="void"/>
1488 </return-value>
1489 <parameters>
1490 <parameter name="euler_x" transfer-ownership="none">
1491 <doc xml:whitespace="preserve">the eulerian value along X</doc>
1492 <type name="gdouble" c:type="double"/>
1493 </parameter>
1494 <parameter name="euler_y" transfer-ownership="none">
1495 <doc xml:whitespace="preserve">the eulerian value along Y</doc>
1496 <type name="gdouble" c:type="double"/>
1497 </parameter>
1498 <parameter name="euler_z" transfer-ownership="none">
1499 <doc xml:whitespace="preserve">the eulerian value along Z</doc>
1500 <type name="gdouble" c:type="double"/>
1501 </parameter>
1502 </parameters>
1503 </method>
1504 <method name="init_from_two_vector"
1505 c:identifier="hkl_matrix_init_from_two_vector">
1506 <doc xml:whitespace="preserve">Create an #HklMatrix which represent a direct oriented base of the space
1507 the first row correspond to the |v1|, the second row |v2| and the last one
1508 is |v1 ^ v2|</doc>
1509 <return-value transfer-ownership="none">
1510 <type name="none" c:type="void"/>
1511 </return-value>
1512 <parameters>
1513 <parameter name="v1" transfer-ownership="none">
1514 <doc xml:whitespace="preserve">the first #HklVector</doc>
1515 <type name="Vector" c:type="HklVector*"/>
1516 </parameter>
1517 <parameter name="v2" transfer-ownership="none">
1518 <doc xml:whitespace="preserve">the second #HklVector</doc>
1519 <type name="Vector" c:type="HklVector*"/>
1520 </parameter>
1521 </parameters>
1522 </method>
1523 <method name="is_null" c:identifier="hkl_matrix_is_null">
1524 <doc xml:whitespace="preserve">is all #hklMatrix elementes bellow #HKL_EPSILON
1526 Todo: test</doc>
1527 <return-value transfer-ownership="none">
1528 <doc xml:whitespace="preserve">HKL_TRUE if the self #HklMatrix is null</doc>
1529 <type name="gint" c:type="int"/>
1530 </return-value>
1531 </method>
1532 <method name="solve" c:identifier="hkl_matrix_solve">
1533 <doc xml:whitespace="preserve">solve the system self . X = b
1535 Todo: test</doc>
1536 <return-value transfer-ownership="none">
1537 <doc xml:whitespace="preserve">-1 if the système has no solution, 0 otherwise.</doc>
1538 <type name="gint" c:type="int"/>
1539 </return-value>
1540 <parameters>
1541 <parameter name="x" transfer-ownership="none">
1542 <doc xml:whitespace="preserve">the #HklVector to compute.</doc>
1543 <type name="Vector" c:type="HklVector*"/>
1544 </parameter>
1545 <parameter name="b" transfer-ownership="none">
1546 <doc xml:whitespace="preserve">the #hklVector of the system to solve.</doc>
1547 <type name="Vector" c:type="HklVector*"/>
1548 </parameter>
1549 </parameters>
1550 </method>
1551 <method name="times_matrix" c:identifier="hkl_matrix_times_matrix">
1552 <doc xml:whitespace="preserve">compute the matrix multiplication self = self * m</doc>
1553 <return-value transfer-ownership="none">
1554 <type name="none" c:type="void"/>
1555 </return-value>
1556 <parameters>
1557 <parameter name="m" transfer-ownership="none">
1558 <doc xml:whitespace="preserve">the #HklMatrix to multiply by</doc>
1559 <type name="Matrix" c:type="HklMatrix*"/>
1560 </parameter>
1561 </parameters>
1562 </method>
1563 <method name="times_vector" c:identifier="hkl_matrix_times_vector">
1564 <doc xml:whitespace="preserve">multiply an #HklVector by an #HklMatrix</doc>
1565 <return-value transfer-ownership="none">
1566 <type name="none" c:type="void"/>
1567 </return-value>
1568 <parameters>
1569 <parameter name="v" transfer-ownership="none">
1570 <doc xml:whitespace="preserve">the #HklVector multiply by the #HklMatrix</doc>
1571 <type name="Vector" c:type="HklVector*"/>
1572 </parameter>
1573 </parameters>
1574 </method>
1575 <method name="to_euler" c:identifier="hkl_matrix_to_euler">
1576 <doc xml:whitespace="preserve">compute the three eulerians values for a given rotation #HklMatrix</doc>
1577 <return-value transfer-ownership="none">
1578 <type name="none" c:type="void"/>
1579 </return-value>
1580 <parameters>
1581 <parameter name="euler_x" transfer-ownership="none">
1582 <doc xml:whitespace="preserve">the eulerian value along X</doc>
1583 <type name="gdouble" c:type="double*"/>
1584 </parameter>
1585 <parameter name="euler_y" transfer-ownership="none">
1586 <doc xml:whitespace="preserve">the eulerian value along Y</doc>
1587 <type name="gdouble" c:type="double*"/>
1588 </parameter>
1589 <parameter name="euler_z" transfer-ownership="none">
1590 <doc xml:whitespace="preserve">the eulerian value along Z</doc>
1591 <type name="gdouble" c:type="double*"/>
1592 </parameter>
1593 </parameters>
1594 </method>
1595 <method name="transpose" c:identifier="hkl_matrix_transpose">
1596 <doc xml:whitespace="preserve">transpose an #HklMatrix</doc>
1597 <return-value transfer-ownership="none">
1598 <type name="none" c:type="void"/>
1599 </return-value>
1600 </method>
1601 <function name="fprintf" c:identifier="hkl_matrix_fprintf">
1602 <doc xml:whitespace="preserve">printf an #HklMatrix into a FILE stream.</doc>
1603 <return-value transfer-ownership="none">
1604 <type name="none" c:type="void"/>
1605 </return-value>
1606 <parameters>
1607 <parameter name="file" transfer-ownership="none">
1608 <doc xml:whitespace="preserve">the FILE stream</doc>
1609 <type name="gpointer" c:type="FILE*"/>
1610 </parameter>
1611 <parameter name="self" transfer-ownership="none">
1612 <doc xml:whitespace="preserve">the #HklMatrix to print into the file stream</doc>
1613 <type name="Matrix" c:type="HklMatrix*"/>
1614 </parameter>
1615 </parameters>
1616 </function>
1617 </record>
1618 <record name="Parameter"
1619 c:type="HklParameter"
1620 glib:type-name="HklParameter"
1621 glib:get-type="hkl_parameter_get_type"
1622 c:symbol-prefix="parameter">
1623 <field name="name" writable="1">
1624 <type name="utf8" c:type="char*"/>
1625 </field>
1626 <field name="range" writable="1">
1627 <type name="Interval" c:type="HklInterval"/>
1628 </field>
1629 <field name="_value" writable="1">
1630 <type name="gdouble" c:type="double"/>
1631 </field>
1632 <field name="unit" writable="1">
1633 <type name="Unit" c:type="HklUnit*"/>
1634 </field>
1635 <field name="punit" writable="1">
1636 <type name="Unit" c:type="HklUnit*"/>
1637 </field>
1638 <field name="fit" writable="1">
1639 <type name="gint" c:type="int"/>
1640 </field>
1641 <field name="changed" writable="1">
1642 <type name="gint" c:type="int"/>
1643 </field>
1644 <field name="ops" writable="1">
1645 <type name="ParameterOperations" c:type="HklParameterOperations*"/>
1646 </field>
1647 <constructor name="new"
1648 c:identifier="hkl_parameter_new"
1649 introspectable="0">
1650 <doc xml:whitespace="preserve">create a new #HklParameter
1652 Returns:</doc>
1653 <return-value transfer-ownership="full">
1654 <type name="Parameter" c:type="HklParameter*"/>
1655 </return-value>
1656 <parameters>
1657 <parameter name="name" transfer-ownership="none">
1658 <type name="utf8" c:type="char*"/>
1659 </parameter>
1660 <parameter name="min" transfer-ownership="none">
1661 <type name="gdouble" c:type="double"/>
1662 </parameter>
1663 <parameter name="value" transfer-ownership="none">
1664 <type name="gdouble" c:type="double"/>
1665 </parameter>
1666 <parameter name="max" transfer-ownership="none">
1667 <type name="gdouble" c:type="double"/>
1668 </parameter>
1669 <parameter name="fit" transfer-ownership="none">
1670 <type name="gint" c:type="int"/>
1671 </parameter>
1672 <parameter name="changed" transfer-ownership="none">
1673 <type name="gint" c:type="int"/>
1674 </parameter>
1675 <parameter name="unit" transfer-ownership="none">
1676 <type name="Unit" c:type="HklUnit*"/>
1677 </parameter>
1678 <parameter name="punit" transfer-ownership="none">
1679 <type name="Unit" c:type="HklUnit*"/>
1680 </parameter>
1681 </parameters>
1682 </constructor>
1683 <method name="free" c:identifier="hkl_parameter_free" introspectable="0">
1684 <doc xml:whitespace="preserve">delete an #HklParameter</doc>
1685 <return-value transfer-ownership="none">
1686 <type name="none" c:type="void"/>
1687 </return-value>
1688 </method>
1689 <method name="get_max"
1690 c:identifier="hkl_parameter_get_max"
1691 introspectable="0">
1692 <doc xml:whitespace="preserve">get the max value of the #HklParameter
1694 Returns:</doc>
1695 <return-value transfer-ownership="none">
1696 <type name="gdouble" c:type="double"/>
1697 </return-value>
1698 </method>
1699 <method name="get_range_unit"
1700 c:identifier="hkl_parameter_get_range_unit"
1701 introspectable="0">
1702 <doc xml:whitespace="preserve">get the #HklParameter range, min, max
1703 @todo test</doc>
1704 <return-value transfer-ownership="none">
1705 <type name="none" c:type="void"/>
1706 </return-value>
1707 <parameters>
1708 <parameter name="min" transfer-ownership="none">
1709 <type name="gdouble" c:type="double*"/>
1710 </parameter>
1711 <parameter name="max" transfer-ownership="none">
1712 <type name="gdouble" c:type="double*"/>
1713 </parameter>
1714 </parameters>
1715 </method>
1716 <method name="get_value" c:identifier="hkl_parameter_get_value">
1717 <return-value transfer-ownership="none">
1718 <doc xml:whitespace="preserve">the value of the #HklParameter</doc>
1719 <type name="gdouble" c:type="double"/>
1720 </return-value>
1721 </method>
1722 <method name="get_value_closest"
1723 c:identifier="hkl_parameter_get_value_closest">
1724 <doc xml:whitespace="preserve">current self #HklParameter</doc>
1725 <return-value transfer-ownership="none">
1726 <doc xml:whitespace="preserve">the closest value of the ref #HklParameter from the</doc>
1727 <type name="gdouble" c:type="double"/>
1728 </return-value>
1729 <parameters>
1730 <parameter name="ref" transfer-ownership="none">
1731 <doc xml:whitespace="preserve">the reference #HklParameter</doc>
1732 <type name="Parameter" c:type="HklParameter*"/>
1733 </parameter>
1734 </parameters>
1735 </method>
1736 <method name="get_value_unit"
1737 c:identifier="hkl_parameter_get_value_unit">
1738 <return-value transfer-ownership="none">
1739 <doc xml:whitespace="preserve">the value of the #HklParameter expressed in the user unit</doc>
1740 <type name="gdouble" c:type="double"/>
1741 </return-value>
1742 </method>
1743 <method name="is_valid"
1744 c:identifier="hkl_parameter_is_valid"
1745 introspectable="0">
1746 <doc xml:whitespace="preserve">check if the value of the #HklParameter is in the min,max range
1748 Returns:</doc>
1749 <return-value transfer-ownership="none">
1750 <type name="gint" c:type="int"/>
1751 </return-value>
1752 </method>
1753 <method name="new_copy"
1754 c:identifier="hkl_parameter_new_copy"
1755 introspectable="0">
1756 <doc xml:whitespace="preserve">copy an #HklParameter
1758 Returns:</doc>
1759 <return-value transfer-ownership="full">
1760 <type name="Parameter" c:type="HklParameter*"/>
1761 </return-value>
1762 </method>
1763 <method name="randomize"
1764 c:identifier="hkl_parameter_randomize"
1765 introspectable="0">
1766 <doc xml:whitespace="preserve">randomize the #HklParameter value into the min,max range</doc>
1767 <return-value transfer-ownership="none">
1768 <type name="none" c:type="void"/>
1769 </return-value>
1770 </method>
1771 <method name="set_range"
1772 c:identifier="hkl_parameter_set_range"
1773 introspectable="0">
1774 <doc xml:whitespace="preserve">set the #HklParameter range.
1775 @todo test</doc>
1776 <return-value transfer-ownership="none">
1777 <type name="none" c:type="void"/>
1778 </return-value>
1779 <parameters>
1780 <parameter name="min" transfer-ownership="none">
1781 <type name="gdouble" c:type="double"/>
1782 </parameter>
1783 <parameter name="max" transfer-ownership="none">
1784 <type name="gdouble" c:type="double"/>
1785 </parameter>
1786 </parameters>
1787 </method>
1788 <method name="set_range_unit"
1789 c:identifier="hkl_parameter_set_range_unit"
1790 introspectable="0">
1791 <doc xml:whitespace="preserve">set the #HklParameter range express in the punit #HklUnit
1792 @todo test</doc>
1793 <return-value transfer-ownership="none">
1794 <type name="none" c:type="void"/>
1795 </return-value>
1796 <parameters>
1797 <parameter name="min" transfer-ownership="none">
1798 <type name="gdouble" c:type="double"/>
1799 </parameter>
1800 <parameter name="max" transfer-ownership="none">
1801 <type name="gdouble" c:type="double"/>
1802 </parameter>
1803 </parameters>
1804 </method>
1805 <method name="set_value"
1806 c:identifier="hkl_parameter_set_value"
1807 introspectable="0">
1808 <doc xml:whitespace="preserve">set the value of an #HklParameter</doc>
1809 <return-value transfer-ownership="none">
1810 <type name="none" c:type="void"/>
1811 </return-value>
1812 <parameters>
1813 <parameter name="value" transfer-ownership="none">
1814 <type name="gdouble" c:type="double"/>
1815 </parameter>
1816 </parameters>
1817 </method>
1818 <method name="set_value_unit"
1819 c:identifier="hkl_parameter_set_value_unit"
1820 introspectable="0">
1821 <doc xml:whitespace="preserve">set the value of the parameter express in the punit #HklUnit
1822 @todo test</doc>
1823 <return-value transfer-ownership="none">
1824 <type name="none" c:type="void"/>
1825 </return-value>
1826 <parameters>
1827 <parameter name="value" transfer-ownership="none">
1828 <doc xml:whitespace="preserve">the value to set</doc>
1829 <type name="gdouble" c:type="double"/>
1830 </parameter>
1831 </parameters>
1832 </method>
1833 <function name="fprintf"
1834 c:identifier="hkl_parameter_fprintf"
1835 introspectable="0">
1836 <doc xml:whitespace="preserve">print into the #FILE f an #HklParameter</doc>
1837 <return-value transfer-ownership="none">
1838 <type name="none" c:type="void"/>
1839 </return-value>
1840 <parameters>
1841 <parameter name="f" transfer-ownership="none">
1842 <type name="gpointer" c:type="FILE*"/>
1843 </parameter>
1844 <parameter name="self" transfer-ownership="none">
1845 <type name="Parameter" c:type="HklParameter*"/>
1846 </parameter>
1847 </parameters>
1848 </function>
1849 </record>
1850 <record name="ParameterOperations"
1851 c:type="HklParameterOperations"
1852 disguised="1">
1853 </record>
1854 <record name="PseudoAxis"
1855 c:type="HklPseudoAxis"
1856 glib:type-name="HklPseudoAxis"
1857 glib:get-type="hkl_pseudo_axis_get_type"
1858 c:symbol-prefix="pseudo_axis">
1859 <field name="parameter" writable="1">
1860 <type name="Parameter" c:type="HklParameter"/>
1861 </field>
1862 <field name="engine" writable="1">
1863 <type name="PseudoAxisEngine" c:type="HklPseudoAxisEngine*"/>
1864 </field>
1865 <field name="list" writable="1">
1866 <type name="gpointer" c:type="gpointer"/>
1867 </field>
1868 <field name="_shit" writable="1">
1869 <type name="gpointer" c:type="void*"/>
1870 </field>
1871 <function name="fprintf"
1872 c:identifier="hkl_pseudo_axis_fprintf"
1873 introspectable="0">
1874 <doc xml:whitespace="preserve">print an HklPseudoAxis into a file</doc>
1875 <return-value transfer-ownership="none">
1876 <type name="none" c:type="void"/>
1877 </return-value>
1878 <parameters>
1879 <parameter name="f" transfer-ownership="none">
1880 <type name="gpointer" c:type="FILE*"/>
1881 </parameter>
1882 <parameter name="self" transfer-ownership="none">
1883 <type name="PseudoAxis" c:type="HklPseudoAxis*"/>
1884 </parameter>
1885 </parameters>
1886 </function>
1887 </record>
1888 <record name="PseudoAxisEngine"
1889 c:type="HklPseudoAxisEngine"
1890 glib:type-name="HklPseudoAxisEngine"
1891 glib:get-type="hkl_pseudo_axis_engine_get_type"
1892 c:symbol-prefix="pseudo_axis_engine">
1893 <field name="info" writable="1">
1894 <type name="PseudoAxisEngineInfo" c:type="HklPseudoAxisEngineInfo*"/>
1895 </field>
1896 <field name="geometry" writable="1">
1897 <type name="Geometry" c:type="HklGeometry*"/>
1898 </field>
1899 <field name="detector" writable="1">
1900 <type name="Detector" c:type="HklDetector*"/>
1901 </field>
1902 <field name="sample" writable="1">
1903 <type name="Sample" c:type="HklSample*"/>
1904 </field>
1905 <field name="mode" writable="1">
1906 <type name="PseudoAxisEngineMode" c:type="HklPseudoAxisEngineMode*"/>
1907 </field>
1908 <field name="engines" writable="1">
1909 <type name="PseudoAxisEngineList" c:type="HklPseudoAxisEngineList*"/>
1910 </field>
1911 <field name="modes" writable="1">
1912 <type name="gpointer" c:type="gpointer"/>
1913 </field>
1914 <field name="pseudo_axes" writable="1">
1915 <type name="gpointer" c:type="gpointer"/>
1916 </field>
1917 <field name="axes" writable="1">
1918 <type name="gpointer" c:type="gpointer"/>
1919 </field>
1920 <field name="list" writable="1">
1921 <type name="gpointer" c:type="gpointer"/>
1922 </field>
1923 <field name="_shit1" writable="1">
1924 <type name="gpointer" c:type="void*"/>
1925 </field>
1926 <field name="_shit2" writable="1">
1927 <type name="gpointer" c:type="void*"/>
1928 </field>
1929 <field name="_shit3" writable="1">
1930 <type name="gpointer" c:type="void*"/>
1931 </field>
1932 <field name="_shit4" writable="1">
1933 <type name="gpointer" c:type="void*"/>
1934 </field>
1935 <method name="get"
1936 c:identifier="hkl_pseudo_axis_engine_get"
1937 introspectable="0">
1938 <doc xml:whitespace="preserve">get the values of the pseudo-axes from the real-axes values
1940 Returns:</doc>
1941 <return-value transfer-ownership="none">
1942 <type name="gint" c:type="int"/>
1943 </return-value>
1944 <parameters>
1945 <parameter name="error" transfer-ownership="none" allow-none="1">
1946 <doc xml:whitespace="preserve">NULL or an HklError</doc>
1947 <type name="Error" c:type="HklError**"/>
1948 </parameter>
1949 </parameters>
1950 </method>
1951 <method name="get_values"
1952 c:identifier="hkl_pseudo_axis_engine_get_values"
1953 introspectable="0">
1954 <doc xml:whitespace="preserve">get the values of all the pseudo axes</doc>
1955 <return-value transfer-ownership="none">
1956 <type name="none" c:type="void"/>
1957 </return-value>
1958 <parameters>
1959 <parameter name="values" transfer-ownership="none">
1960 <type name="gdouble" c:type="double"/>
1961 </parameter>
1962 <parameter name="len" transfer-ownership="none">
1963 <type name="guint" c:type="uint*"/>
1964 </parameter>
1965 </parameters>
1966 </method>
1967 <method name="get_values_unit"
1968 c:identifier="hkl_pseudo_axis_engine_get_values_unit">
1969 <doc xml:whitespace="preserve">free the array with free when done</doc>
1970 <return-value transfer-ownership="full">
1971 <doc xml:whitespace="preserve">list of pseudo axes values with unit</doc>
1972 <array length="0" zero-terminated="0" c:type="double*">
1973 <type name="gdouble" c:type="double"/>
1974 </array>
1975 </return-value>
1976 <parameters>
1977 <parameter name="len"
1978 direction="out"
1979 caller-allocates="1"
1980 transfer-ownership="full">
1981 <doc xml:whitespace="preserve">the length of the returned array</doc>
1982 <type name="guint" c:type="unsigned int*"/>
1983 </parameter>
1984 </parameters>
1985 </method>
1986 <method name="initialize"
1987 c:identifier="hkl_pseudo_axis_engine_initialize"
1988 introspectable="0">
1989 <doc xml:whitespace="preserve">initialize the HklPseudoAxisEngine
1991 Returns:</doc>
1992 <return-value transfer-ownership="none">
1993 <type name="gint" c:type="int"/>
1994 </return-value>
1995 <parameters>
1996 <parameter name="error" transfer-ownership="none" allow-none="1">
1997 <doc xml:whitespace="preserve">NULL or an HklError to check for error's during the initialization</doc>
1998 <type name="Error" c:type="HklError**"/>
1999 </parameter>
2000 </parameters>
2001 </method>
2002 <method name="pseudo_axes"
2003 c:identifier="hkl_pseudo_axis_engine_pseudo_axes">
2004 <doc xml:whitespace="preserve">free the list with g_slist_free when done.</doc>
2005 <return-value transfer-ownership="container">
2006 <doc xml:whitespace="preserve">list of pseudo axes,</doc>
2007 <type name="GLib.SList" c:type="GSList*">
2008 <type name="PseudoAxis"/>
2009 </type>
2010 </return-value>
2011 </method>
2012 <method name="select_mode"
2013 c:identifier="hkl_pseudo_axis_engine_select_mode"
2014 introspectable="0">
2015 <doc xml:whitespace="preserve">This method also populate the self-&gt;axes from the mode-&gt;axes_names.
2016 this is to speed the computation of the numerical axes. this method
2017 is usually only use with numerical pseudoAxes.</doc>
2018 <return-value transfer-ownership="none">
2019 <type name="none" c:type="void"/>
2020 </return-value>
2021 <parameters>
2022 <parameter name="mode" transfer-ownership="none">
2023 <doc xml:whitespace="preserve">the #HklPseudoAxisMode to select</doc>
2024 <type name="PseudoAxisEngineMode"
2025 c:type="HklPseudoAxisEngineMode*"/>
2026 </parameter>
2027 </parameters>
2028 </method>
2029 <method name="select_mode_by_name"
2030 c:identifier="hkl_pseudo_axis_engine_select_mode_by_name">
2031 <return-value transfer-ownership="none">
2032 <type name="none" c:type="void"/>
2033 </return-value>
2034 <parameters>
2035 <parameter name="name" transfer-ownership="none">
2036 <type name="utf8" c:type="char*"/>
2037 </parameter>
2038 </parameters>
2039 </method>
2040 <method name="set"
2041 c:identifier="hkl_pseudo_axis_engine_set"
2042 introspectable="0">
2043 <doc xml:whitespace="preserve">use the HklPseudoaxisEngine values to compute the real axes values.
2045 Returns:</doc>
2046 <return-value transfer-ownership="none">
2047 <type name="gint" c:type="int"/>
2048 </return-value>
2049 <parameters>
2050 <parameter name="error" transfer-ownership="none" allow-none="1">
2051 <doc xml:whitespace="preserve">NULL or an HklError</doc>
2052 <type name="Error" c:type="HklError**"/>
2053 </parameter>
2054 </parameters>
2055 </method>
2056 <method name="set_values"
2057 c:identifier="hkl_pseudo_axis_engine_set_values"
2058 introspectable="0">
2059 <doc xml:whitespace="preserve">set the values of th ePseudoAxes with the given values</doc>
2060 <return-value transfer-ownership="none">
2061 <type name="none" c:type="void"/>
2062 </return-value>
2063 <parameters>
2064 <parameter name="values" transfer-ownership="none">
2065 <doc xml:whitespace="preserve">the values to set</doc>
2066 <type name="gdouble" c:type="double"/>
2067 </parameter>
2068 <parameter name="len" transfer-ownership="none">
2069 <type name="guint" c:type="uint"/>
2070 </parameter>
2071 </parameters>
2072 </method>
2073 <method name="set_values_unit"
2074 c:identifier="hkl_pseudo_axis_engine_set_values_unit"
2075 throws="1">
2076 <doc xml:whitespace="preserve">compute the #HklGeometry angles for this #HklPseudoAxisEngine</doc>
2077 <return-value transfer-ownership="none">
2078 <doc xml:whitespace="preserve">TRUE on success or FALSE if an error occurred</doc>
2079 <type name="gboolean" c:type="gboolean"/>
2080 </return-value>
2081 <parameters>
2082 <parameter name="values" transfer-ownership="none">
2083 <doc xml:whitespace="preserve">the values to set</doc>
2084 <array length="1" zero-terminated="0" c:type="double">
2085 <type name="gdouble" c:type="double"/>
2086 </array>
2087 </parameter>
2088 <parameter name="len" transfer-ownership="none">
2089 <doc xml:whitespace="preserve">the len of the values array</doc>
2090 <type name="guint" c:type="unsigned int"/>
2091 </parameter>
2092 </parameters>
2093 </method>
2094 <function name="fprintf"
2095 c:identifier="hkl_pseudo_axis_engine_fprintf"
2096 introspectable="0">
2097 <doc xml:whitespace="preserve">print to a FILE the HklPseudoAxisEngine</doc>
2098 <return-value transfer-ownership="none">
2099 <type name="none" c:type="void"/>
2100 </return-value>
2101 <parameters>
2102 <parameter name="f" transfer-ownership="none">
2103 <doc xml:whitespace="preserve">the FILE</doc>
2104 <type name="gpointer" c:type="FILE*"/>
2105 </parameter>
2106 <parameter name="self" transfer-ownership="none">
2107 <doc xml:whitespace="preserve">the HklPseudoAxisEngine</doc>
2108 <type name="PseudoAxisEngine" c:type="HklPseudoAxisEngine*"/>
2109 </parameter>
2110 </parameters>
2111 </function>
2112 </record>
2113 <record name="PseudoAxisEngineInfo" c:type="HklPseudoAxisEngineInfo">
2114 <field name="name" writable="1">
2115 <type name="utf8" c:type="char*"/>
2116 </field>
2117 <field name="pseudo_axes" writable="1">
2118 <type name="PseudoAxis" c:type="HklPseudoAxis**"/>
2119 </field>
2120 <field name="n_pseudo_axes" writable="1">
2121 <type name="guint" c:type="uint"/>
2122 </field>
2123 </record>
2124 <record name="PseudoAxisEngineList"
2125 c:type="HklPseudoAxisEngineList"
2126 glib:type-name="HklPseudoAxisEngineList"
2127 glib:get-type="hkl_pseudo_axis_engine_list_get_type"
2128 c:symbol-prefix="pseudo_axis_engine_list">
2129 <field name="geometries" writable="1">
2130 <type name="GeometryList" c:type="HklGeometryList*"/>
2131 </field>
2132 <field name="geometry" writable="1">
2133 <type name="Geometry" c:type="HklGeometry*"/>
2134 </field>
2135 <field name="detector" writable="1">
2136 <type name="Detector" c:type="HklDetector*"/>
2137 </field>
2138 <field name="sample" writable="1">
2139 <type name="Sample" c:type="HklSample*"/>
2140 </field>
2141 <field name="engines" writable="1">
2142 <type name="gpointer" c:type="gpointer"/>
2143 </field>
2144 <field name="_shit" writable="1">
2145 <type name="gpointer" c:type="void*"/>
2146 </field>
2147 <method name="engines"
2148 c:identifier="hkl_pseudo_axis_engine_list_engines">
2149 <doc xml:whitespace="preserve">free the list with g_slist_free when done.</doc>
2150 <return-value transfer-ownership="container">
2151 <doc xml:whitespace="preserve">list of engines,</doc>
2152 <type name="GLib.SList" c:type="GSList*">
2153 <type name="PseudoAxisEngine"/>
2154 </type>
2155 </return-value>
2156 </method>
2157 <method name="free"
2158 c:identifier="hkl_pseudo_axis_engine_list_free"
2159 introspectable="0">
2160 <doc xml:whitespace="preserve">destructor</doc>
2161 <return-value transfer-ownership="none">
2162 <type name="none" c:type="void"/>
2163 </return-value>
2164 </method>
2165 <method name="get" c:identifier="hkl_pseudo_axis_engine_list_get">
2166 <doc xml:whitespace="preserve">apply the get method to all the #HklPseudoAxisEngine of the list
2167 after this it is possible to retrive all the #HklPseudoAxis values.
2169 get method failed.</doc>
2170 <return-value transfer-ownership="none">
2171 <doc xml:whitespace="preserve">HKL_SUCCESS or HKL_FAIL if one of the #HklPseudoAxisEngine</doc>
2172 <type name="gint" c:type="int"/>
2173 </return-value>
2174 </method>
2175 <method name="get_by_name"
2176 c:identifier="hkl_pseudo_axis_engine_list_get_by_name">
2177 <doc xml:whitespace="preserve">get the #HklPseudoAxisEngine by its name from the list.</doc>
2178 <return-value transfer-ownership="none">
2179 <doc xml:whitespace="preserve">the requested engine</doc>
2180 <type name="PseudoAxisEngine" c:type="HklPseudoAxisEngine*"/>
2181 </return-value>
2182 <parameters>
2183 <parameter name="name" transfer-ownership="none">
2184 <doc xml:whitespace="preserve">the name of the requested #HklPseudoAxisEngin</doc>
2185 <type name="utf8" c:type="char*"/>
2186 </parameter>
2187 </parameters>
2188 </method>
2189 <method name="get_pseudo_axis_by_name"
2190 c:identifier="hkl_pseudo_axis_engine_list_get_pseudo_axis_by_name">
2191 <doc xml:whitespace="preserve">Todo: test</doc>
2192 <return-value transfer-ownership="none">
2193 <doc xml:whitespace="preserve">the requested #HklPseudoAxis</doc>
2194 <type name="PseudoAxis" c:type="HklPseudoAxis*"/>
2195 </return-value>
2196 <parameters>
2197 <parameter name="name" transfer-ownership="none">
2198 <doc xml:whitespace="preserve">the name of the requested #HklPseudoAxis</doc>
2199 <type name="utf8" c:type="char*"/>
2200 </parameter>
2201 </parameters>
2202 </method>
2203 <method name="init" c:identifier="hkl_pseudo_axis_engine_list_init">
2204 <doc xml:whitespace="preserve">before using an engine list you must associate all engines to a
2205 Geometry, a detector and a sample.</doc>
2206 <return-value transfer-ownership="none">
2207 <type name="none" c:type="void"/>
2208 </return-value>
2209 <parameters>
2210 <parameter name="geometry" transfer-ownership="none">
2211 <doc xml:whitespace="preserve">the associated #HklGeometry</doc>
2212 <type name="Geometry" c:type="HklGeometry*"/>
2213 </parameter>
2214 <parameter name="detector" transfer-ownership="none">
2215 <doc xml:whitespace="preserve">the associated #HklDetector</doc>
2216 <type name="Detector" c:type="HklDetector*"/>
2217 </parameter>
2218 <parameter name="sample" transfer-ownership="none">
2219 <doc xml:whitespace="preserve">the associated #HklSample</doc>
2220 <type name="Sample" c:type="HklSample*"/>
2221 </parameter>
2222 </parameters>
2223 </method>
2224 <function name="factory"
2225 c:identifier="hkl_pseudo_axis_engine_list_factory">
2226 <doc xml:whitespace="preserve">create an #HklPseudoAxisEngineList given an #HklGeometryConfig</doc>
2227 <return-value transfer-ownership="full">
2228 <type name="PseudoAxisEngineList" c:type="HklPseudoAxisEngineList*"/>
2229 </return-value>
2230 <parameters>
2231 <parameter name="config" transfer-ownership="none">
2232 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
2233 </parameter>
2234 </parameters>
2235 </function>
2236 <function name="fprintf"
2237 c:identifier="hkl_pseudo_axis_engine_list_fprintf"
2238 introspectable="0">
2239 <doc xml:whitespace="preserve">print to a FILE the #HklPseudoAxisEngineList</doc>
2240 <return-value transfer-ownership="none">
2241 <type name="none" c:type="void"/>
2242 </return-value>
2243 <parameters>
2244 <parameter name="f" transfer-ownership="none">
2245 <doc xml:whitespace="preserve">the File</doc>
2246 <type name="gpointer" c:type="FILE*"/>
2247 </parameter>
2248 <parameter name="self" transfer-ownership="none">
2249 <doc xml:whitespace="preserve">the list</doc>
2250 <type name="PseudoAxisEngineList"
2251 c:type="HklPseudoAxisEngineList*"/>
2252 </parameter>
2253 </parameters>
2254 </function>
2255 </record>
2256 <record name="PseudoAxisEngineMode" c:type="HklPseudoAxisEngineMode">
2257 <field name="info" writable="1">
2258 <type name="PseudoAxisEngineModeInfo"
2259 c:type="HklPseudoAxisEngineModeInfo*"/>
2260 </field>
2261 <field name="op" writable="1">
2262 <type name="PseudoAxisEngineModeOperations"
2263 c:type="HklPseudoAxisEngineModeOperations*"/>
2264 </field>
2265 <field name="parameters" writable="1">
2266 <type name="Parameter" c:type="HklParameter*"/>
2267 </field>
2268 <field name="parameters_len" writable="1">
2269 <type name="gulong" c:type="size_t"/>
2270 </field>
2271 <field name="geometry_init" writable="1">
2272 <type name="Geometry" c:type="HklGeometry*"/>
2273 </field>
2274 <field name="detector_init" writable="1">
2275 <type name="Detector" c:type="HklDetector*"/>
2276 </field>
2277 <field name="sample_init" writable="1">
2278 <type name="Sample" c:type="HklSample*"/>
2279 </field>
2280 <field name="list" writable="1">
2281 <type name="gpointer" c:type="gpointer"/>
2282 </field>
2283 <field name="_shit" writable="1">
2284 <type name="gpointer" c:type="void*"/>
2285 </field>
2286 <function name="fprintf"
2287 c:identifier="hkl_pseudo_axis_engine_mode_fprintf"
2288 introspectable="0">
2289 <doc xml:whitespace="preserve">print to a FILE the HklPSeudoAxisEngineMode members</doc>
2290 <return-value transfer-ownership="none">
2291 <type name="none" c:type="void"/>
2292 </return-value>
2293 <parameters>
2294 <parameter name="f" transfer-ownership="none">
2295 <type name="gpointer" c:type="FILE*"/>
2296 </parameter>
2297 <parameter name="self" transfer-ownership="none">
2298 <type name="PseudoAxisEngineMode"
2299 c:type="HklPseudoAxisEngineMode*"/>
2300 </parameter>
2301 </parameters>
2302 </function>
2303 </record>
2304 <record name="PseudoAxisEngineModeInfo"
2305 c:type="HklPseudoAxisEngineModeInfo">
2306 <field name="name" writable="1">
2307 <type name="utf8" c:type="char*"/>
2308 </field>
2309 <field name="axes" writable="1">
2310 <type name="utf8" c:type="char**"/>
2311 </field>
2312 <field name="n_axes" writable="1">
2313 <type name="guint" c:type="uint"/>
2314 </field>
2315 <field name="parameters" writable="1">
2316 <type name="Parameter" c:type="HklParameter*"/>
2317 </field>
2318 <field name="n_parameters" writable="1">
2319 <type name="guint" c:type="uint"/>
2320 </field>
2321 </record>
2322 <record name="PseudoAxisEngineModeOperations"
2323 c:type="HklPseudoAxisEngineModeOperations"
2324 disguised="1">
2325 </record>
2326 <record name="Quaternion"
2327 c:type="HklQuaternion"
2328 glib:type-name="HklQuaternion"
2329 glib:get-type="hkl_quaternion_get_type"
2330 c:symbol-prefix="quaternion">
2331 <field name="data" writable="1">
2332 <array zero-terminated="0" c:type="gdouble" fixed-size="4">
2333 <type name="gdouble" c:type="double"/>
2334 </array>
2335 </field>
2336 <method name="cmp" c:identifier="hkl_quaternion_cmp">
2337 <doc xml:whitespace="preserve">compare two #HklQuaternion.</doc>
2338 <return-value transfer-ownership="none">
2339 <doc xml:whitespace="preserve">#HKL_TRUE if both are equal, #HKL_FALSE otherwise.</doc>
2340 <type name="gint" c:type="int"/>
2341 </return-value>
2342 <parameters>
2343 <parameter name="q" transfer-ownership="none">
2344 <doc xml:whitespace="preserve">the second #HklQuaternion</doc>
2345 <type name="Quaternion" c:type="HklQuaternion*"/>
2346 </parameter>
2347 </parameters>
2348 </method>
2349 <method name="conjugate" c:identifier="hkl_quaternion_conjugate">
2350 <doc xml:whitespace="preserve">compute the conjugate of a quaternion</doc>
2351 <return-value transfer-ownership="none">
2352 <type name="none" c:type="void"/>
2353 </return-value>
2354 </method>
2355 <method name="dup" c:identifier="hkl_quaternion_dup" introspectable="0">
2356 <doc xml:whitespace="preserve">Returns:</doc>
2357 <return-value transfer-ownership="full">
2358 <type name="Quaternion" c:type="HklQuaternion*"/>
2359 </return-value>
2360 </method>
2361 <method name="free"
2362 c:identifier="hkl_quaternion_free"
2363 introspectable="0">
2364 <return-value transfer-ownership="none">
2365 <type name="none" c:type="void"/>
2366 </return-value>
2367 </method>
2368 <method name="init" c:identifier="hkl_quaternion_init">
2369 <doc xml:whitespace="preserve">initialize the four elements of an #HklQuaternion</doc>
2370 <return-value transfer-ownership="none">
2371 <type name="none" c:type="void"/>
2372 </return-value>
2373 <parameters>
2374 <parameter name="a" transfer-ownership="none">
2375 <doc xml:whitespace="preserve">the 1st element value</doc>
2376 <type name="gdouble" c:type="double"/>
2377 </parameter>
2378 <parameter name="b" transfer-ownership="none">
2379 <doc xml:whitespace="preserve">the 2nd element value</doc>
2380 <type name="gdouble" c:type="double"/>
2381 </parameter>
2382 <parameter name="c" transfer-ownership="none">
2383 <doc xml:whitespace="preserve">the 3rd element value</doc>
2384 <type name="gdouble" c:type="double"/>
2385 </parameter>
2386 <parameter name="d" transfer-ownership="none">
2387 <doc xml:whitespace="preserve">the 4th element value</doc>
2388 <type name="gdouble" c:type="double"/>
2389 </parameter>
2390 </parameters>
2391 </method>
2392 <method name="init_from_angle_and_axe"
2393 c:identifier="hkl_quaternion_init_from_angle_and_axe">
2394 <doc xml:whitespace="preserve">initialize an #HklQuaternion from a vector and a angle.</doc>
2395 <return-value transfer-ownership="none">
2396 <type name="none" c:type="void"/>
2397 </return-value>
2398 <parameters>
2399 <parameter name="angle" transfer-ownership="none">
2400 <doc xml:whitespace="preserve">the angles of the rotation</doc>
2401 <type name="gdouble" c:type="double"/>
2402 </parameter>
2403 <parameter name="v" transfer-ownership="none">
2404 <doc xml:whitespace="preserve">the axe of rotation</doc>
2405 <type name="Vector" c:type="HklVector*"/>
2406 </parameter>
2407 </parameters>
2408 </method>
2409 <method name="init_from_vector"
2410 c:identifier="hkl_quaternion_init_from_vector">
2411 <doc xml:whitespace="preserve">initialize an #HklQuaternion from an #HklVector</doc>
2412 <return-value transfer-ownership="none">
2413 <type name="none" c:type="void"/>
2414 </return-value>
2415 <parameters>
2416 <parameter name="v" transfer-ownership="none">
2417 <doc xml:whitespace="preserve">the #HklVector used to set the self #HklQuaternion</doc>
2418 <type name="Vector" c:type="HklVector*"/>
2419 </parameter>
2420 </parameters>
2421 </method>
2422 <method name="minus_quaternion"
2423 c:identifier="hkl_quaternion_minus_quaternion">
2424 <doc xml:whitespace="preserve">substract two #HklQuaternions
2425 Todo: test</doc>
2426 <return-value transfer-ownership="none">
2427 <type name="none" c:type="void"/>
2428 </return-value>
2429 <parameters>
2430 <parameter name="q" transfer-ownership="none">
2431 <doc xml:whitespace="preserve">the #HklQuaternion to substract</doc>
2432 <type name="Quaternion" c:type="HklQuaternion*"/>
2433 </parameter>
2434 </parameters>
2435 </method>
2436 <method name="norm2" c:identifier="hkl_quaternion_norm2">
2437 <doc xml:whitespace="preserve">compute the norm2 of an #HklQuaternion</doc>
2438 <return-value transfer-ownership="none">
2439 <doc xml:whitespace="preserve">the self #hklquaternion norm</doc>
2440 <type name="gdouble" c:type="double"/>
2441 </return-value>
2442 </method>
2443 <method name="times_quaternion"
2444 c:identifier="hkl_quaternion_times_quaternion">
2445 <doc xml:whitespace="preserve">multiply two quaternions</doc>
2446 <return-value transfer-ownership="none">
2447 <type name="none" c:type="void"/>
2448 </return-value>
2449 <parameters>
2450 <parameter name="q" transfer-ownership="none">
2451 <doc xml:whitespace="preserve">the #HklQuaternion to multiply by</doc>
2452 <type name="Quaternion" c:type="HklQuaternion*"/>
2453 </parameter>
2454 </parameters>
2455 </method>
2456 <method name="to_angle_and_axe"
2457 c:identifier="hkl_quaternion_to_angle_and_axe">
2458 <doc xml:whitespace="preserve">compute the axe and angle of the unitary quaternion angle [-pi, pi]
2459 if q is the (1, 0, 0, 0) quaternion return the (0,0,0) axe and a 0 angle</doc>
2460 <return-value transfer-ownership="none">
2461 <type name="none" c:type="void"/>
2462 </return-value>
2463 <parameters>
2464 <parameter name="angle" transfer-ownership="none">
2465 <doc xml:whitespace="preserve">the returned angle of the rotation.</doc>
2466 <type name="gdouble" c:type="double*"/>
2467 </parameter>
2468 <parameter name="v" transfer-ownership="none">
2469 <doc xml:whitespace="preserve">the returned axis of the rotation.</doc>
2470 <type name="Vector" c:type="HklVector*"/>
2471 </parameter>
2472 </parameters>
2473 </method>
2474 <method name="to_matrix" c:identifier="hkl_quaternion_to_matrix">
2475 <doc xml:whitespace="preserve">Compute the rotation matrix of a Quaternion.
2477 compute the rotation matrix corresponding to the unitary quaternion.
2478 \f$ q = a + b \cdot i + c \cdot j + d \cdot k \f$
2481 \left(
2482 \begin{array}{ccc}
2483 a^2+b^2-c^2-d^2 &amp; 2bc-2ad &amp; 2ac+2bd\\
2484 2ad+2bc &amp; a^2-b^2+c^2-d^2 &amp; 2cd-2ab\\
2485 2bd-2ac &amp; 2ab+2cd &amp; a^2-b^2-c^2+d^2
2486 \end{array}
2487 \right)
2489 Todo: optimize</doc>
2490 <return-value transfer-ownership="none">
2491 <type name="none" c:type="void"/>
2492 </return-value>
2493 <parameters>
2494 <parameter name="m" transfer-ownership="none">
2495 <doc xml:whitespace="preserve">the #HklMatrix return.</doc>
2496 <type name="Matrix" c:type="HklMatrix*"/>
2497 </parameter>
2498 </parameters>
2499 </method>
2500 <function name="fprintf" c:identifier="hkl_quaternion_fprintf">
2501 <doc xml:whitespace="preserve">print an #HklQuaternion into a FILE stream</doc>
2502 <return-value transfer-ownership="none">
2503 <type name="none" c:type="void"/>
2504 </return-value>
2505 <parameters>
2506 <parameter name="file" transfer-ownership="none">
2507 <doc xml:whitespace="preserve">the file to send the #HklQuaternion into</doc>
2508 <type name="gpointer" c:type="FILE*"/>
2509 </parameter>
2510 <parameter name="self" transfer-ownership="none">
2511 <doc xml:whitespace="preserve">the #HklQuaternion to write into the file stream.</doc>
2512 <type name="Quaternion" c:type="HklQuaternion*"/>
2513 </parameter>
2514 </parameters>
2515 </function>
2516 </record>
2517 <constant name="SOURCE_DEFAULT_WAVE_LENGTH"
2518 value="1.540000"
2519 c:type="HKL_SOURCE_DEFAULT_WAVE_LENGTH">
2520 <type name="gdouble" c:type="gdouble"/>
2521 </constant>
2522 <record name="Sample"
2523 c:type="HklSample"
2524 glib:type-name="HklSample"
2525 glib:get-type="hkl_sample_get_type"
2526 c:symbol-prefix="sample">
2527 <field name="name" writable="1">
2528 <type name="utf8" c:type="char*"/>
2529 </field>
2530 <field name="type" writable="1">
2531 <type name="SampleType" c:type="HklSampleType"/>
2532 </field>
2533 <field name="lattice" writable="1">
2534 <type name="Lattice" c:type="HklLattice*"/>
2535 </field>
2536 <field name="U" writable="1">
2537 <type name="Matrix" c:type="HklMatrix"/>
2538 </field>
2539 <field name="UB" writable="1">
2540 <type name="Matrix" c:type="HklMatrix"/>
2541 </field>
2542 <field name="ux" writable="1">
2543 <type name="Parameter" c:type="HklParameter*"/>
2544 </field>
2545 <field name="uy" writable="1">
2546 <type name="Parameter" c:type="HklParameter*"/>
2547 </field>
2548 <field name="uz" writable="1">
2549 <type name="Parameter" c:type="HklParameter*"/>
2550 </field>
2551 <field name="reflections" writable="1">
2552 <type name="SampleReflection" c:type="HklSampleReflection**"/>
2553 </field>
2554 <field name="reflections_len" writable="1">
2555 <type name="gulong" c:type="size_t"/>
2556 </field>
2557 <constructor name="new" c:identifier="hkl_sample_new">
2558 <doc xml:whitespace="preserve">constructor
2560 Returns:</doc>
2561 <return-value transfer-ownership="full">
2562 <type name="Sample" c:type="HklSample*"/>
2563 </return-value>
2564 <parameters>
2565 <parameter name="name" transfer-ownership="none">
2566 <type name="utf8" c:type="char*"/>
2567 </parameter>
2568 <parameter name="type" transfer-ownership="none">
2569 <type name="SampleType" c:type="HklSampleType"/>
2570 </parameter>
2571 </parameters>
2572 </constructor>
2573 <method name="add_reflection"
2574 c:identifier="hkl_sample_add_reflection"
2575 introspectable="0">
2576 <doc xml:whitespace="preserve">add a reflection to the sample
2578 Returns:</doc>
2579 <return-value transfer-ownership="full">
2580 <type name="SampleReflection" c:type="HklSampleReflection*"/>
2581 </return-value>
2582 <parameters>
2583 <parameter name="geometry" transfer-ownership="none">
2584 <type name="Geometry" c:type="HklGeometry*"/>
2585 </parameter>
2586 <parameter name="detector" transfer-ownership="none">
2587 <type name="Detector" c:type="HklDetector*"/>
2588 </parameter>
2589 <parameter name="h" transfer-ownership="none">
2590 <type name="gdouble" c:type="double"/>
2591 </parameter>
2592 <parameter name="k" transfer-ownership="none">
2593 <type name="gdouble" c:type="double"/>
2594 </parameter>
2595 <parameter name="l" transfer-ownership="none">
2596 <type name="gdouble" c:type="double"/>
2597 </parameter>
2598 </parameters>
2599 </method>
2600 <method name="affine"
2601 c:identifier="hkl_sample_affine"
2602 introspectable="0">
2603 <doc xml:whitespace="preserve">affine the sample
2605 Returns:</doc>
2606 <return-value transfer-ownership="none">
2607 <type name="gdouble" c:type="double"/>
2608 </return-value>
2609 </method>
2610 <method name="compute_UB_busing_levy"
2611 c:identifier="hkl_sample_compute_UB_busing_levy"
2612 introspectable="0">
2613 <doc xml:whitespace="preserve">compute the UB matrix using the Busing and Levy method
2614 add ref
2616 Returns:</doc>
2617 <return-value transfer-ownership="none">
2618 <type name="gint" c:type="int"/>
2619 </return-value>
2620 <parameters>
2621 <parameter name="idx1" transfer-ownership="none">
2622 <type name="gulong" c:type="size_t"/>
2623 </parameter>
2624 <parameter name="idx2" transfer-ownership="none">
2625 <type name="gulong" c:type="size_t"/>
2626 </parameter>
2627 </parameters>
2628 </method>
2629 <method name="del_reflection"
2630 c:identifier="hkl_sample_del_reflection"
2631 introspectable="0">
2632 <doc xml:whitespace="preserve">delete the idx reflection
2634 Returns:</doc>
2635 <return-value transfer-ownership="none">
2636 <type name="gint" c:type="int"/>
2637 </return-value>
2638 <parameters>
2639 <parameter name="idx" transfer-ownership="none">
2640 <type name="gulong" c:type="size_t"/>
2641 </parameter>
2642 </parameters>
2643 </method>
2644 <method name="free" c:identifier="hkl_sample_free" introspectable="0">
2645 <doc xml:whitespace="preserve">destructor</doc>
2646 <return-value transfer-ownership="none">
2647 <type name="none" c:type="void"/>
2648 </return-value>
2649 </method>
2650 <method name="get_UB"
2651 c:identifier="hkl_sample_get_UB"
2652 introspectable="0">
2653 <doc xml:whitespace="preserve">get the UB matrix of the sample</doc>
2654 <return-value transfer-ownership="none">
2655 <type name="none" c:type="void"/>
2656 </return-value>
2657 <parameters>
2658 <parameter name="UB"
2659 direction="inout"
2660 caller-allocates="0"
2661 transfer-ownership="full">
2662 <doc xml:whitespace="preserve">where to store the UB matrix</doc>
2663 <type name="Matrix" c:type="HklMatrix*"/>
2664 </parameter>
2665 </parameters>
2666 </method>
2667 <method name="get_ith_reflection"
2668 c:identifier="hkl_sample_get_ith_reflection"
2669 introspectable="0">
2670 <doc xml:whitespace="preserve">get the ith reflection
2672 Returns:</doc>
2673 <return-value transfer-ownership="full">
2674 <type name="SampleReflection" c:type="HklSampleReflection*"/>
2675 </return-value>
2676 <parameters>
2677 <parameter name="idx" transfer-ownership="none">
2678 <type name="gulong" c:type="size_t"/>
2679 </parameter>
2680 </parameters>
2681 </method>
2682 <method name="get_reflection_mesured_angle"
2683 c:identifier="hkl_sample_get_reflection_mesured_angle"
2684 introspectable="0">
2685 <doc xml:whitespace="preserve">get the mesured angles between two reflections
2687 Returns:</doc>
2688 <return-value transfer-ownership="none">
2689 <type name="gdouble" c:type="double"/>
2690 </return-value>
2691 <parameters>
2692 <parameter name="idx1" transfer-ownership="none">
2693 <type name="gulong" c:type="size_t"/>
2694 </parameter>
2695 <parameter name="idx2" transfer-ownership="none">
2696 <type name="gulong" c:type="size_t"/>
2697 </parameter>
2698 </parameters>
2699 </method>
2700 <method name="get_reflection_theoretical_angle"
2701 c:identifier="hkl_sample_get_reflection_theoretical_angle"
2702 introspectable="0">
2703 <doc xml:whitespace="preserve">get the theoretical angles between two reflections
2705 Returns:</doc>
2706 <return-value transfer-ownership="none">
2707 <type name="gdouble" c:type="double"/>
2708 </return-value>
2709 <parameters>
2710 <parameter name="idx1" transfer-ownership="none">
2711 <type name="gulong" c:type="size_t"/>
2712 </parameter>
2713 <parameter name="idx2" transfer-ownership="none">
2714 <type name="gulong" c:type="size_t"/>
2715 </parameter>
2716 </parameters>
2717 </method>
2718 <method name="new_copy"
2719 c:identifier="hkl_sample_new_copy"
2720 introspectable="0">
2721 <doc xml:whitespace="preserve">copy constructor
2723 Returns:</doc>
2724 <return-value transfer-ownership="full">
2725 <type name="Sample" c:type="HklSample*"/>
2726 </return-value>
2727 </method>
2728 <method name="set_UB"
2729 c:identifier="hkl_sample_set_UB"
2730 introspectable="0">
2731 <doc xml:whitespace="preserve">Set the UB matrix using an external UB matrix. In fact you give
2732 the UB matrix but only the U matrix of the sample is affected by
2733 this operation. We keep the B matrix constant.
2734 U * B = UB -&gt; U = UB * B^-1</doc>
2735 <return-value transfer-ownership="none">
2736 <type name="gdouble" c:type="double"/>
2737 </return-value>
2738 <parameters>
2739 <parameter name="UB" transfer-ownership="none">
2740 <doc xml:whitespace="preserve">the UB matrix to set</doc>
2741 <type name="Matrix" c:type="HklMatrix*"/>
2742 </parameter>
2743 </parameters>
2744 </method>
2745 <method name="set_U_from_euler"
2746 c:identifier="hkl_sample_set_U_from_euler"
2747 introspectable="0">
2748 <doc xml:whitespace="preserve">set the U matrix using the eulerians angles
2749 todo tests
2751 Returns:</doc>
2752 <return-value transfer-ownership="none">
2753 <type name="gint" c:type="int"/>
2754 </return-value>
2755 <parameters>
2756 <parameter name="x" transfer-ownership="none">
2757 <type name="gdouble" c:type="double"/>
2758 </parameter>
2759 <parameter name="y" transfer-ownership="none">
2760 <type name="gdouble" c:type="double"/>
2761 </parameter>
2762 <parameter name="z" transfer-ownership="none">
2763 <type name="gdouble" c:type="double"/>
2764 </parameter>
2765 </parameters>
2766 </method>
2767 <method name="set_lattice" c:identifier="hkl_sample_set_lattice">
2768 <doc xml:whitespace="preserve">set the lattic eparameters of the sample
2770 Returns:</doc>
2771 <return-value transfer-ownership="none">
2772 <type name="gint" c:type="int"/>
2773 </return-value>
2774 <parameters>
2775 <parameter name="a" transfer-ownership="none">
2776 <type name="gdouble" c:type="double"/>
2777 </parameter>
2778 <parameter name="b" transfer-ownership="none">
2779 <type name="gdouble" c:type="double"/>
2780 </parameter>
2781 <parameter name="c" transfer-ownership="none">
2782 <type name="gdouble" c:type="double"/>
2783 </parameter>
2784 <parameter name="alpha" transfer-ownership="none">
2785 <type name="gdouble" c:type="double"/>
2786 </parameter>
2787 <parameter name="beta" transfer-ownership="none">
2788 <type name="gdouble" c:type="double"/>
2789 </parameter>
2790 <parameter name="gamma" transfer-ownership="none">
2791 <type name="gdouble" c:type="double"/>
2792 </parameter>
2793 </parameters>
2794 </method>
2795 <method name="set_name"
2796 c:identifier="hkl_sample_set_name"
2797 introspectable="0">
2798 <doc xml:whitespace="preserve">set the name of the sample</doc>
2799 <return-value transfer-ownership="none">
2800 <type name="none" c:type="void"/>
2801 </return-value>
2802 <parameters>
2803 <parameter name="name" transfer-ownership="none">
2804 <type name="utf8" c:type="char*"/>
2805 </parameter>
2806 </parameters>
2807 </method>
2808 <function name="fprintf"
2809 c:identifier="hkl_sample_fprintf"
2810 introspectable="0">
2811 <doc xml:whitespace="preserve">print to a file a sample</doc>
2812 <return-value transfer-ownership="none">
2813 <type name="none" c:type="void"/>
2814 </return-value>
2815 <parameters>
2816 <parameter name="f" transfer-ownership="none">
2817 <type name="gpointer" c:type="FILE*"/>
2818 </parameter>
2819 <parameter name="self" transfer-ownership="none">
2820 <type name="Sample" c:type="HklSample*"/>
2821 </parameter>
2822 </parameters>
2823 </function>
2824 </record>
2825 <record name="SampleList"
2826 c:type="HklSampleList"
2827 glib:type-name="HklSampleList"
2828 glib:get-type="hkl_sample_list_get_type"
2829 c:symbol-prefix="sample_list">
2830 <field name="samples" writable="1">
2831 <type name="Sample" c:type="HklSample**"/>
2832 </field>
2833 <field name="len" writable="1">
2834 <type name="gulong" c:type="size_t"/>
2835 </field>
2836 <field name="alloc" writable="1">
2837 <type name="gulong" c:type="size_t"/>
2838 </field>
2839 <field name="current" writable="1">
2840 <type name="Sample" c:type="HklSample*"/>
2841 </field>
2842 <constructor name="new"
2843 c:identifier="hkl_sample_list_new"
2844 introspectable="0">
2845 <doc xml:whitespace="preserve">constructor
2847 Returns:</doc>
2848 <return-value transfer-ownership="full">
2849 <type name="SampleList" c:type="HklSampleList*"/>
2850 </return-value>
2851 </constructor>
2852 <method name="append"
2853 c:identifier="hkl_sample_list_append"
2854 introspectable="0">
2855 <doc xml:whitespace="preserve">append a sample to a sample list
2857 Returns:</doc>
2858 <return-value transfer-ownership="full">
2859 <type name="Sample" c:type="HklSample*"/>
2860 </return-value>
2861 <parameters>
2862 <parameter name="sample" transfer-ownership="none">
2863 <type name="Sample" c:type="HklSample*"/>
2864 </parameter>
2865 </parameters>
2866 </method>
2867 <method name="clear"
2868 c:identifier="hkl_sample_list_clear"
2869 introspectable="0">
2870 <doc xml:whitespace="preserve">clear a sample list</doc>
2871 <return-value transfer-ownership="none">
2872 <type name="none" c:type="void"/>
2873 </return-value>
2874 </method>
2875 <method name="del" c:identifier="hkl_sample_list_del" introspectable="0">
2876 <doc xml:whitespace="preserve">remove a sample to the sample list</doc>
2877 <return-value transfer-ownership="none">
2878 <type name="none" c:type="void"/>
2879 </return-value>
2880 <parameters>
2881 <parameter name="sample" transfer-ownership="none">
2882 <type name="Sample" c:type="HklSample*"/>
2883 </parameter>
2884 </parameters>
2885 </method>
2886 <method name="free"
2887 c:identifier="hkl_sample_list_free"
2888 introspectable="0">
2889 <doc xml:whitespace="preserve">destructor</doc>
2890 <return-value transfer-ownership="none">
2891 <type name="none" c:type="void"/>
2892 </return-value>
2893 </method>
2894 <method name="get_by_name"
2895 c:identifier="hkl_sample_list_get_by_name"
2896 introspectable="0">
2897 <doc xml:whitespace="preserve">get the @name named #HklSample from the #HklSampleList.
2900 todo: test method</doc>
2901 <return-value transfer-ownership="full">
2902 <doc xml:whitespace="preserve">an #HklSample or NULL if not present in the #HklSampleList</doc>
2903 <type name="Sample" c:type="HklSample*"/>
2904 </return-value>
2905 <parameters>
2906 <parameter name="name" transfer-ownership="none">
2907 <doc xml:whitespace="preserve">the name of the #HklSample you are looking for.</doc>
2908 <type name="utf8" c:type="char*"/>
2909 </parameter>
2910 </parameters>
2911 </method>
2912 <method name="get_idx_from_name"
2913 c:identifier="hkl_sample_list_get_idx_from_name"
2914 introspectable="0">
2915 <doc xml:whitespace="preserve">find the named @name #HklSample in the #HklSampleList and return
2916 its index.</doc>
2917 <return-value transfer-ownership="none">
2918 <doc xml:whitespace="preserve">the index or -1 if the #HklSample is not present.</doc>
2919 <type name="gint" c:type="int"/>
2920 </return-value>
2921 <parameters>
2922 <parameter name="name" transfer-ownership="none">
2923 <doc xml:whitespace="preserve">the name of the #HklSample.</doc>
2924 <type name="utf8" c:type="char*"/>
2925 </parameter>
2926 </parameters>
2927 </method>
2928 <method name="get_ith"
2929 c:identifier="hkl_sample_list_get_ith"
2930 introspectable="0">
2931 <doc xml:whitespace="preserve">get the ith sample of the sample list
2932 todo test
2934 Returns:</doc>
2935 <return-value transfer-ownership="full">
2936 <type name="Sample" c:type="HklSample*"/>
2937 </return-value>
2938 <parameters>
2939 <parameter name="idx" transfer-ownership="none">
2940 <type name="gulong" c:type="size_t"/>
2941 </parameter>
2942 </parameters>
2943 </method>
2944 <method name="len" c:identifier="hkl_sample_list_len" introspectable="0">
2945 <doc xml:whitespace="preserve">len of the sample list
2946 @todo test and remove
2948 Returns:</doc>
2949 <return-value transfer-ownership="none">
2950 <type name="gulong" c:type="size_t"/>
2951 </return-value>
2952 </method>
2953 <method name="new_copy"
2954 c:identifier="hkl_sample_list_new_copy"
2955 introspectable="0">
2956 <doc xml:whitespace="preserve">copy constructor
2958 Returns:</doc>
2959 <return-value transfer-ownership="full">
2960 <type name="SampleList" c:type="HklSampleList*"/>
2961 </return-value>
2962 </method>
2963 <method name="select_current"
2964 c:identifier="hkl_sample_list_select_current"
2965 introspectable="0">
2966 <doc xml:whitespace="preserve">select the current sample of the sample list
2968 Returns:</doc>
2969 <return-value transfer-ownership="none">
2970 <type name="gint" c:type="int"/>
2971 </return-value>
2972 <parameters>
2973 <parameter name="name" transfer-ownership="none">
2974 <type name="utf8" c:type="char*"/>
2975 </parameter>
2976 </parameters>
2977 </method>
2978 <function name="fprintf"
2979 c:identifier="hkl_sample_list_fprintf"
2980 introspectable="0">
2981 <doc xml:whitespace="preserve">print the sample list to a file</doc>
2982 <return-value transfer-ownership="none">
2983 <type name="none" c:type="void"/>
2984 </return-value>
2985 <parameters>
2986 <parameter name="f" transfer-ownership="none">
2987 <type name="gpointer" c:type="FILE*"/>
2988 </parameter>
2989 <parameter name="self" transfer-ownership="none">
2990 <type name="SampleList" c:type="HklSampleList*"/>
2991 </parameter>
2992 </parameters>
2993 </function>
2994 </record>
2995 <record name="SampleReflection"
2996 c:type="HklSampleReflection"
2997 glib:type-name="HklSampleReflection"
2998 glib:get-type="hkl_sample_reflection_get_type"
2999 c:symbol-prefix="sample_reflection">
3000 <field name="geometry" writable="1">
3001 <type name="Geometry" c:type="HklGeometry*"/>
3002 </field>
3003 <field name="detector" writable="1">
3004 <type name="Detector" c:type="HklDetector"/>
3005 </field>
3006 <field name="hkl" writable="1">
3007 <type name="Vector" c:type="HklVector"/>
3008 </field>
3009 <field name="_hkl" writable="1">
3010 <type name="Vector" c:type="HklVector"/>
3011 </field>
3012 <field name="flag" writable="1">
3013 <type name="gint" c:type="int"/>
3014 </field>
3015 <constructor name="new"
3016 c:identifier="hkl_sample_reflection_new"
3017 introspectable="0">
3018 <doc xml:whitespace="preserve">constructeur
3020 Returns:</doc>
3021 <return-value transfer-ownership="full">
3022 <type name="SampleReflection" c:type="HklSampleReflection*"/>
3023 </return-value>
3024 <parameters>
3025 <parameter name="geometry" transfer-ownership="none">
3026 <type name="Geometry" c:type="HklGeometry*"/>
3027 </parameter>
3028 <parameter name="detector" transfer-ownership="none">
3029 <type name="Detector" c:type="HklDetector*"/>
3030 </parameter>
3031 <parameter name="h" transfer-ownership="none">
3032 <type name="gdouble" c:type="double"/>
3033 </parameter>
3034 <parameter name="k" transfer-ownership="none">
3035 <type name="gdouble" c:type="double"/>
3036 </parameter>
3037 <parameter name="l" transfer-ownership="none">
3038 <type name="gdouble" c:type="double"/>
3039 </parameter>
3040 </parameters>
3041 </constructor>
3042 <method name="free"
3043 c:identifier="hkl_sample_reflection_free"
3044 introspectable="0">
3045 <doc xml:whitespace="preserve">destructor</doc>
3046 <return-value transfer-ownership="none">
3047 <type name="none" c:type="void"/>
3048 </return-value>
3049 </method>
3050 <method name="new_copy"
3051 c:identifier="hkl_sample_reflection_new_copy"
3052 introspectable="0">
3053 <doc xml:whitespace="preserve">copy constructor
3055 Returns:</doc>
3056 <return-value transfer-ownership="full">
3057 <type name="SampleReflection" c:type="HklSampleReflection*"/>
3058 </return-value>
3059 </method>
3060 <method name="set_flag"
3061 c:identifier="hkl_sample_reflection_set_flag"
3062 introspectable="0">
3063 <doc xml:whitespace="preserve">set the flag of the reglection</doc>
3064 <return-value transfer-ownership="none">
3065 <type name="none" c:type="void"/>
3066 </return-value>
3067 <parameters>
3068 <parameter name="flag" transfer-ownership="none">
3069 <type name="gint" c:type="int"/>
3070 </parameter>
3071 </parameters>
3072 </method>
3073 <method name="set_geometry"
3074 c:identifier="hkl_sample_reflection_set_geometry"
3075 introspectable="0">
3076 <doc xml:whitespace="preserve">set the geometry of the reflection</doc>
3077 <return-value transfer-ownership="none">
3078 <type name="none" c:type="void"/>
3079 </return-value>
3080 <parameters>
3081 <parameter name="geometry" transfer-ownership="none">
3082 <type name="Geometry" c:type="HklGeometry*"/>
3083 </parameter>
3084 </parameters>
3085 </method>
3086 <method name="set_hkl"
3087 c:identifier="hkl_sample_reflection_set_hkl"
3088 introspectable="0">
3089 <doc xml:whitespace="preserve">set the hkl value of the reflection</doc>
3090 <return-value transfer-ownership="none">
3091 <type name="none" c:type="void"/>
3092 </return-value>
3093 <parameters>
3094 <parameter name="h" transfer-ownership="none">
3095 <type name="gdouble" c:type="double"/>
3096 </parameter>
3097 <parameter name="k" transfer-ownership="none">
3098 <type name="gdouble" c:type="double"/>
3099 </parameter>
3100 <parameter name="l" transfer-ownership="none">
3101 <type name="gdouble" c:type="double"/>
3102 </parameter>
3103 </parameters>
3104 </method>
3105 </record>
3106 <enumeration name="SampleType"
3107 glib:type-name="HklSampleType"
3108 glib:get-type="hkl_sample_type_get_type"
3109 c:type="HklSampleType">
3110 <member name="monocrystal"
3111 value="0"
3112 c:identifier="HKL_SAMPLE_TYPE_MONOCRYSTAL"
3113 glib:nick="monocrystal"/>
3114 </enumeration>
3115 <record name="Source"
3116 c:type="HklSource"
3117 glib:type-name="HklSource"
3118 glib:get-type="hkl_source_get_type"
3119 c:symbol-prefix="source">
3120 <field name="wave_length" writable="1">
3121 <type name="gdouble" c:type="double"/>
3122 </field>
3123 <field name="direction" writable="1">
3124 <type name="Vector" c:type="HklVector"/>
3125 </field>
3126 <method name="cmp" c:identifier="hkl_source_cmp" introspectable="0">
3127 <doc xml:whitespace="preserve">compare two sources
3129 Returns:</doc>
3130 <return-value transfer-ownership="none">
3131 <type name="gint" c:type="int"/>
3132 </return-value>
3133 <parameters>
3134 <parameter name="s" transfer-ownership="none">
3135 <doc xml:whitespace="preserve">2nd #Hklsource</doc>
3136 <type name="Source" c:type="HklSource*"/>
3137 </parameter>
3138 </parameters>
3139 </method>
3140 <method name="compute_ki"
3141 c:identifier="hkl_source_compute_ki"
3142 introspectable="0">
3143 <doc xml:whitespace="preserve">compute the ki hkl_vector</doc>
3144 <return-value transfer-ownership="none">
3145 <type name="none" c:type="void"/>
3146 </return-value>
3147 <parameters>
3148 <parameter name="ki"
3149 direction="out"
3150 caller-allocates="1"
3151 transfer-ownership="none">
3152 <type name="Vector" c:type="HklVector*"/>
3153 </parameter>
3154 </parameters>
3155 </method>
3156 <method name="dup" c:identifier="hkl_source_dup">
3157 <doc xml:whitespace="preserve">copy constructor
3158 TODO test
3160 Returns:</doc>
3161 <return-value transfer-ownership="full">
3162 <type name="Source" c:type="HklSource*"/>
3163 </return-value>
3164 </method>
3165 <method name="free" c:identifier="hkl_source_free">
3166 <doc xml:whitespace="preserve">destructor
3167 TODO: test</doc>
3168 <return-value transfer-ownership="none">
3169 <type name="none" c:type="void"/>
3170 </return-value>
3171 </method>
3172 <method name="get_wavelength"
3173 c:identifier="hkl_source_get_wavelength"
3174 introspectable="0">
3175 <doc xml:whitespace="preserve">get the wave_length</doc>
3176 <return-value transfer-ownership="none">
3177 <doc xml:whitespace="preserve">the wave_length</doc>
3178 <type name="gdouble" c:type="double"/>
3179 </return-value>
3180 </method>
3181 <method name="init" c:identifier="hkl_source_init">
3182 <doc xml:whitespace="preserve">initialize the #HklSource</doc>
3183 <return-value transfer-ownership="none">
3184 <doc xml:whitespace="preserve">HKL_SUCCESS if everythongs goes fine, HKL_FAIL otherwise</doc>
3185 <type name="gint" c:type="int"/>
3186 </return-value>
3187 <parameters>
3188 <parameter name="wave_length" transfer-ownership="none">
3189 <doc xml:whitespace="preserve">the wave length to set</doc>
3190 <type name="gdouble" c:type="double"/>
3191 </parameter>
3192 <parameter name="x" transfer-ownership="none">
3193 <doc xml:whitespace="preserve">x coordinates of the ki vector</doc>
3194 <type name="gdouble" c:type="double"/>
3195 </parameter>
3196 <parameter name="y" transfer-ownership="none">
3197 <doc xml:whitespace="preserve">y coordinates of the ki vector</doc>
3198 <type name="gdouble" c:type="double"/>
3199 </parameter>
3200 <parameter name="z" transfer-ownership="none">
3201 <doc xml:whitespace="preserve">z coordinates of the ki vector</doc>
3202 <type name="gdouble" c:type="double"/>
3203 </parameter>
3204 </parameters>
3205 </method>
3206 <function name="fprintf"
3207 c:identifier="hkl_source_fprintf"
3208 introspectable="0">
3209 <doc xml:whitespace="preserve">printf the source</doc>
3210 <return-value transfer-ownership="none">
3211 <type name="none" c:type="void"/>
3212 </return-value>
3213 <parameters>
3214 <parameter name="f" transfer-ownership="none">
3215 <type name="gpointer" c:type="FILE*"/>
3216 </parameter>
3217 <parameter name="self" transfer-ownership="none">
3218 <type name="Source" c:type="HklSource*"/>
3219 </parameter>
3220 </parameters>
3221 </function>
3222 </record>
3223 <record name="Unit"
3224 c:type="HklUnit"
3225 glib:type-name="HklUnit"
3226 glib:get-type="hkl_unit_get_type"
3227 c:symbol-prefix="unit">
3228 <field name="type" writable="1">
3229 <type name="UnitType" c:type="HklUnitType"/>
3230 </field>
3231 <field name="name" writable="1">
3232 <type name="utf8" c:type="char*"/>
3233 </field>
3234 <field name="repr" writable="1">
3235 <type name="utf8" c:type="char*"/>
3236 </field>
3237 <method name="compatible" c:identifier="hkl_unit_compatible">
3238 <return-value transfer-ownership="none">
3239 <doc xml:whitespace="preserve">HKL_TRUE or HKL_FALSE</doc>
3240 <type name="gint" c:type="int"/>
3241 </return-value>
3242 <parameters>
3243 <parameter name="unit" transfer-ownership="none">
3244 <doc xml:whitespace="preserve">the second @HklUnit to check</doc>
3245 <type name="Unit" c:type="HklUnit*"/>
3246 </parameter>
3247 </parameters>
3248 </method>
3249 <method name="dup" c:identifier="hkl_unit_dup" introspectable="0">
3250 <doc xml:whitespace="preserve">copy an #Hklunit
3252 hkl_unit_free)</doc>
3253 <return-value transfer-ownership="full">
3254 <doc xml:whitespace="preserve">the copied #HklUnit (memory must be release with</doc>
3255 <type name="Unit" c:type="HklUnit*"/>
3256 </return-value>
3257 </method>
3258 <method name="factor" c:identifier="hkl_unit_factor">
3259 <doc xml:whitespace="preserve">compute the factor to convert from one @Hklunit to another one.
3260 @self * factor = @unit</doc>
3261 <return-value transfer-ownership="none">
3262 <doc xml:whitespace="preserve">the factor of the conversion.</doc>
3263 <type name="gdouble" c:type="double"/>
3264 </return-value>
3265 <parameters>
3266 <parameter name="unit" transfer-ownership="none">
3267 <type name="Unit" c:type="HklUnit*"/>
3268 </parameter>
3269 </parameters>
3270 </method>
3271 <method name="free" c:identifier="hkl_unit_free" introspectable="0">
3272 <doc xml:whitespace="preserve">release the memory of an #HklUnit</doc>
3273 <return-value transfer-ownership="none">
3274 <type name="none" c:type="void"/>
3275 </return-value>
3276 </method>
3277 </record>
3278 <enumeration name="UnitType"
3279 glib:type-name="HklUnitType"
3280 glib:get-type="hkl_unit_type_get_type"
3281 c:type="HklUnitType">
3282 <member name="angle_deg"
3283 value="0"
3284 c:identifier="HKL_UNIT_ANGLE_DEG"
3285 glib:nick="angle-deg"/>
3286 <member name="angle_rad"
3287 value="1"
3288 c:identifier="HKL_UNIT_ANGLE_RAD"
3289 glib:nick="angle-rad"/>
3290 <member name="length_nm"
3291 value="2"
3292 c:identifier="HKL_UNIT_LENGTH_NM"
3293 glib:nick="length-nm"/>
3294 </enumeration>
3295 <record name="Vector"
3296 c:type="HklVector"
3297 glib:type-name="HklVector"
3298 glib:get-type="hkl_vector_get_type"
3299 c:symbol-prefix="vector">
3300 <field name="data" writable="1">
3301 <array zero-terminated="0" c:type="gdouble" fixed-size="3">
3302 <type name="gdouble" c:type="double"/>
3303 </array>
3304 </field>
3305 <method name="add_vector"
3306 c:identifier="hkl_vector_add_vector"
3307 introspectable="0">
3308 <doc xml:whitespace="preserve">add an #HklVector to another one.</doc>
3309 <return-value transfer-ownership="none">
3310 <type name="none" c:type="void"/>
3311 </return-value>
3312 <parameters>
3313 <parameter name="vector" transfer-ownership="none">
3314 <doc xml:whitespace="preserve">the #hklvector to add</doc>
3315 <type name="Vector" c:type="HklVector*"/>
3316 </parameter>
3317 </parameters>
3318 </method>
3319 <method name="angle" c:identifier="hkl_vector_angle" introspectable="0">
3320 <doc xml:whitespace="preserve">compute the angles beetween two #HklVector</doc>
3321 <return-value transfer-ownership="none">
3322 <doc xml:whitespace="preserve">the return value is in beetween [0, pi]</doc>
3323 <type name="gdouble" c:type="double"/>
3324 </return-value>
3325 <parameters>
3326 <parameter name="vector" transfer-ownership="none">
3327 <doc xml:whitespace="preserve">the second #HklVector</doc>
3328 <type name="Vector" c:type="HklVector*"/>
3329 </parameter>
3330 </parameters>
3331 </method>
3332 <method name="cmp" c:identifier="hkl_vector_cmp" introspectable="0">
3333 <doc xml:whitespace="preserve">compare two #HklVector. this comparison use HKL_EPSILON
3334 to do the comparison.</doc>
3335 <return-value transfer-ownership="none">
3336 <doc xml:whitespace="preserve">HKL_FALSE if both are equals, HKL_TRUE otherwise.</doc>
3337 <type name="gint" c:type="int"/>
3338 </return-value>
3339 <parameters>
3340 <parameter name="vector" transfer-ownership="none">
3341 <doc xml:whitespace="preserve">th vector to compare with</doc>
3342 <type name="Vector" c:type="HklVector*"/>
3343 </parameter>
3344 </parameters>
3345 </method>
3346 <method name="div_double"
3347 c:identifier="hkl_vector_div_double"
3348 introspectable="0">
3349 <doc xml:whitespace="preserve">divide an #HklVector by constant.</doc>
3350 <return-value transfer-ownership="none">
3351 <type name="none" c:type="void"/>
3352 </return-value>
3353 <parameters>
3354 <parameter name="d" transfer-ownership="none">
3355 <doc xml:whitespace="preserve">constant use to divide the #HklVector</doc>
3356 <type name="gdouble" c:type="double"/>
3357 </parameter>
3358 </parameters>
3359 </method>
3360 <method name="dup" c:identifier="hkl_vector_dup" introspectable="0">
3361 <doc xml:whitespace="preserve">Copy an HklVector</doc>
3362 <return-value transfer-ownership="full">
3363 <doc xml:whitespace="preserve">A copy of self which need to be free using hkl_vector_free</doc>
3364 <type name="Vector" c:type="HklVector*"/>
3365 </return-value>
3366 </method>
3367 <method name="free" c:identifier="hkl_vector_free" introspectable="0">
3368 <doc xml:whitespace="preserve">delete an HklVector struct</doc>
3369 <return-value transfer-ownership="none">
3370 <type name="none" c:type="void"/>
3371 </return-value>
3372 </method>
3373 <method name="init" c:identifier="hkl_vector_init">
3374 <doc xml:whitespace="preserve">initialize an #HklVector</doc>
3375 <return-value transfer-ownership="none">
3376 <type name="none" c:type="void"/>
3377 </return-value>
3378 <parameters>
3379 <parameter name="x" transfer-ownership="none">
3380 <doc xml:whitespace="preserve">the first coordinate value</doc>
3381 <type name="gdouble" c:type="double"/>
3382 </parameter>
3383 <parameter name="y" transfer-ownership="none">
3384 <doc xml:whitespace="preserve">the second coordinate value</doc>
3385 <type name="gdouble" c:type="double"/>
3386 </parameter>
3387 <parameter name="z" transfer-ownership="none">
3388 <doc xml:whitespace="preserve">the third coordinate value</doc>
3389 <type name="gdouble" c:type="double"/>
3390 </parameter>
3391 </parameters>
3392 </method>
3393 <method name="is_colinear"
3394 c:identifier="hkl_vector_is_colinear"
3395 introspectable="0">
3396 <doc xml:whitespace="preserve">check if two #HklVector are colinears</doc>
3397 <return-value transfer-ownership="none">
3398 <doc xml:whitespace="preserve">HKL_TRUE if both are colinear.</doc>
3399 <type name="gint" c:type="int"/>
3400 </return-value>
3401 <parameters>
3402 <parameter name="vector" transfer-ownership="none">
3403 <doc xml:whitespace="preserve">the second #HklVector</doc>
3404 <type name="Vector" c:type="HklVector*"/>
3405 </parameter>
3406 </parameters>
3407 </method>
3408 <method name="is_null"
3409 c:identifier="hkl_vector_is_null"
3410 introspectable="0">
3411 <doc xml:whitespace="preserve">check if all the coordinates of an #HklVector are null.
3414 Todo: test</doc>
3415 <return-value transfer-ownership="none">
3416 <doc xml:whitespace="preserve">HKl_TRUE if all |elements| are below HKL_EPSILON, HKl_FALSE otherwise</doc>
3417 <type name="gint" c:type="int"/>
3418 </return-value>
3419 </method>
3420 <method name="is_opposite"
3421 c:identifier="hkl_vector_is_opposite"
3422 introspectable="0">
3423 <doc xml:whitespace="preserve">Check if two vectors are oposite.</doc>
3424 <return-value transfer-ownership="none">
3425 <doc xml:whitespace="preserve">HKL_TRUE is vector are oposite vectors.</doc>
3426 <type name="gint" c:type="int"/>
3427 </return-value>
3428 <parameters>
3429 <parameter name="vector" transfer-ownership="none">
3430 <type name="Vector" c:type="HklVector*"/>
3431 </parameter>
3432 </parameters>
3433 </method>
3434 <method name="minus_vector"
3435 c:identifier="hkl_vector_minus_vector"
3436 introspectable="0">
3437 <doc xml:whitespace="preserve">substract an #HklVector to another one.</doc>
3438 <return-value transfer-ownership="none">
3439 <type name="none" c:type="void"/>
3440 </return-value>
3441 <parameters>
3442 <parameter name="vector" transfer-ownership="none">
3443 <doc xml:whitespace="preserve">the #hklvector to substract</doc>
3444 <type name="Vector" c:type="HklVector*"/>
3445 </parameter>
3446 </parameters>
3447 </method>
3448 <method name="norm2" c:identifier="hkl_vector_norm2" introspectable="0">
3449 <doc xml:whitespace="preserve">compute the norm2 of an #HklVector</doc>
3450 <return-value transfer-ownership="none">
3451 <doc xml:whitespace="preserve">the sqrt(|v|)</doc>
3452 <type name="gdouble" c:type="double"/>
3453 </return-value>
3454 </method>
3455 <method name="normalize"
3456 c:identifier="hkl_vector_normalize"
3457 introspectable="0">
3458 <doc xml:whitespace="preserve">normalize a hkl_vector</doc>
3459 <return-value transfer-ownership="none">
3460 <doc xml:whitespace="preserve">HKL_TRUE if the #HklVector can be normalized, HKL_FALSE otherwise</doc>
3461 <type name="gint" c:type="int"/>
3462 </return-value>
3463 </method>
3464 <method name="oriented_angle"
3465 c:identifier="hkl_vector_oriented_angle"
3466 introspectable="0">
3467 <doc xml:whitespace="preserve">compute the angles beetween two #HklVector and use
3468 a reference #HklVector to orientate the space. That's
3469 way the return value can be in beetween [-pi, pi].
3470 the (self, vector, ref) is a right oriented base.</doc>
3471 <return-value transfer-ownership="none">
3472 <doc xml:whitespace="preserve">the angles [-pi, pi]</doc>
3473 <type name="gdouble" c:type="double"/>
3474 </return-value>
3475 <parameters>
3476 <parameter name="vector" transfer-ownership="none">
3477 <doc xml:whitespace="preserve">the second #HklVector</doc>
3478 <type name="Vector" c:type="HklVector*"/>
3479 </parameter>
3480 <parameter name="ref" transfer-ownership="none">
3481 <doc xml:whitespace="preserve">the reference #HklVector</doc>
3482 <type name="Vector" c:type="HklVector*"/>
3483 </parameter>
3484 </parameters>
3485 </method>
3486 <method name="oriented_angle_points"
3487 c:identifier="hkl_vector_oriented_angle_points"
3488 introspectable="0">
3489 <doc xml:whitespace="preserve">compute the angles beetween three points (p1, p2, p3) and use
3490 a reference #HklVector to orientate the space. That's
3491 way the return value can be in beetween [-pi, pi].
3492 the (self, vector, ref) is a right oriented base.</doc>
3493 <return-value transfer-ownership="none">
3494 <doc xml:whitespace="preserve">the angles [-pi, pi]</doc>
3495 <type name="gdouble" c:type="double"/>
3496 </return-value>
3497 <parameters>
3498 <parameter name="p2" transfer-ownership="none">
3499 <doc xml:whitespace="preserve">the third point</doc>
3500 <type name="Vector" c:type="HklVector*"/>
3501 </parameter>
3502 <parameter name="p3" transfer-ownership="none">
3503 <type name="Vector" c:type="HklVector*"/>
3504 </parameter>
3505 <parameter name="ref" transfer-ownership="none">
3506 <doc xml:whitespace="preserve">the reference #HklVector</doc>
3507 <type name="Vector" c:type="HklVector*"/>
3508 </parameter>
3509 </parameters>
3510 </method>
3511 <method name="project_on_plan"
3512 c:identifier="hkl_vector_project_on_plan"
3513 introspectable="0">
3514 <doc xml:whitespace="preserve">project an #HklVector on a plan of normal which contain
3515 the origin [0, 0, 0]</doc>
3516 <return-value transfer-ownership="none">
3517 <type name="none" c:type="void"/>
3518 </return-value>
3519 <parameters>
3520 <parameter name="normal" transfer-ownership="none">
3521 <doc xml:whitespace="preserve">the normal of the plane.</doc>
3522 <type name="Vector" c:type="HklVector*"/>
3523 </parameter>
3524 </parameters>
3525 </method>
3526 <method name="project_on_plan_with_point"
3527 c:identifier="hkl_vector_project_on_plan_with_point"
3528 introspectable="0">
3529 <doc xml:whitespace="preserve">project an #HklVector on a plan of normal #normal which contain #point.</doc>
3530 <return-value transfer-ownership="none">
3531 <type name="none" c:type="void"/>
3532 </return-value>
3533 <parameters>
3534 <parameter name="normal" transfer-ownership="none">
3535 <doc xml:whitespace="preserve">the normal of the plane.</doc>
3536 <type name="Vector" c:type="HklVector*"/>
3537 </parameter>
3538 <parameter name="point" transfer-ownership="none">
3539 <doc xml:whitespace="preserve">a point of the plan.</doc>
3540 <type name="Vector" c:type="HklVector*"/>
3541 </parameter>
3542 </parameters>
3543 </method>
3544 <method name="randomize"
3545 c:identifier="hkl_vector_randomize"
3546 introspectable="0">
3547 <doc xml:whitespace="preserve">initialize a vector with random values.
3548 coordinates range [-1, 1]</doc>
3549 <return-value transfer-ownership="none">
3550 <type name="none" c:type="void"/>
3551 </return-value>
3552 </method>
3553 <method name="randomize_vector"
3554 c:identifier="hkl_vector_randomize_vector"
3555 introspectable="0">
3556 <doc xml:whitespace="preserve">randomize an #HklVector an be sure that it is not equal
3557 to the #HklVector vector.</doc>
3558 <return-value transfer-ownership="none">
3559 <type name="none" c:type="void"/>
3560 </return-value>
3561 <parameters>
3562 <parameter name="vector" transfer-ownership="none">
3563 <doc xml:whitespace="preserve">the #HklVector result to avoid</doc>
3564 <type name="Vector" c:type="HklVector*"/>
3565 </parameter>
3566 </parameters>
3567 </method>
3568 <method name="randomize_vector_vector"
3569 c:identifier="hkl_vector_randomize_vector_vector"
3570 introspectable="0">
3571 <doc xml:whitespace="preserve">randomize an #HklVector an be sure that it is not equal
3572 to the #HklVector vector1 and vector2.</doc>
3573 <return-value transfer-ownership="none">
3574 <type name="none" c:type="void"/>
3575 </return-value>
3576 <parameters>
3577 <parameter name="vector1" transfer-ownership="none">
3578 <doc xml:whitespace="preserve">the first #HklVector solution to avoid</doc>
3579 <type name="Vector" c:type="HklVector*"/>
3580 </parameter>
3581 <parameter name="vector2" transfer-ownership="none">
3582 <doc xml:whitespace="preserve">the second #HklVector solution to avoid</doc>
3583 <type name="Vector" c:type="HklVector*"/>
3584 </parameter>
3585 </parameters>
3586 </method>
3587 <method name="rotated_around_line"
3588 c:identifier="hkl_vector_rotated_around_line"
3589 introspectable="0">
3590 <doc xml:whitespace="preserve">This method rotate a point around a line defined by two points
3591 of a certain amount of angle. The rotation is right handed.
3592 this mean that c2 - c1 gives the direction of the rotation.</doc>
3593 <return-value transfer-ownership="none">
3594 <type name="none" c:type="void"/>
3595 </return-value>
3596 <parameters>
3597 <parameter name="angle" transfer-ownership="none">
3598 <doc xml:whitespace="preserve">the angle of the rotation</doc>
3599 <type name="gdouble" c:type="double"/>
3600 </parameter>
3601 <parameter name="c1" transfer-ownership="none">
3602 <doc xml:whitespace="preserve">the fist point of the line</doc>
3603 <type name="Vector" c:type="HklVector*"/>
3604 </parameter>
3605 <parameter name="c2" transfer-ownership="none">
3606 <doc xml:whitespace="preserve">the second point of the line</doc>
3607 <type name="Vector" c:type="HklVector*"/>
3608 </parameter>
3609 </parameters>
3610 </method>
3611 <method name="rotated_around_vector"
3612 c:identifier="hkl_vector_rotated_around_vector"
3613 introspectable="0">
3614 <doc xml:whitespace="preserve">rotate a vector around another one with a given angle.</doc>
3615 <return-value transfer-ownership="none">
3616 <type name="none" c:type="void"/>
3617 </return-value>
3618 <parameters>
3619 <parameter name="axe" transfer-ownership="none">
3620 <doc xml:whitespace="preserve">the axe of rotation</doc>
3621 <type name="Vector" c:type="HklVector*"/>
3622 </parameter>
3623 <parameter name="angle" transfer-ownership="none">
3624 <doc xml:whitespace="preserve">the angle of the rotation</doc>
3625 <type name="gdouble" c:type="double"/>
3626 </parameter>
3627 </parameters>
3628 </method>
3629 <method name="rotated_quaternion"
3630 c:identifier="hkl_vector_rotated_quaternion"
3631 introspectable="0">
3632 <doc xml:whitespace="preserve">rotate an #HklVector using an #HklQuaternion.</doc>
3633 <return-value transfer-ownership="none">
3634 <type name="none" c:type="void"/>
3635 </return-value>
3636 <parameters>
3637 <parameter name="qr" transfer-ownership="none">
3638 <doc xml:whitespace="preserve">the #HklQuaternion use to rotate the vector</doc>
3639 <type name="Quaternion" c:type="HklQuaternion*"/>
3640 </parameter>
3641 </parameters>
3642 </method>
3643 <method name="scalar_product"
3644 c:identifier="hkl_vector_scalar_product"
3645 introspectable="0">
3646 <doc xml:whitespace="preserve">compute the scalar product of two #HklVector</doc>
3647 <return-value transfer-ownership="none">
3648 <doc xml:whitespace="preserve">the scalar product.</doc>
3649 <type name="gdouble" c:type="double"/>
3650 </return-value>
3651 <parameters>
3652 <parameter name="vector" transfer-ownership="none">
3653 <doc xml:whitespace="preserve">the second #HklVector</doc>
3654 <type name="Vector" c:type="HklVector*"/>
3655 </parameter>
3656 </parameters>
3657 </method>
3658 <method name="sum" c:identifier="hkl_vector_sum" introspectable="0">
3659 <doc xml:whitespace="preserve">compute the #HklVector sum of all its elements.</doc>
3660 <return-value transfer-ownership="none">
3661 <doc xml:whitespace="preserve">the sum of all elements.</doc>
3662 <type name="gdouble" c:type="double"/>
3663 </return-value>
3664 </method>
3665 <method name="times_double"
3666 c:identifier="hkl_vector_times_double"
3667 introspectable="0">
3668 <doc xml:whitespace="preserve">multiply an #HklVector by a constant value.</doc>
3669 <return-value transfer-ownership="none">
3670 <type name="none" c:type="void"/>
3671 </return-value>
3672 <parameters>
3673 <parameter name="d" transfer-ownership="none">
3674 <doc xml:whitespace="preserve">the multiply factor</doc>
3675 <type name="gdouble" c:type="double"/>
3676 </parameter>
3677 </parameters>
3678 </method>
3679 <method name="times_matrix"
3680 c:identifier="hkl_vector_times_matrix"
3681 introspectable="0">
3682 <doc xml:whitespace="preserve">multiply an #HklVector by an #HklMatrix.
3683 compute v'= M . v</doc>
3684 <return-value transfer-ownership="none">
3685 <type name="none" c:type="void"/>
3686 </return-value>
3687 <parameters>
3688 <parameter name="m" transfer-ownership="none">
3689 <doc xml:whitespace="preserve">the #HklMatrix use to multiply the #HklVector</doc>
3690 <type name="Matrix" c:type="HklMatrix*"/>
3691 </parameter>
3692 </parameters>
3693 </method>
3694 <method name="times_vector"
3695 c:identifier="hkl_vector_times_vector"
3696 introspectable="0">
3697 <doc xml:whitespace="preserve">multiply an #HklVector by another one. This method multiply
3698 coordinate by coordinate.</doc>
3699 <return-value transfer-ownership="none">
3700 <type name="none" c:type="void"/>
3701 </return-value>
3702 <parameters>
3703 <parameter name="vector" transfer-ownership="none">
3704 <doc xml:whitespace="preserve">the #HklVector use to modify the first one</doc>
3705 <type name="Vector" c:type="HklVector*"/>
3706 </parameter>
3707 </parameters>
3708 </method>
3709 <method name="vectorial_product"
3710 c:identifier="hkl_vector_vectorial_product"
3711 introspectable="0">
3712 <doc xml:whitespace="preserve">compute the vectorial product of two vectors</doc>
3713 <return-value transfer-ownership="none">
3714 <type name="none" c:type="void"/>
3715 </return-value>
3716 <parameters>
3717 <parameter name="vector" transfer-ownership="none">
3718 <doc xml:whitespace="preserve">the second #HklVector</doc>
3719 <type name="Vector" c:type="HklVector*"/>
3720 </parameter>
3721 </parameters>
3722 </method>
3723 <function name="fprintf"
3724 c:identifier="hkl_vector_fprintf"
3725 introspectable="0">
3726 <doc xml:whitespace="preserve">print an #HklVector into a stream</doc>
3727 <return-value transfer-ownership="none">
3728 <type name="none" c:type="void"/>
3729 </return-value>
3730 <parameters>
3731 <parameter name="file" transfer-ownership="none">
3732 <doc xml:whitespace="preserve">the stream to print into</doc>
3733 <type name="gpointer" c:type="FILE*"/>
3734 </parameter>
3735 <parameter name="self" transfer-ownership="none">
3736 <doc xml:whitespace="preserve">the #HklVector to print.</doc>
3737 <type name="Vector" c:type="HklVector*"/>
3738 </parameter>
3739 </parameters>
3740 </function>
3741 </record>
3742 <function name="axis_fprintf"
3743 c:identifier="hkl_axis_fprintf"
3744 moved-to="Axis.fprintf">
3745 <return-value transfer-ownership="none">
3746 <type name="none" c:type="void"/>
3747 </return-value>
3748 <parameters>
3749 <parameter name="f" transfer-ownership="none">
3750 <type name="gpointer" c:type="FILE*"/>
3751 </parameter>
3752 <parameter name="self" transfer-ownership="none">
3753 <type name="Axis" c:type="HklAxis*"/>
3754 </parameter>
3755 </parameters>
3756 </function>
3757 <function name="detector_fprintf"
3758 c:identifier="hkl_detector_fprintf"
3759 moved-to="Detector.fprintf"
3760 introspectable="0">
3761 <doc xml:whitespace="preserve">print to a FILE the detector members</doc>
3762 <return-value transfer-ownership="none">
3763 <type name="none" c:type="void"/>
3764 </return-value>
3765 <parameters>
3766 <parameter name="f" transfer-ownership="none">
3767 <type name="gpointer" c:type="FILE*"/>
3768 </parameter>
3769 <parameter name="self" transfer-ownership="none">
3770 <type name="Detector" c:type="HklDetector*"/>
3771 </parameter>
3772 </parameters>
3773 </function>
3774 <function name="error_clear"
3775 c:identifier="hkl_error_clear"
3776 moved-to="Error.clear"
3777 introspectable="0">
3778 <doc xml:whitespace="preserve">If @err is %NULL, does nothing. If @err is non-%NULL, calls
3779 hkl_error_free() on *@err and sets *@err to %NULL.</doc>
3780 <return-value transfer-ownership="none">
3781 <type name="none" c:type="void"/>
3782 </return-value>
3783 <parameters>
3784 <parameter name="err" transfer-ownership="none">
3785 <doc xml:whitespace="preserve">a #HklError return location</doc>
3786 <type name="Error" c:type="HklError**"/>
3787 </parameter>
3788 </parameters>
3789 </function>
3790 <function name="error_prefix"
3791 c:identifier="hkl_error_prefix"
3792 moved-to="Error.prefix"
3793 version="2.16"
3794 introspectable="0">
3795 <doc xml:whitespace="preserve">Formats a string according to @format and prefix it to an existing
3796 error message. If @err is %NULL (ie: no error variable) then do
3797 nothing.
3799 If *@err is %NULL (ie: an error variable is present but there is no
3800 error condition) then also do nothing. Whether or not it makes
3801 sense to take advantage of this feature is up to you.</doc>
3802 <return-value transfer-ownership="none">
3803 <type name="none" c:type="void"/>
3804 </return-value>
3805 <parameters>
3806 <parameter name="err" transfer-ownership="none">
3807 <doc xml:whitespace="preserve">a return location for a #HklError, or %NULL</doc>
3808 <type name="Error" c:type="HklError**"/>
3809 </parameter>
3810 <parameter name="format" transfer-ownership="none">
3811 <doc xml:whitespace="preserve">printf()-style format string</doc>
3812 <type name="utf8" c:type="char*"/>
3813 </parameter>
3814 <parameter transfer-ownership="none">
3815 <varargs>
3816 </varargs>
3817 </parameter>
3818 </parameters>
3819 </function>
3820 <function name="error_propagate"
3821 c:identifier="hkl_error_propagate"
3822 moved-to="Error.propagate"
3823 introspectable="0">
3824 <doc xml:whitespace="preserve">If @dest is %NULL, free @src; otherwise, moves @src into *@dest.
3825 The error variable @dest points to must be %NULL.</doc>
3826 <return-value transfer-ownership="none">
3827 <type name="none" c:type="void"/>
3828 </return-value>
3829 <parameters>
3830 <parameter name="dest" transfer-ownership="none">
3831 <doc xml:whitespace="preserve">error return location</doc>
3832 <type name="Error" c:type="HklError**"/>
3833 </parameter>
3834 <parameter name="src" transfer-ownership="none">
3835 <doc xml:whitespace="preserve">error to move into the return location</doc>
3836 <type name="Error" c:type="HklError*"/>
3837 </parameter>
3838 </parameters>
3839 </function>
3840 <function name="error_propagate_prefixed"
3841 c:identifier="hkl_error_propagate_prefixed"
3842 moved-to="Error.propagate_prefixed"
3843 version="2.16"
3844 introspectable="0">
3845 <doc xml:whitespace="preserve">If @dest is %NULL, free @src; otherwise, moves @src into
3846 *@dest. *@dest must be %NULL. After the move, add a prefix as with
3847 hkl_prefix_error().</doc>
3848 <return-value transfer-ownership="none">
3849 <type name="none" c:type="void"/>
3850 </return-value>
3851 <parameters>
3852 <parameter name="dest" transfer-ownership="none">
3853 <doc xml:whitespace="preserve">error return location</doc>
3854 <type name="Error" c:type="HklError**"/>
3855 </parameter>
3856 <parameter name="src" transfer-ownership="none">
3857 <doc xml:whitespace="preserve">error to move into the return location</doc>
3858 <type name="Error" c:type="HklError*"/>
3859 </parameter>
3860 <parameter name="format" transfer-ownership="none">
3861 <doc xml:whitespace="preserve">printf()-style format string</doc>
3862 <type name="utf8" c:type="char*"/>
3863 </parameter>
3864 <parameter transfer-ownership="none">
3865 <varargs>
3866 </varargs>
3867 </parameter>
3868 </parameters>
3869 </function>
3870 <function name="error_set"
3871 c:identifier="hkl_error_set"
3872 moved-to="Error.set"
3873 introspectable="0">
3874 <doc xml:whitespace="preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
3875 must be %NULL. A new #HklError is created and assigned to *@err.</doc>
3876 <return-value transfer-ownership="none">
3877 <type name="none" c:type="void"/>
3878 </return-value>
3879 <parameters>
3880 <parameter name="err" transfer-ownership="none">
3881 <doc xml:whitespace="preserve">a return location for a #HklError, or %NULL</doc>
3882 <type name="Error" c:type="HklError**"/>
3883 </parameter>
3884 <parameter name="format" transfer-ownership="none">
3885 <doc xml:whitespace="preserve">printf()-style format</doc>
3886 <type name="utf8" c:type="char*"/>
3887 </parameter>
3888 <parameter transfer-ownership="none">
3889 <varargs>
3890 </varargs>
3891 </parameter>
3892 </parameters>
3893 </function>
3894 <function name="error_set_literal"
3895 c:identifier="hkl_error_set_literal"
3896 moved-to="Error.set_literal"
3897 version="2.18"
3898 introspectable="0">
3899 <doc xml:whitespace="preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
3900 must be %NULL. A new #HklError is created and assigned to *@err.
3901 Unlike hkl_set_error(), @message is not a printf()-style format
3902 string. Use this function if @message contains text you don't have
3903 control over, that could include printf() escape sequences.</doc>
3904 <return-value transfer-ownership="none">
3905 <type name="none" c:type="void"/>
3906 </return-value>
3907 <parameters>
3908 <parameter name="err" transfer-ownership="none">
3909 <doc xml:whitespace="preserve">a return location for a #HklError, or %NULL</doc>
3910 <type name="Error" c:type="HklError**"/>
3911 </parameter>
3912 <parameter name="message" transfer-ownership="none">
3913 <doc xml:whitespace="preserve">error message</doc>
3914 <type name="utf8" c:type="char*"/>
3915 </parameter>
3916 </parameters>
3917 </function>
3918 <function name="geometry_factory_get_config_from_type"
3919 c:identifier="hkl_geometry_factory_get_config_from_type"
3920 moved-to="Geometry.factory_get_config_from_type">
3921 <doc xml:whitespace="preserve">get am #HklGeometryConfig for a given #HklGeometryType</doc>
3922 <return-value transfer-ownership="none">
3923 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
3924 </return-value>
3925 <parameters>
3926 <parameter name="type" transfer-ownership="none">
3927 <type name="GeometryType" c:type="HklGeometryType"/>
3928 </parameter>
3929 </parameters>
3930 </function>
3931 <function name="geometry_fprintf"
3932 c:identifier="hkl_geometry_fprintf"
3933 moved-to="Geometry.fprintf"
3934 introspectable="0">
3935 <doc xml:whitespace="preserve">print into a file the #HklGeometry</doc>
3936 <return-value transfer-ownership="none">
3937 <type name="none" c:type="void"/>
3938 </return-value>
3939 <parameters>
3940 <parameter name="file" transfer-ownership="none">
3941 <type name="gpointer" c:type="FILE*"/>
3942 </parameter>
3943 <parameter name="self" transfer-ownership="none">
3944 <type name="Geometry" c:type="HklGeometry*"/>
3945 </parameter>
3946 </parameters>
3947 </function>
3948 <function name="geometry_list_fprintf"
3949 c:identifier="hkl_geometry_list_fprintf"
3950 moved-to="GeometryList.fprintf"
3951 introspectable="0">
3952 <doc xml:whitespace="preserve">print to a file the #HklGeometryList</doc>
3953 <return-value transfer-ownership="none">
3954 <type name="none" c:type="void"/>
3955 </return-value>
3956 <parameters>
3957 <parameter name="f" transfer-ownership="none">
3958 <type name="gpointer" c:type="FILE*"/>
3959 </parameter>
3960 <parameter name="self" transfer-ownership="none">
3961 <type name="GeometryList" c:type="HklGeometryList*"/>
3962 </parameter>
3963 </parameters>
3964 </function>
3965 <function name="lattice_fprintf"
3966 c:identifier="hkl_lattice_fprintf"
3967 moved-to="Lattice.fprintf"
3968 introspectable="0">
3969 <doc xml:whitespace="preserve">print into a file the lattice.</doc>
3970 <return-value transfer-ownership="none">
3971 <type name="none" c:type="void"/>
3972 </return-value>
3973 <parameters>
3974 <parameter name="f" transfer-ownership="none">
3975 <type name="gpointer" c:type="FILE*"/>
3976 </parameter>
3977 <parameter name="self" transfer-ownership="none">
3978 <type name="Lattice" c:type="HklLattice*"/>
3979 </parameter>
3980 </parameters>
3981 </function>
3982 <function name="matrix_fprintf"
3983 c:identifier="hkl_matrix_fprintf"
3984 moved-to="Matrix.fprintf">
3985 <doc xml:whitespace="preserve">printf an #HklMatrix into a FILE stream.</doc>
3986 <return-value transfer-ownership="none">
3987 <type name="none" c:type="void"/>
3988 </return-value>
3989 <parameters>
3990 <parameter name="file" transfer-ownership="none">
3991 <doc xml:whitespace="preserve">the FILE stream</doc>
3992 <type name="gpointer" c:type="FILE*"/>
3993 </parameter>
3994 <parameter name="self" transfer-ownership="none">
3995 <doc xml:whitespace="preserve">the #HklMatrix to print into the file stream</doc>
3996 <type name="Matrix" c:type="HklMatrix*"/>
3997 </parameter>
3998 </parameters>
3999 </function>
4000 <function name="parameter_fprintf"
4001 c:identifier="hkl_parameter_fprintf"
4002 moved-to="Parameter.fprintf"
4003 introspectable="0">
4004 <doc xml:whitespace="preserve">print into the #FILE f an #HklParameter</doc>
4005 <return-value transfer-ownership="none">
4006 <type name="none" c:type="void"/>
4007 </return-value>
4008 <parameters>
4009 <parameter name="f" transfer-ownership="none">
4010 <type name="gpointer" c:type="FILE*"/>
4011 </parameter>
4012 <parameter name="self" transfer-ownership="none">
4013 <type name="Parameter" c:type="HklParameter*"/>
4014 </parameter>
4015 </parameters>
4016 </function>
4017 <function name="pseudo_axis_engine_fprintf"
4018 c:identifier="hkl_pseudo_axis_engine_fprintf"
4019 moved-to="PseudoAxisEngine.fprintf"
4020 introspectable="0">
4021 <doc xml:whitespace="preserve">print to a FILE the HklPseudoAxisEngine</doc>
4022 <return-value transfer-ownership="none">
4023 <type name="none" c:type="void"/>
4024 </return-value>
4025 <parameters>
4026 <parameter name="f" transfer-ownership="none">
4027 <doc xml:whitespace="preserve">the FILE</doc>
4028 <type name="gpointer" c:type="FILE*"/>
4029 </parameter>
4030 <parameter name="self" transfer-ownership="none">
4031 <doc xml:whitespace="preserve">the HklPseudoAxisEngine</doc>
4032 <type name="PseudoAxisEngine" c:type="HklPseudoAxisEngine*"/>
4033 </parameter>
4034 </parameters>
4035 </function>
4036 <function name="pseudo_axis_engine_list_factory"
4037 c:identifier="hkl_pseudo_axis_engine_list_factory"
4038 moved-to="PseudoAxisEngineList.factory">
4039 <doc xml:whitespace="preserve">create an #HklPseudoAxisEngineList given an #HklGeometryConfig</doc>
4040 <return-value transfer-ownership="full">
4041 <type name="PseudoAxisEngineList" c:type="HklPseudoAxisEngineList*"/>
4042 </return-value>
4043 <parameters>
4044 <parameter name="config" transfer-ownership="none">
4045 <type name="GeometryConfig" c:type="HklGeometryConfig*"/>
4046 </parameter>
4047 </parameters>
4048 </function>
4049 <function name="pseudo_axis_engine_list_fprintf"
4050 c:identifier="hkl_pseudo_axis_engine_list_fprintf"
4051 moved-to="PseudoAxisEngineList.fprintf"
4052 introspectable="0">
4053 <doc xml:whitespace="preserve">print to a FILE the #HklPseudoAxisEngineList</doc>
4054 <return-value transfer-ownership="none">
4055 <type name="none" c:type="void"/>
4056 </return-value>
4057 <parameters>
4058 <parameter name="f" transfer-ownership="none">
4059 <doc xml:whitespace="preserve">the File</doc>
4060 <type name="gpointer" c:type="FILE*"/>
4061 </parameter>
4062 <parameter name="self" transfer-ownership="none">
4063 <doc xml:whitespace="preserve">the list</doc>
4064 <type name="PseudoAxisEngineList" c:type="HklPseudoAxisEngineList*"/>
4065 </parameter>
4066 </parameters>
4067 </function>
4068 <function name="pseudo_axis_engine_mode_fprintf"
4069 c:identifier="hkl_pseudo_axis_engine_mode_fprintf"
4070 moved-to="PseudoAxisEngineMode.fprintf"
4071 introspectable="0">
4072 <doc xml:whitespace="preserve">print to a FILE the HklPSeudoAxisEngineMode members</doc>
4073 <return-value transfer-ownership="none">
4074 <type name="none" c:type="void"/>
4075 </return-value>
4076 <parameters>
4077 <parameter name="f" transfer-ownership="none">
4078 <type name="gpointer" c:type="FILE*"/>
4079 </parameter>
4080 <parameter name="self" transfer-ownership="none">
4081 <type name="PseudoAxisEngineMode" c:type="HklPseudoAxisEngineMode*"/>
4082 </parameter>
4083 </parameters>
4084 </function>
4085 <function name="pseudo_axis_fprintf"
4086 c:identifier="hkl_pseudo_axis_fprintf"
4087 moved-to="PseudoAxis.fprintf"
4088 introspectable="0">
4089 <doc xml:whitespace="preserve">print an HklPseudoAxis into a file</doc>
4090 <return-value transfer-ownership="none">
4091 <type name="none" c:type="void"/>
4092 </return-value>
4093 <parameters>
4094 <parameter name="f" transfer-ownership="none">
4095 <type name="gpointer" c:type="FILE*"/>
4096 </parameter>
4097 <parameter name="self" transfer-ownership="none">
4098 <type name="PseudoAxis" c:type="HklPseudoAxis*"/>
4099 </parameter>
4100 </parameters>
4101 </function>
4102 <function name="quaternion_fprintf"
4103 c:identifier="hkl_quaternion_fprintf"
4104 moved-to="Quaternion.fprintf">
4105 <doc xml:whitespace="preserve">print an #HklQuaternion into a FILE stream</doc>
4106 <return-value transfer-ownership="none">
4107 <type name="none" c:type="void"/>
4108 </return-value>
4109 <parameters>
4110 <parameter name="file" transfer-ownership="none">
4111 <doc xml:whitespace="preserve">the file to send the #HklQuaternion into</doc>
4112 <type name="gpointer" c:type="FILE*"/>
4113 </parameter>
4114 <parameter name="self" transfer-ownership="none">
4115 <doc xml:whitespace="preserve">the #HklQuaternion to write into the file stream.</doc>
4116 <type name="Quaternion" c:type="HklQuaternion*"/>
4117 </parameter>
4118 </parameters>
4119 </function>
4120 <function name="sample_fprintf"
4121 c:identifier="hkl_sample_fprintf"
4122 moved-to="Sample.fprintf"
4123 introspectable="0">
4124 <doc xml:whitespace="preserve">print to a file a sample</doc>
4125 <return-value transfer-ownership="none">
4126 <type name="none" c:type="void"/>
4127 </return-value>
4128 <parameters>
4129 <parameter name="f" transfer-ownership="none">
4130 <type name="gpointer" c:type="FILE*"/>
4131 </parameter>
4132 <parameter name="self" transfer-ownership="none">
4133 <type name="Sample" c:type="HklSample*"/>
4134 </parameter>
4135 </parameters>
4136 </function>
4137 <function name="sample_list_fprintf"
4138 c:identifier="hkl_sample_list_fprintf"
4139 moved-to="SampleList.fprintf"
4140 introspectable="0">
4141 <doc xml:whitespace="preserve">print the sample list to a file</doc>
4142 <return-value transfer-ownership="none">
4143 <type name="none" c:type="void"/>
4144 </return-value>
4145 <parameters>
4146 <parameter name="f" transfer-ownership="none">
4147 <type name="gpointer" c:type="FILE*"/>
4148 </parameter>
4149 <parameter name="self" transfer-ownership="none">
4150 <type name="SampleList" c:type="HklSampleList*"/>
4151 </parameter>
4152 </parameters>
4153 </function>
4154 <function name="source_fprintf"
4155 c:identifier="hkl_source_fprintf"
4156 moved-to="Source.fprintf"
4157 introspectable="0">
4158 <doc xml:whitespace="preserve">printf the source</doc>
4159 <return-value transfer-ownership="none">
4160 <type name="none" c:type="void"/>
4161 </return-value>
4162 <parameters>
4163 <parameter name="f" transfer-ownership="none">
4164 <type name="gpointer" c:type="FILE*"/>
4165 </parameter>
4166 <parameter name="self" transfer-ownership="none">
4167 <type name="Source" c:type="HklSource*"/>
4168 </parameter>
4169 </parameters>
4170 </function>
4171 <function name="vector_fprintf"
4172 c:identifier="hkl_vector_fprintf"
4173 moved-to="Vector.fprintf"
4174 introspectable="0">
4175 <doc xml:whitespace="preserve">print an #HklVector into a stream</doc>
4176 <return-value transfer-ownership="none">
4177 <type name="none" c:type="void"/>
4178 </return-value>
4179 <parameters>
4180 <parameter name="file" transfer-ownership="none">
4181 <doc xml:whitespace="preserve">the stream to print into</doc>
4182 <type name="gpointer" c:type="FILE*"/>
4183 </parameter>
4184 <parameter name="self" transfer-ownership="none">
4185 <doc xml:whitespace="preserve">the #HklVector to print.</doc>
4186 <type name="Vector" c:type="HklVector*"/>
4187 </parameter>
4188 </parameters>
4189 </function>
4190 </namespace>
4191 </repository>