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