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"/>
13 shared-library=
"libhkl.so.5"
14 c:
identifier-prefixes=
"Hkl"
15 c:
symbol-prefixes=
"hkl">
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"/>
24 <field name=
"axis_v" writable=
"1">
25 <type name=
"Vector" c:
type=
"HklVector"/>
27 <field name=
"q" writable=
"1">
28 <type name=
"Quaternion" c:
type=
"HklQuaternion"/>
30 <field name=
"engine_list" writable=
"1">
31 <type name=
"gpointer" c:
type=
"gpointer"/>
33 <field name=
"_shit" writable=
"1">
34 <type name=
"gpointer" c:
type=
"void*"/>
36 <constructor name=
"new" c:
identifier=
"hkl_axis_new">
37 <return-value transfer-ownership=
"full">
38 <type name=
"Axis" c:
type=
"HklAxis*"/>
41 <parameter name=
"name" transfer-ownership=
"none">
42 <type name=
"utf8" c:
type=
"char*"/>
44 <parameter name=
"axis_v" transfer-ownership=
"none">
45 <type name=
"Vector" c:
type=
"HklVector*"/>
49 <method name=
"init" c:
identifier=
"hkl_axis_init">
50 <return-value transfer-ownership=
"none">
51 <type name=
"none" c:
type=
"void"/>
54 <parameter name=
"name" transfer-ownership=
"none">
55 <type name=
"utf8" c:
type=
"char*"/>
57 <parameter name=
"axis_v" transfer-ownership=
"none">
58 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
69 <record name=
"Detector"
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"/>
77 <field name=
"holder" writable=
"1">
78 <type name=
"Holder" c:
type=
"HklHolder*"/>
80 <constructor name=
"factory_new" c:
identifier=
"hkl_detector_factory_new">
81 <doc xml:
whitespace=
"preserve">Detector factory
84 <return-value transfer-ownership=
"full">
85 <type name=
"Detector" c:
type=
"HklDetector*"/>
88 <parameter name=
"type" transfer-ownership=
"none">
89 <type name=
"DetectorType" c:
type=
"HklDetectorType"/>
93 <constructor name=
"new"
94 c:
identifier=
"hkl_detector_new"
96 <doc xml:
whitespace=
"preserve">Create a new default #HklDetector
99 <return-value transfer-ownership=
"full">
100 <type name=
"Detector" c:
type=
"HklDetector*"/>
103 <method name=
"attach_to_holder"
104 c:
identifier=
"hkl_detector_attach_to_holder"
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"/>
111 <parameter name=
"holder" transfer-ownership=
"none">
112 <type name=
"Holder" c:
type=
"HklHolder*"/>
116 <method name=
"compute_kf"
117 c:
identifier=
"hkl_detector_compute_kf"
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"/>
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*"/>
132 transfer-ownership=
"none">
133 <doc xml:
whitespace=
"preserve">the #HklVector fill with the kf coordinates.
</doc>
134 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
144 <method name=
"new_copy"
145 c:
identifier=
"hkl_detector_new_copy"
147 <doc xml:
whitespace=
"preserve">the copy constructor
150 <return-value transfer-ownership=
"full">
151 <type name=
"Detector" c:
type=
"HklDetector*"/>
154 <function name=
"fprintf"
155 c:
identifier=
"hkl_detector_fprintf"
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"/>
162 <parameter name=
"f" transfer-ownership=
"none">
163 <type name=
"gpointer" c:
type=
"FILE*"/>
165 <parameter name=
"self" transfer-ownership=
"none">
166 <type name=
"Detector" c:
type=
"HklDetector*"/>
171 <enumeration name=
"DetectorType"
172 glib:
type-name=
"HklDetectorType"
173 glib:
get-type=
"hkl_detector_type_get_type"
174 c:
type=
"HklDetectorType">
177 c:
identifier=
"HKL_DETECTOR_TYPE_0D"
180 <record name=
"Engine"
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*"/>
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
195 <return-value transfer-ownership=
"none">
196 <type name=
"gint" c:
type=
"int"/>
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**"/>
205 <method name=
"initialize"
206 c:
identifier=
"hkl_engine_initialize"
208 <doc xml:
whitespace=
"preserve">initialize the HklEngine
211 <return-value transfer-ownership=
"none">
212 <type name=
"gint" c:
type=
"int"/>
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**"/>
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"/>
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*"/>
234 c:
identifier=
"hkl_engine_modes"
235 shadowed-by=
"modes_as_gslist"
237 <return-value transfer-ownership=
"none">
238 <doc xml:
whitespace=
"preserve">the current mode of the HklEngine
</doc>
239 <type c:
type=
"darray_mode*"/>
242 <method name=
"modes_as_gslist"
243 c:
identifier=
"hkl_engine_modes_as_gslist"
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*">
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*"/>
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*"/>
265 <method name=
"select_mode" c:
identifier=
"hkl_engine_select_mode">
266 <doc xml:
whitespace=
"preserve">This method also populate the self-
>axes from the mode-
>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"/>
272 <parameter name=
"mode" transfer-ownership=
"none">
273 <doc xml:
whitespace=
"preserve">the #HklPseudoAxisMode to select
</doc>
274 <type name=
"Mode" c:
type=
"HklMode*"/>
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"/>
284 <parameter name=
"name" transfer-ownership=
"none">
285 <type name=
"utf8" c:
type=
"char*"/>
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.
293 <return-value transfer-ownership=
"none">
294 <type name=
"gint" c:
type=
"int"/>
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**"/>
303 <method name=
"set_values_unit"
304 c:
identifier=
"hkl_engine_set_values_unit"
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"/>
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"/>
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"/>
324 <function name=
"fprintf"
325 c:
identifier=
"hkl_engine_fprintf"
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"/>
332 <parameter name=
"f" transfer-ownership=
"none">
333 <doc xml:
whitespace=
"preserve">the FILE
</doc>
334 <type name=
"gpointer" c:
type=
"FILE*"/>
336 <parameter name=
"self" transfer-ownership=
"none">
337 <doc xml:
whitespace=
"preserve">the HklEngine
</doc>
338 <type name=
"Engine" c:
type=
"HklEngine*"/>
343 <record name=
"EngineInfo" c:
type=
"HklEngineInfo">
344 <field name=
"name" writable=
"1">
345 <type name=
"utf8" c:
type=
"char*"/>
347 <field name=
"pseudo_axes" writable=
"1">
348 <type name=
"PseudoAxis" c:
type=
"HklPseudoAxis**"/>
350 <field name=
"n_pseudo_axes" writable=
"1">
351 <type name=
"guint" c:
type=
"uint"/>
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"
364 <doc xml:
whitespace=
"preserve">a pointer on the engine array
</doc>
365 <type c:
type=
"darray_engine*"/>
368 <method name=
"engines_as_gslist"
369 c:
identifier=
"hkl_engine_list_engines_as_gslist"
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"/>
380 c:
identifier=
"hkl_engine_list_free"
382 <doc xml:
whitespace=
"preserve">destructor
</doc>
383 <return-value transfer-ownership=
"none">
384 <type name=
"none" c:
type=
"void"/>
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*"/>
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"/>
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*"/>
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*"/>
416 <method name=
"get_geometry"
417 c:
identifier=
"hkl_engine_list_get_geometry"
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*"/>
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*"/>
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*"/>
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"/>
445 <parameter name=
"geometry" transfer-ownership=
"none">
446 <doc xml:
whitespace=
"preserve">the associated #HklGeometry
</doc>
447 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
449 <parameter name=
"detector" transfer-ownership=
"none">
450 <doc xml:
whitespace=
"preserve">the associated #HklDetector
</doc>
451 <type name=
"Detector" c:
type=
"HklDetector*"/>
453 <parameter name=
"sample" transfer-ownership=
"none">
454 <doc xml:
whitespace=
"preserve">the associated #HklSample
</doc>
455 <type name=
"Sample" c:
type=
"HklSample*"/>
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
> number of solution) the method
464 <return-value transfer-ownership=
"none">
465 <type name=
"none" c:
type=
"void"/>
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"/>
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*"/>
480 <parameter name=
"config" transfer-ownership=
"none">
481 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
485 <function name=
"fprintf"
486 c:
identifier=
"hkl_engine_list_fprintf"
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"/>
493 <parameter name=
"f" transfer-ownership=
"none">
494 <doc xml:
whitespace=
"preserve">the File
</doc>
495 <type name=
"gpointer" c:
type=
"FILE*"/>
497 <parameter name=
"self" transfer-ownership=
"none">
498 <doc xml:
whitespace=
"preserve">the list
</doc>
499 <type name=
"EngineList" c:
type=
"HklEngineList*"/>
504 <record name=
"EngineOperations" c:
type=
"HklEngineOperations" disguised=
"1">
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*"/>
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*"/>
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*"/>
526 <parameter transfer-ownership=
"none">
532 <constructor name=
"new_literal"
533 c:
identifier=
"hkl_error_new_literal"
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*"/>
544 <parameter name=
"message" transfer-ownership=
"none">
545 <doc xml:
whitespace=
"preserve">error message
</doc>
546 <type name=
"utf8" c:
type=
"char*"/>
550 <constructor name=
"new_valist"
551 c:
identifier=
"hkl_error_new_valist"
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*"/>
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*"/>
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"/>
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"/>
577 <method name=
"new_copy"
578 c:
identifier=
"hkl_error_new_copy"
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*"/>
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"/>
593 <parameter name=
"err" transfer-ownership=
"none">
594 <doc xml:
whitespace=
"preserve">a #HklError return location
</doc>
595 <type name=
"Error" c:
type=
"HklError**"/>
599 <function name=
"prefix"
600 c:
identifier=
"hkl_error_prefix"
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
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"/>
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**"/>
618 <parameter name=
"format" transfer-ownership=
"none">
619 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
620 <type name=
"utf8" c:
type=
"char*"/>
622 <parameter transfer-ownership=
"none">
628 <function name=
"propagate"
629 c:
identifier=
"hkl_error_propagate"
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"/>
637 <parameter name=
"dest" transfer-ownership=
"none">
638 <doc xml:
whitespace=
"preserve">error return location
</doc>
639 <type name=
"Error" c:
type=
"HklError**"/>
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*"/>
647 <function name=
"propagate_prefixed"
648 c:
identifier=
"hkl_error_propagate_prefixed"
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"/>
658 <parameter name=
"dest" transfer-ownership=
"none">
659 <doc xml:
whitespace=
"preserve">error return location
</doc>
660 <type name=
"Error" c:
type=
"HklError**"/>
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*"/>
666 <parameter name=
"format" transfer-ownership=
"none">
667 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
668 <type name=
"utf8" c:
type=
"char*"/>
670 <parameter transfer-ownership=
"none">
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"/>
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**"/>
687 <parameter name=
"format" transfer-ownership=
"none">
688 <doc xml:
whitespace=
"preserve">printf()-style format
</doc>
689 <type name=
"utf8" c:
type=
"char*"/>
691 <parameter transfer-ownership=
"none">
697 <function name=
"set_literal"
698 c:
identifier=
"hkl_error_set_literal"
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"/>
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**"/>
714 <parameter name=
"message" transfer-ownership=
"none">
715 <doc xml:
whitespace=
"preserve">error message
</doc>
716 <type name=
"utf8" c:
type=
"char*"/>
721 <record name=
"Geometry"
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*"/>
729 <field name=
"source" writable=
"1">
730 <type name=
"Source" c:
type=
"HklSource"/>
732 <field name=
"axes" writable=
"1">
733 <type name=
"Axis" c:
type=
"HklAxis*"/>
735 <field name=
"len" writable=
"1">
736 <type name=
"gulong" c:
type=
"size_t"/>
738 <field name=
"holders" writable=
"1">
739 <type name=
"Holder" c:
type=
"HklHolder*"/>
741 <field name=
"holders_len" writable=
"1">
742 <type name=
"gulong" c:
type=
"size_t"/>
744 <constructor name=
"factory_new"
745 c:
identifier=
"hkl_geometry_factory_new"
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*"/>
753 <parameter name=
"config" transfer-ownership=
"none">
754 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
756 <parameter transfer-ownership=
"none">
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*"/>
770 <parameter name=
"config" transfer-ownership=
"none">
771 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
773 <parameter name=
"parameters" transfer-ownership=
"none">
774 <array length=
"2" zero-terminated=
"0" c:
type=
"double">
775 <type name=
"gdouble" c:
type=
"double"/>
778 <parameter name=
"len" transfer-ownership=
"none">
779 <type name=
"gint" c:
type=
"int"/>
783 <constructor name=
"new"
784 c:
identifier=
"hkl_geometry_new"
786 <doc xml:
whitespace=
"preserve">constructor
789 <return-value transfer-ownership=
"full">
790 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
793 <method name=
"add_holder"
794 c:
identifier=
"hkl_geometry_add_holder"
796 <doc xml:
whitespace=
"preserve">add an Holder to the #HklGeometry
800 <type name=
"Holder" c:
type=
"HklHolder*"/>
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*">
812 <method name=
"closest_from_geometry_with_range"
813 c:
identifier=
"hkl_geometry_closest_from_geometry_with_range"
815 <doc xml:
whitespace=
"preserve">get the closest axes values in the HklInterval compatible with the
819 <return-value transfer-ownership=
"none">
820 <type name=
"gint" c:
type=
"int"/>
823 <parameter name=
"ref" transfer-ownership=
"none">
824 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
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"/>
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*"/>
841 <method name=
"distance_orthodromic"
842 c:
identifier=
"hkl_geometry_distance_orthodromic"
844 <return-value transfer-ownership=
"none">
845 <doc xml:
whitespace=
"preserve">the orthodromique distance
</doc>
846 <type name=
"gdouble" c:
type=
"double"/>
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*"/>
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"/>
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"/>
871 <parameter name=
"len"
874 transfer-ownership=
"full">
875 <doc xml:
whitespace=
"preserve">the length of the returned array
</doc>
876 <type name=
"guint" c:
type=
"unsigned int*"/>
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*"/>
887 <parameter name=
"name" transfer-ownership=
"none">
888 <type name=
"utf8" c:
type=
"char*"/>
892 <method name=
"get_axis_idx_by_name"
893 c:
identifier=
"hkl_geometry_get_axis_idx_by_name"
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"/>
901 <parameter name=
"name" transfer-ownership=
"none">
902 <type name=
"utf8" c:
type=
"char*"/>
906 <method name=
"init_geometry"
907 c:
identifier=
"hkl_geometry_init_geometry"
909 <doc xml:
whitespace=
"preserve">initilize an HklGeometry
</doc>
910 <return-value transfer-ownership=
"none">
911 <type name=
"none" c:
type=
"void"/>
914 <parameter name=
"src" transfer-ownership=
"none">
915 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
919 <method name=
"is_valid"
920 c:
identifier=
"hkl_geometry_is_valid"
922 <doc xml:
whitespace=
"preserve">check if all axes of the #HklGeometry are valid.
925 <return-value transfer-ownership=
"none">
926 <type name=
"gint" c:
type=
"int"/>
929 <method name=
"new_copy"
930 c:
identifier=
"hkl_geometry_new_copy"
932 <doc xml:
whitespace=
"preserve">copy constructor
935 <return-value transfer-ownership=
"full">
936 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
939 <method name=
"randomize"
940 c:
identifier=
"hkl_geometry_randomize"
942 <doc xml:
whitespace=
"preserve">randomize the #HklGeometry
</doc>
943 <return-value transfer-ownership=
"none">
944 <type name=
"none" c:
type=
"void"/>
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"/>
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"/>
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"/>
965 <method name=
"set_values_unit_v"
966 c:
identifier=
"hkl_geometry_set_values_unit_v"
968 <return-value transfer-ownership=
"none">
969 <type name=
"gint" c:
type=
"int"/>
972 <parameter transfer-ownership=
"none">
978 <method name=
"set_values_v"
979 c:
identifier=
"hkl_geometry_set_values_v"
981 <doc xml:
whitespace=
"preserve">set the axes values
984 <return-value transfer-ownership=
"none">
985 <type name=
"gint" c:
type=
"int"/>
988 <parameter name=
"len" transfer-ownership=
"none">
989 <type name=
"gulong" c:
type=
"size_t"/>
991 <parameter transfer-ownership=
"none">
997 <method name=
"update"
998 c:
identifier=
"hkl_geometry_update"
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"/>
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*"/>
1012 <parameter name=
"type" transfer-ownership=
"none">
1013 <type name=
"GeometryType" c:
type=
"HklGeometryType"/>
1017 <function name=
"fprintf"
1018 c:
identifier=
"hkl_geometry_fprintf"
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"/>
1025 <parameter name=
"file" transfer-ownership=
"none">
1026 <type name=
"gpointer" c:
type=
"FILE*"/>
1028 <parameter name=
"self" transfer-ownership=
"none">
1029 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
1034 <record name=
"GeometryConfig" c:
type=
"HklGeometryConfig">
1035 <field name=
"name" writable=
"1">
1036 <type name=
"utf8" c:
type=
"char*"/>
1038 <field name=
"type" writable=
"1">
1039 <type name=
"GeometryType" c:
type=
"HklGeometryType"/>
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"/>
1050 <field name=
"multiply" writable=
"1">
1051 <type name=
"GeometryListMultiplyFunction"
1052 c:
type=
"HklGeometryListMultiplyFunction"/>
1054 <field name=
"items" writable=
"1">
1055 <type name=
"gpointer" c:
type=
"gpointer"/>
1057 <field name=
"_shit" writable=
"1">
1058 <type name=
"gpointer" c:
type=
"void*"/>
1060 <constructor name=
"new"
1061 c:
identifier=
"hkl_geometry_list_new"
1063 <doc xml:
whitespace=
"preserve">constructor
1066 <return-value transfer-ownership=
"full">
1067 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
1070 <method name=
"add" c:
identifier=
"hkl_geometry_list_add">
1071 <return-value transfer-ownership=
"none">
1072 <type name=
"none" c:
type=
"void"/>
1075 <parameter name=
"geometry" transfer-ownership=
"none">
1076 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
1081 c:
identifier=
"hkl_geometry_list_free"
1083 <doc xml:
whitespace=
"preserve">destructor
</doc>
1084 <return-value transfer-ownership=
"none">
1085 <type name=
"none" c:
type=
"void"/>
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"/>
1097 <method name=
"multiply"
1098 c:
identifier=
"hkl_geometry_list_multiply"
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"/>
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"/>
1111 <method name=
"new_copy"
1112 c:
identifier=
"hkl_geometry_list_new_copy"
1114 <doc xml:
whitespace=
"preserve">copy constructor
1117 <return-value transfer-ownership=
"full">
1118 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
1121 <method name=
"remove_invalid"
1122 c:
identifier=
"hkl_geometry_list_remove_invalid"
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"/>
1129 <method name=
"reset"
1130 c:
identifier=
"hkl_geometry_list_reset"
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"/>
1139 c:
identifier=
"hkl_geometry_list_sort"
1141 <doc xml:
whitespace=
"preserve">sort the #HklGeometryList compare to the distance of the given
1143 <return-value transfer-ownership=
"none">
1144 <type name=
"none" c:
type=
"void"/>
1147 <parameter name=
"ref" transfer-ownership=
"none">
1148 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
1152 <function name=
"fprintf"
1153 c:
identifier=
"hkl_geometry_list_fprintf"
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"/>
1160 <parameter name=
"f" transfer-ownership=
"none">
1161 <type name=
"gpointer" c:
type=
"FILE*"/>
1163 <parameter name=
"self" transfer-ownership=
"none">
1164 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
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*"/>
1177 <field name=
"node" writable=
"1">
1178 <type name=
"gpointer" c:
type=
"gpointer"/>
1180 <field name=
"_shit" writable=
"1">
1181 <type name=
"gpointer" c:
type=
"void*"/>
1183 <constructor name=
"new"
1184 c:
identifier=
"hkl_geometry_list_item_new"
1186 <doc xml:
whitespace=
"preserve">constructor
1189 <return-value transfer-ownership=
"full">
1190 <type name=
"GeometryListItem" c:
type=
"HklGeometryListItem*"/>
1193 <parameter name=
"geometry" transfer-ownership=
"none">
1194 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
1199 c:
identifier=
"hkl_geometry_list_item_free"
1201 <doc xml:
whitespace=
"preserve">destructor
</doc>
1202 <return-value transfer-ownership=
"none">
1203 <type name=
"none" c:
type=
"void"/>
1206 <method name=
"new_copy"
1207 c:
identifier=
"hkl_geometry_list_item_new_copy"
1209 <doc xml:
whitespace=
"preserve">copy constructor
1212 <return-value transfer-ownership=
"full">
1213 <type name=
"GeometryListItem" c:
type=
"HklGeometryListItem*"/>
1217 <callback name=
"GeometryListMultiplyFunction"
1218 c:
type=
"HklGeometryListMultiplyFunction">
1219 <return-value transfer-ownership=
"none">
1220 <type name=
"none" c:
type=
"void"/>
1223 <parameter name=
"self" transfer-ownership=
"none">
1224 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
1226 <parameter name=
"item" transfer-ownership=
"none">
1227 <type name=
"GeometryListItem" c:
type=
"HklGeometryListItem*"/>
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"
1237 c:
identifier=
"HKL_GEOMETRY_TYPE_TWOC_VERTICAL"
1238 glib:
nick=
"twoc-vertical"/>
1239 <member name=
"eulerian4c_vertical"
1241 c:
identifier=
"HKL_GEOMETRY_TYPE_EULERIAN4C_VERTICAL"
1242 glib:
nick=
"eulerian4c-vertical"/>
1243 <member name=
"kappa4c_vertical"
1245 c:
identifier=
"HKL_GEOMETRY_TYPE_KAPPA4C_VERTICAL"
1246 glib:
nick=
"kappa4c-vertical"/>
1247 <member name=
"eulerian6c"
1249 c:
identifier=
"HKL_GEOMETRY_TYPE_EULERIAN6C"
1250 glib:
nick=
"eulerian6c"/>
1251 <member name=
"kappa6c"
1253 c:
identifier=
"HKL_GEOMETRY_TYPE_KAPPA6C"
1254 glib:
nick=
"kappa6c"/>
1255 <member name=
"zaxis"
1257 c:
identifier=
"HKL_GEOMETRY_TYPE_ZAXIS"
1259 <member name=
"soleil_sixs_med_2_2"
1261 c:
identifier=
"HKL_GEOMETRY_TYPE_SOLEIL_SIXS_MED_2_2"
1262 glib:
nick=
"soleil-sixs-med-2-2"/>
1263 <member name=
"soleil_mars"
1265 c:
identifier=
"HKL_GEOMETRY_TYPE_SOLEIL_MARS"
1266 glib:
nick=
"soleil-mars"/>
1267 <member name=
"soleil_sixs_med_1_2"
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"
1273 c:
identifier=
"HKL_GEOMETRY_TYPE_PETRA3_P09_EH2"
1274 glib:
nick=
"petra3-p09-eh2"/>
1275 <member name=
"eulerian4c_horizontal"
1277 c:
identifier=
"HKL_GEOMETRY_TYPE_EULERIAN4C_HORIZONTAL"
1278 glib:
nick=
"eulerian4c-horizontal"/>
1280 <record name=
"Holder" c:
type=
"HklHolder">
1281 <field name=
"config" writable=
"1">
1282 <type name=
"gpointer" c:
type=
"gpointer*"/>
1284 <field name=
"geometry" writable=
"1">
1285 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
1287 <field name=
"q" writable=
"1">
1288 <type name=
"Quaternion" c:
type=
"HklQuaternion"/>
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*"/>
1296 <parameter name=
"name" transfer-ownership=
"none">
1297 <type name=
"utf8" c:
type=
"char*"/>
1299 <parameter name=
"x" transfer-ownership=
"none">
1300 <type name=
"gdouble" c:
type=
"double"/>
1302 <parameter name=
"y" transfer-ownership=
"none">
1303 <type name=
"gdouble" c:
type=
"double"/>
1305 <parameter name=
"z" transfer-ownership=
"none">
1306 <type name=
"gdouble" c:
type=
"double"/>
1311 <record name=
"HolderConfig" c:
type=
"HklHolderConfig">
1312 <field name=
"gc" writable=
"1">
1313 <type name=
"gint" c:
type=
"int"/>
1315 <field name=
"idx" writable=
"1">
1316 <type name=
"gulong" c:
type=
"size_t*"/>
1318 <field name=
"len" writable=
"1">
1319 <type name=
"gulong" c:
type=
"size_t"/>
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"/>
1330 <field name=
"max" writable=
"1">
1331 <type name=
"gdouble" c:
type=
"double"/>
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"/>
1339 <method name=
"angle_restrict_symm"
1340 c:
identifier=
"hkl_interval_angle_restrict_symm"
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"/>
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"/>
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"/>
1359 <method name=
"cmp" c:
identifier=
"hkl_interval_cmp" introspectable=
"0">
1360 <doc xml:
whitespace=
"preserve">compare two intervals
1363 <return-value transfer-ownership=
"none">
1364 <type name=
"gint" c:
type=
"int"/>
1367 <parameter name=
"interval" transfer-ownership=
"none">
1368 <type name=
"Interval" c:
type=
"HklInterval*"/>
1372 <method name=
"contain_zero"
1373 c:
identifier=
"hkl_interval_contain_zero"
1375 <doc xml:
whitespace=
"preserve">check if an #HklInterval contain zero
1378 <return-value transfer-ownership=
"none">
1379 <type name=
"gint" c:
type=
"int"/>
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"/>
1388 <method name=
"divides_double"
1389 c:
identifier=
"hkl_interval_divides_double"
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"/>
1396 <parameter name=
"d" transfer-ownership=
"none">
1397 <type name=
"gdouble" c:
type=
"double"/>
1401 <method name=
"dup" c:
identifier=
"hkl_interval_dup" introspectable=
"0">
1402 <doc xml:
whitespace=
"preserve">copy an #HklInterval
1405 <return-value transfer-ownership=
"full">
1406 <type name=
"Interval" c:
type=
"HklInterval*"/>
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"/>
1415 <method name=
"length"
1416 c:
identifier=
"hkl_interval_length"
1418 <doc xml:
whitespace=
"preserve">compute the length of an #HklInterval
1421 <return-value transfer-ownership=
"none">
1422 <type name=
"gdouble" c:
type=
"double"/>
1425 <method name=
"minus_double"
1426 c:
identifier=
"hkl_interval_minus_double"
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"/>
1433 <parameter name=
"d" transfer-ownership=
"none">
1434 <type name=
"gdouble" c:
type=
"double"/>
1438 <method name=
"minus_interval"
1439 c:
identifier=
"hkl_interval_minus_interval"
1441 <doc xml:
whitespace=
"preserve">substract two #HklInterval
</doc>
1442 <return-value transfer-ownership=
"none">
1443 <type name=
"none" c:
type=
"void"/>
1446 <parameter name=
"interval" transfer-ownership=
"none">
1447 <type name=
"Interval" c:
type=
"HklInterval*"/>
1451 <method name=
"plus_double"
1452 c:
identifier=
"hkl_interval_plus_double"
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"/>
1459 <parameter name=
"d" transfer-ownership=
"none">
1460 <type name=
"gdouble" c:
type=
"double"/>
1464 <method name=
"plus_interval"
1465 c:
identifier=
"hkl_interval_plus_interval"
1467 <doc xml:
whitespace=
"preserve">add two ontervals
</doc>
1468 <return-value transfer-ownership=
"none">
1469 <type name=
"none" c:
type=
"void"/>
1472 <parameter name=
"interval" transfer-ownership=
"none">
1473 <type name=
"Interval" c:
type=
"HklInterval*"/>
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"/>
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"/>
1489 <method name=
"times_double"
1490 c:
identifier=
"hkl_interval_times_double"
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"/>
1497 <parameter name=
"d" transfer-ownership=
"none">
1498 <type name=
"gdouble" c:
type=
"double"/>
1502 <method name=
"times_interval"
1503 c:
identifier=
"hkl_interval_times_interval"
1505 <doc xml:
whitespace=
"preserve">multiply two #HklInterval
</doc>
1506 <return-value transfer-ownership=
"none">
1507 <type name=
"none" c:
type=
"void"/>
1510 <parameter name=
"interval" transfer-ownership=
"none">
1511 <type name=
"Interval" c:
type=
"HklInterval*"/>
1516 <record name=
"Lattice"
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*"/>
1524 <field name=
"b" writable=
"1">
1525 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1527 <field name=
"c" writable=
"1">
1528 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1530 <field name=
"alpha" writable=
"1">
1531 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1533 <field name=
"beta" writable=
"1">
1534 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1536 <field name=
"gamma" writable=
"1">
1537 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1539 <constructor name=
"new"
1540 c:
identifier=
"hkl_lattice_new"
1542 <doc xml:
whitespace=
"preserve">constructor
1545 <return-value transfer-ownership=
"full">
1546 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1549 <parameter name=
"a" transfer-ownership=
"none">
1550 <type name=
"gdouble" c:
type=
"double"/>
1552 <parameter name=
"b" transfer-ownership=
"none">
1553 <type name=
"gdouble" c:
type=
"double"/>
1555 <parameter name=
"c" transfer-ownership=
"none">
1556 <type name=
"gdouble" c:
type=
"double"/>
1558 <parameter name=
"alpha" transfer-ownership=
"none">
1559 <type name=
"gdouble" c:
type=
"double"/>
1561 <parameter name=
"beta" transfer-ownership=
"none">
1562 <type name=
"gdouble" c:
type=
"double"/>
1564 <parameter name=
"gamma" transfer-ownership=
"none">
1565 <type name=
"gdouble" c:
type=
"double"/>
1569 <constructor name=
"new_default"
1570 c:
identifier=
"hkl_lattice_new_default"
1572 <doc xml:
whitespace=
"preserve">default constructor
1575 <return-value transfer-ownership=
"full">
1576 <type name=
"Lattice" c:
type=
"HklLattice*"/>
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"/>
1585 <method name=
"get_1_B"
1586 c:
identifier=
"hkl_lattice_get_1_B"
1588 <doc xml:
whitespace=
"preserve">Compute the invert of B (needed by the hkl_sample_set_UB method)
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"/>
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*"/>
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
1610 <return-value transfer-ownership=
"none">
1611 <type name=
"gint" c:
type=
"int"/>
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*"/>
1623 <method name=
"new_copy"
1624 c:
identifier=
"hkl_lattice_new_copy"
1626 <doc xml:
whitespace=
"preserve">copy constructor
1629 <return-value transfer-ownership=
"full">
1630 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1633 <method name=
"randomize"
1634 c:
identifier=
"hkl_lattice_randomize"
1636 <doc xml:
whitespace=
"preserve">randomize the lattice
</doc>
1637 <return-value transfer-ownership=
"none">
1638 <type name=
"none" c:
type=
"void"/>
1641 <method name=
"reciprocal"
1642 c:
identifier=
"hkl_lattice_reciprocal"
1644 <doc xml:
whitespace=
"preserve">compute the reciprocal lattice
1647 <return-value transfer-ownership=
"none">
1648 <type name=
"gint" c:
type=
"int"/>
1651 <parameter name=
"reciprocal"
1653 caller-allocates=
"0"
1654 transfer-ownership=
"full">
1655 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1659 <method name=
"set" c:
identifier=
"hkl_lattice_set" introspectable=
"0">
1660 <doc xml:
whitespace=
"preserve">set the lattice parameters
1663 <return-value transfer-ownership=
"none">
1664 <type name=
"gint" c:
type=
"int"/>
1667 <parameter name=
"a" transfer-ownership=
"none">
1668 <type name=
"gdouble" c:
type=
"double"/>
1670 <parameter name=
"b" transfer-ownership=
"none">
1671 <type name=
"gdouble" c:
type=
"double"/>
1673 <parameter name=
"c" transfer-ownership=
"none">
1674 <type name=
"gdouble" c:
type=
"double"/>
1676 <parameter name=
"alpha" transfer-ownership=
"none">
1677 <type name=
"gdouble" c:
type=
"double"/>
1679 <parameter name=
"beta" transfer-ownership=
"none">
1680 <type name=
"gdouble" c:
type=
"double"/>
1682 <parameter name=
"gamma" transfer-ownership=
"none">
1683 <type name=
"gdouble" c:
type=
"double"/>
1687 <function name=
"fprintf"
1688 c:
identifier=
"hkl_lattice_fprintf"
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"/>
1695 <parameter name=
"f" transfer-ownership=
"none">
1696 <type name=
"gpointer" c:
type=
"FILE*"/>
1698 <parameter name=
"self" transfer-ownership=
"none">
1699 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1704 <record name=
"Matrix"
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"/>
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 |
> HKL_EPSILON
</doc>
1718 <type name=
"gint" c:
type=
"int"/>
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*"/>
1727 <method name=
"det" c:
identifier=
"hkl_matrix_det">
1728 <doc xml:
whitespace=
"preserve">compute the determinant of an #HklMatrix
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"/>
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*"/>
1742 <method name=
"free" c:
identifier=
"hkl_matrix_free" introspectable=
"0">
1743 <return-value transfer-ownership=
"none">
1744 <type name=
"none" c:
type=
"void"/>
1747 <method name=
"init" c:
identifier=
"hkl_matrix_init">
1748 <return-value transfer-ownership=
"none">
1749 <type name=
"none" c:
type=
"void"/>
1752 <parameter name=
"m11" transfer-ownership=
"none">
1753 <doc xml:
whitespace=
"preserve">the matrix
11 value
</doc>
1754 <type name=
"gdouble" c:
type=
"double"/>
1756 <parameter name=
"m12" transfer-ownership=
"none">
1757 <doc xml:
whitespace=
"preserve">the matrix
12 value
</doc>
1758 <type name=
"gdouble" c:
type=
"double"/>
1760 <parameter name=
"m13" transfer-ownership=
"none">
1761 <doc xml:
whitespace=
"preserve">the matrix
13 value
</doc>
1762 <type name=
"gdouble" c:
type=
"double"/>
1764 <parameter name=
"m21" transfer-ownership=
"none">
1765 <doc xml:
whitespace=
"preserve">the matrix
21 value
</doc>
1766 <type name=
"gdouble" c:
type=
"double"/>
1768 <parameter name=
"m22" transfer-ownership=
"none">
1769 <doc xml:
whitespace=
"preserve">the matrix
22 value
</doc>
1770 <type name=
"gdouble" c:
type=
"double"/>
1772 <parameter name=
"m23" transfer-ownership=
"none">
1773 <doc xml:
whitespace=
"preserve">the matrix
23 value
</doc>
1774 <type name=
"gdouble" c:
type=
"double"/>
1776 <parameter name=
"m31" transfer-ownership=
"none">
1777 <doc xml:
whitespace=
"preserve">the matrix
31 value
</doc>
1778 <type name=
"gdouble" c:
type=
"double"/>
1780 <parameter name=
"m32" transfer-ownership=
"none">
1781 <doc xml:
whitespace=
"preserve">the matrix
32 value
</doc>
1782 <type name=
"gdouble" c:
type=
"double"/>
1784 <parameter name=
"m33" transfer-ownership=
"none">
1785 <doc xml:
whitespace=
"preserve">the matrix
33 value
</doc>
1786 <type name=
"gdouble" c:
type=
"double"/>
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"/>
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"/>
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"/>
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"/>
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
1815 <return-value transfer-ownership=
"none">
1816 <type name=
"none" c:
type=
"void"/>
1819 <parameter name=
"v1" transfer-ownership=
"none">
1820 <doc xml:
whitespace=
"preserve">the first #HklVector
</doc>
1821 <type name=
"Vector" c:
type=
"HklVector*"/>
1823 <parameter name=
"v2" transfer-ownership=
"none">
1824 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
1825 <type name=
"Vector" c:
type=
"HklVector*"/>
1829 <method name=
"is_null" c:
identifier=
"hkl_matrix_is_null">
1830 <doc xml:
whitespace=
"preserve">is all #hklMatrix elementes bellow #HKL_EPSILON
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"/>
1838 <method name=
"solve" c:
identifier=
"hkl_matrix_solve">
1839 <doc xml:
whitespace=
"preserve">solve the system self . X = b
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"/>
1847 <parameter name=
"x" transfer-ownership=
"none">
1848 <doc xml:
whitespace=
"preserve">the #HklVector to compute.
</doc>
1849 <type name=
"Vector" c:
type=
"HklVector*"/>
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*"/>
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"/>
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*"/>
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"/>
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*"/>
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"/>
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*"/>
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*"/>
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*"/>
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"/>
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"/>
1913 <parameter name=
"file" transfer-ownership=
"none">
1914 <doc xml:
whitespace=
"preserve">the FILE stream
</doc>
1915 <type name=
"gpointer" c:
type=
"FILE*"/>
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*"/>
1924 <record name=
"Mode" c:
type=
"HklMode">
1925 <field name=
"info" writable=
"1">
1926 <type name=
"ModeInfo" c:
type=
"HklModeInfo*"/>
1928 <field name=
"ops" writable=
"1">
1929 <type name=
"ModeOperations" c:
type=
"HklModeOperations*"/>
1931 <field name=
"parameters" writable=
"1">
1932 <type name=
"ParameterList" c:
type=
"HklParameterList"/>
1934 <function name=
"fprintf"
1935 c:
identifier=
"hkl_mode_fprintf"
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"/>
1942 <parameter name=
"f" transfer-ownership=
"none">
1943 <type name=
"gpointer" c:
type=
"FILE*"/>
1945 <parameter name=
"self" transfer-ownership=
"none">
1946 <type name=
"Mode" c:
type=
"HklMode*"/>
1951 <record name=
"ModeInfo" c:
type=
"HklModeInfo">
1952 <field name=
"name" writable=
"1">
1953 <type name=
"utf8" c:
type=
"char*"/>
1955 <field name=
"axes" writable=
"1">
1956 <type name=
"utf8" c:
type=
"char**"/>
1958 <field name=
"n_axes" writable=
"1">
1959 <type name=
"guint" c:
type=
"uint"/>
1961 <field name=
"parameters" writable=
"1">
1962 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1964 <field name=
"n_parameters" writable=
"1">
1965 <type name=
"guint" c:
type=
"uint"/>
1968 <record name=
"ModeOperations" c:
type=
"HklModeOperations" disguised=
"1">
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*"/>
1978 <field name=
"range" writable=
"1">
1979 <type name=
"Interval" c:
type=
"HklInterval"/>
1981 <field name=
"_value" writable=
"1">
1982 <type name=
"gdouble" c:
type=
"double"/>
1984 <field name=
"unit" writable=
"1">
1985 <type name=
"Unit" c:
type=
"HklUnit*"/>
1987 <field name=
"punit" writable=
"1">
1988 <type name=
"Unit" c:
type=
"HklUnit*"/>
1990 <field name=
"fit" writable=
"1">
1991 <type name=
"gint" c:
type=
"int"/>
1993 <field name=
"changed" writable=
"1">
1994 <type name=
"gint" c:
type=
"int"/>
1996 <field name=
"ops" writable=
"1">
1997 <type name=
"ParameterOperations" c:
type=
"HklParameterOperations*"/>
1999 <constructor name=
"new"
2000 c:
identifier=
"hkl_parameter_new"
2002 <doc xml:
whitespace=
"preserve">create a new #HklParameter
2005 <return-value transfer-ownership=
"full">
2006 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2009 <parameter name=
"name" transfer-ownership=
"none">
2010 <type name=
"utf8" c:
type=
"char*"/>
2012 <parameter name=
"min" transfer-ownership=
"none">
2013 <type name=
"gdouble" c:
type=
"double"/>
2015 <parameter name=
"value" transfer-ownership=
"none">
2016 <type name=
"gdouble" c:
type=
"double"/>
2018 <parameter name=
"max" transfer-ownership=
"none">
2019 <type name=
"gdouble" c:
type=
"double"/>
2021 <parameter name=
"fit" transfer-ownership=
"none">
2022 <type name=
"gint" c:
type=
"int"/>
2024 <parameter name=
"changed" transfer-ownership=
"none">
2025 <type name=
"gint" c:
type=
"int"/>
2027 <parameter name=
"unit" transfer-ownership=
"none">
2028 <type name=
"Unit" c:
type=
"HklUnit*"/>
2030 <parameter name=
"punit" transfer-ownership=
"none">
2031 <type name=
"Unit" c:
type=
"HklUnit*"/>
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"/>
2041 <method name=
"get_max"
2042 c:
identifier=
"hkl_parameter_get_max"
2044 <doc xml:
whitespace=
"preserve">get the max value of the #HklParameter
2047 <return-value transfer-ownership=
"none">
2048 <type name=
"gdouble" c:
type=
"double"/>
2051 <method name=
"get_range_unit"
2052 c:
identifier=
"hkl_parameter_get_range_unit"
2054 <doc xml:
whitespace=
"preserve">get the #HklParameter range, min, max
2056 <return-value transfer-ownership=
"none">
2057 <type name=
"none" c:
type=
"void"/>
2060 <parameter name=
"min" transfer-ownership=
"none">
2061 <type name=
"gdouble" c:
type=
"double*"/>
2063 <parameter name=
"max" transfer-ownership=
"none">
2064 <type name=
"gdouble" c:
type=
"double*"/>
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"/>
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"/>
2082 <parameter name=
"ref" transfer-ownership=
"none">
2083 <doc xml:
whitespace=
"preserve">the reference #HklParameter
</doc>
2084 <type name=
"Parameter" c:
type=
"HklParameter*"/>
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"/>
2095 <method name=
"is_valid"
2096 c:
identifier=
"hkl_parameter_is_valid"
2098 <doc xml:
whitespace=
"preserve">check if the value of the #HklParameter is in the min,max range
2101 <return-value transfer-ownership=
"none">
2102 <type name=
"gint" c:
type=
"int"/>
2105 <method name=
"new_copy"
2106 c:
identifier=
"hkl_parameter_new_copy"
2108 <doc xml:
whitespace=
"preserve">copy an #HklParameter
2111 <return-value transfer-ownership=
"full">
2112 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2115 <method name=
"randomize"
2116 c:
identifier=
"hkl_parameter_randomize"
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"/>
2123 <method name=
"set_range"
2124 c:
identifier=
"hkl_parameter_set_range"
2126 <doc xml:
whitespace=
"preserve">set the #HklParameter range.
2128 <return-value transfer-ownership=
"none">
2129 <type name=
"none" c:
type=
"void"/>
2132 <parameter name=
"min" transfer-ownership=
"none">
2133 <type name=
"gdouble" c:
type=
"double"/>
2135 <parameter name=
"max" transfer-ownership=
"none">
2136 <type name=
"gdouble" c:
type=
"double"/>
2140 <method name=
"set_range_unit"
2141 c:
identifier=
"hkl_parameter_set_range_unit"
2143 <doc xml:
whitespace=
"preserve">set the #HklParameter range express in the punit #HklUnit
2145 <return-value transfer-ownership=
"none">
2146 <type name=
"none" c:
type=
"void"/>
2149 <parameter name=
"min" transfer-ownership=
"none">
2150 <type name=
"gdouble" c:
type=
"double"/>
2152 <parameter name=
"max" transfer-ownership=
"none">
2153 <type name=
"gdouble" c:
type=
"double"/>
2157 <method name=
"set_value"
2158 c:
identifier=
"hkl_parameter_set_value"
2160 <doc xml:
whitespace=
"preserve">set the value of an #HklParameter
</doc>
2162 <doc xml:
whitespace=
"preserve">true if succeed or false otherwise
</doc>
2163 <type c:
type=
"bool"/>
2166 <parameter name=
"value" transfer-ownership=
"none">
2167 <doc xml:
whitespace=
"preserve">the value to set
</doc>
2168 <type name=
"gdouble" c:
type=
"double"/>
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**"/>
2176 <method name=
"set_value_unit"
2177 c:
identifier=
"hkl_parameter_set_value_unit"
2179 <doc xml:
whitespace=
"preserve">set the value of the parameter express in the punit #HklUnit
2182 <doc xml:
whitespace=
"preserve">true if succeed or false otherwise
</doc>
2183 <type c:
type=
"bool"/>
2186 <parameter name=
"value" transfer-ownership=
"none">
2187 <doc xml:
whitespace=
"preserve">the value to set
</doc>
2188 <type name=
"gdouble" c:
type=
"double"/>
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**"/>
2196 <function name=
"fprintf"
2197 c:
identifier=
"hkl_parameter_fprintf"
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"/>
2204 <parameter name=
"f" transfer-ownership=
"none">
2205 <type name=
"gpointer" c:
type=
"FILE*"/>
2207 <parameter name=
"self" transfer-ownership=
"none">
2208 <type name=
"Parameter" c:
type=
"HklParameter*"/>
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**"/>
2221 <field name=
"size" writable=
"1">
2222 <type name=
"gulong" c:
type=
"size_t"/>
2224 <field name=
"alloc" writable=
"1">
2225 <type name=
"gulong" c:
type=
"size_t"/>
2227 <field name=
"ops" writable=
"1">
2228 <type name=
"ParameterListOperations"
2229 c:
type=
"HklParameterListOperations*"/>
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*"/>
2236 <parameter name=
"name" transfer-ownership=
"none">
2237 <type name=
"utf8" c:
type=
"char*"/>
2241 <method name=
"get_values"
2242 c:
identifier=
"hkl_parameter_list_get_values"
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"/>
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"/>
2255 <parameter name=
"len"
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*"/>
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"/>
2274 <parameter name=
"len"
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*"/>
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"/>
2292 <method name=
"randomize"
2293 c:
identifier=
"hkl_parameter_list_randomize"
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"/>
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"/>
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"/>
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"/>
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**"/>
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"/>
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"/>
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"/>
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**"/>
2348 <method name=
"set_values_unit_binding"
2349 c:
identifier=
"hkl_parameter_list_set_values_unit_binding"
2350 shadows=
"set_values_unit"
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"/>
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"/>
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"/>
2371 <record name=
"ParameterListOperations"
2372 c:
type=
"HklParameterListOperations"
2375 <record name=
"ParameterOperations"
2376 c:
type=
"HklParameterOperations"
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">
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"/>
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"/>
2402 <parameter name=
"q" transfer-ownership=
"none">
2403 <doc xml:
whitespace=
"preserve">the second #HklQuaternion
</doc>
2404 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
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"/>
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*"/>
2421 c:
identifier=
"hkl_quaternion_free"
2423 <return-value transfer-ownership=
"none">
2424 <type name=
"none" c:
type=
"void"/>
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"/>
2433 <parameter name=
"a" transfer-ownership=
"none">
2434 <doc xml:
whitespace=
"preserve">the
1st element value
</doc>
2435 <type name=
"gdouble" c:
type=
"double"/>
2437 <parameter name=
"b" transfer-ownership=
"none">
2438 <doc xml:
whitespace=
"preserve">the
2nd element value
</doc>
2439 <type name=
"gdouble" c:
type=
"double"/>
2441 <parameter name=
"c" transfer-ownership=
"none">
2442 <doc xml:
whitespace=
"preserve">the
3rd element value
</doc>
2443 <type name=
"gdouble" c:
type=
"double"/>
2445 <parameter name=
"d" transfer-ownership=
"none">
2446 <doc xml:
whitespace=
"preserve">the
4th element value
</doc>
2447 <type name=
"gdouble" c:
type=
"double"/>
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"/>
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"/>
2462 <parameter name=
"v" transfer-ownership=
"none">
2463 <doc xml:
whitespace=
"preserve">the axe of rotation
</doc>
2464 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
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*"/>
2481 <method name=
"minus_quaternion"
2482 c:
identifier=
"hkl_quaternion_minus_quaternion">
2483 <doc xml:
whitespace=
"preserve">substract two #HklQuaternions
2485 <return-value transfer-ownership=
"none">
2486 <type name=
"none" c:
type=
"void"/>
2489 <parameter name=
"q" transfer-ownership=
"none">
2490 <doc xml:
whitespace=
"preserve">the #HklQuaternion to substract
</doc>
2491 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
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"/>
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"/>
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*"/>
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"/>
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*"/>
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*"/>
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$
2542 a^
2+b^
2-c^
2-d^
2 & 2bc-
2ad
& 2ac+
2bd\\
2543 2ad+
2bc
& a^
2-b^
2+c^
2-d^
2 & 2cd-
2ab\\
2544 2bd-
2ac
& 2ab+
2cd
& a^
2-b^
2-c^
2+d^
2
2548 Todo: optimize
</doc>
2549 <return-value transfer-ownership=
"none">
2550 <type name=
"none" c:
type=
"void"/>
2553 <parameter name=
"m" transfer-ownership=
"none">
2554 <doc xml:
whitespace=
"preserve">the #HklMatrix return.
</doc>
2555 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
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"/>
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*"/>
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*"/>
2576 <constant name=
"SOURCE_DEFAULT_WAVE_LENGTH"
2578 c:
type=
"HKL_SOURCE_DEFAULT_WAVE_LENGTH">
2579 <type name=
"gdouble" c:
type=
"gdouble"/>
2581 <record name=
"Sample"
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*"/>
2589 <field name=
"type" writable=
"1">
2590 <type name=
"SampleType" c:
type=
"HklSampleType"/>
2592 <field name=
"lattice" writable=
"1">
2593 <type name=
"Lattice" c:
type=
"HklLattice*"/>
2595 <field name=
"U" writable=
"1">
2596 <type name=
"Matrix" c:
type=
"HklMatrix"/>
2598 <field name=
"UB" writable=
"1">
2599 <type name=
"Matrix" c:
type=
"HklMatrix"/>
2601 <field name=
"ux" writable=
"1">
2602 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2604 <field name=
"uy" writable=
"1">
2605 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2607 <field name=
"uz" writable=
"1">
2608 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2610 <field name=
"reflections" writable=
"1">
2611 <type name=
"SampleReflection" c:
type=
"HklSampleReflection**"/>
2613 <field name=
"reflections_len" writable=
"1">
2614 <type name=
"gulong" c:
type=
"size_t"/>
2616 <constructor name=
"new" c:
identifier=
"hkl_sample_new">
2617 <doc xml:
whitespace=
"preserve">constructor
2620 <return-value transfer-ownership=
"full">
2621 <type name=
"Sample" c:
type=
"HklSample*"/>
2624 <parameter name=
"name" transfer-ownership=
"none">
2625 <type name=
"utf8" c:
type=
"char*"/>
2627 <parameter name=
"type" transfer-ownership=
"none">
2628 <type name=
"SampleType" c:
type=
"HklSampleType"/>
2632 <method name=
"add_reflection"
2633 c:
identifier=
"hkl_sample_add_reflection"
2635 <doc xml:
whitespace=
"preserve">add a reflection to the sample
2638 <return-value transfer-ownership=
"full">
2639 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
2642 <parameter name=
"geometry" transfer-ownership=
"none">
2643 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
2645 <parameter name=
"detector" transfer-ownership=
"none">
2646 <type name=
"Detector" c:
type=
"HklDetector*"/>
2648 <parameter name=
"h" transfer-ownership=
"none">
2649 <type name=
"gdouble" c:
type=
"double"/>
2651 <parameter name=
"k" transfer-ownership=
"none">
2652 <type name=
"gdouble" c:
type=
"double"/>
2654 <parameter name=
"l" transfer-ownership=
"none">
2655 <type name=
"gdouble" c:
type=
"double"/>
2659 <method name=
"affine"
2660 c:
identifier=
"hkl_sample_affine"
2662 <doc xml:
whitespace=
"preserve">affine the sample
2665 <return-value transfer-ownership=
"none">
2666 <type name=
"gdouble" c:
type=
"double"/>
2669 <method name=
"compute_UB_busing_levy"
2670 c:
identifier=
"hkl_sample_compute_UB_busing_levy"
2672 <doc xml:
whitespace=
"preserve">compute the UB matrix using the Busing and Levy method
2676 <return-value transfer-ownership=
"none">
2677 <type name=
"gint" c:
type=
"int"/>
2680 <parameter name=
"idx1" transfer-ownership=
"none">
2681 <type name=
"gulong" c:
type=
"size_t"/>
2683 <parameter name=
"idx2" transfer-ownership=
"none">
2684 <type name=
"gulong" c:
type=
"size_t"/>
2688 <method name=
"del_reflection"
2689 c:
identifier=
"hkl_sample_del_reflection"
2691 <doc xml:
whitespace=
"preserve">delete the idx reflection
2694 <return-value transfer-ownership=
"none">
2695 <type name=
"gint" c:
type=
"int"/>
2698 <parameter name=
"idx" transfer-ownership=
"none">
2699 <type name=
"gulong" c:
type=
"size_t"/>
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"/>
2709 <method name=
"get_UB"
2710 c:
identifier=
"hkl_sample_get_UB"
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"/>
2717 <parameter name=
"UB"
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*"/>
2726 <method name=
"get_ith_reflection"
2727 c:
identifier=
"hkl_sample_get_ith_reflection"
2729 <doc xml:
whitespace=
"preserve">get the ith reflection
2732 <return-value transfer-ownership=
"full">
2733 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
2736 <parameter name=
"idx" transfer-ownership=
"none">
2737 <type name=
"gulong" c:
type=
"size_t"/>
2741 <method name=
"get_reflection_mesured_angle"
2742 c:
identifier=
"hkl_sample_get_reflection_mesured_angle"
2744 <doc xml:
whitespace=
"preserve">get the mesured angles between two reflections
2747 <return-value transfer-ownership=
"none">
2748 <type name=
"gdouble" c:
type=
"double"/>
2751 <parameter name=
"idx1" transfer-ownership=
"none">
2752 <type name=
"gulong" c:
type=
"size_t"/>
2754 <parameter name=
"idx2" transfer-ownership=
"none">
2755 <type name=
"gulong" c:
type=
"size_t"/>
2759 <method name=
"get_reflection_theoretical_angle"
2760 c:
identifier=
"hkl_sample_get_reflection_theoretical_angle"
2762 <doc xml:
whitespace=
"preserve">get the theoretical angles between two reflections
2765 <return-value transfer-ownership=
"none">
2766 <type name=
"gdouble" c:
type=
"double"/>
2769 <parameter name=
"idx1" transfer-ownership=
"none">
2770 <type name=
"gulong" c:
type=
"size_t"/>
2772 <parameter name=
"idx2" transfer-ownership=
"none">
2773 <type name=
"gulong" c:
type=
"size_t"/>
2777 <method name=
"new_copy"
2778 c:
identifier=
"hkl_sample_new_copy"
2780 <doc xml:
whitespace=
"preserve">copy constructor
2783 <return-value transfer-ownership=
"full">
2784 <type name=
"Sample" c:
type=
"HklSample*"/>
2787 <method name=
"set_UB"
2788 c:
identifier=
"hkl_sample_set_UB"
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 -
> U = UB * B^-
1</doc>
2794 <return-value transfer-ownership=
"none">
2795 <type name=
"gdouble" c:
type=
"double"/>
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*"/>
2804 <method name=
"set_U_from_euler"
2805 c:
identifier=
"hkl_sample_set_U_from_euler"
2807 <doc xml:
whitespace=
"preserve">set the U matrix using the eulerians angles
2811 <return-value transfer-ownership=
"none">
2812 <type name=
"gint" c:
type=
"int"/>
2815 <parameter name=
"x" transfer-ownership=
"none">
2816 <type name=
"gdouble" c:
type=
"double"/>
2818 <parameter name=
"y" transfer-ownership=
"none">
2819 <type name=
"gdouble" c:
type=
"double"/>
2821 <parameter name=
"z" transfer-ownership=
"none">
2822 <type name=
"gdouble" c:
type=
"double"/>
2826 <method name=
"set_lattice" c:
identifier=
"hkl_sample_set_lattice">
2827 <doc xml:
whitespace=
"preserve">set the lattic eparameters of the sample
2830 <return-value transfer-ownership=
"none">
2831 <type name=
"gint" c:
type=
"int"/>
2834 <parameter name=
"a" transfer-ownership=
"none">
2835 <type name=
"gdouble" c:
type=
"double"/>
2837 <parameter name=
"b" transfer-ownership=
"none">
2838 <type name=
"gdouble" c:
type=
"double"/>
2840 <parameter name=
"c" transfer-ownership=
"none">
2841 <type name=
"gdouble" c:
type=
"double"/>
2843 <parameter name=
"alpha" transfer-ownership=
"none">
2844 <type name=
"gdouble" c:
type=
"double"/>
2846 <parameter name=
"beta" transfer-ownership=
"none">
2847 <type name=
"gdouble" c:
type=
"double"/>
2849 <parameter name=
"gamma" transfer-ownership=
"none">
2850 <type name=
"gdouble" c:
type=
"double"/>
2854 <method name=
"set_name"
2855 c:
identifier=
"hkl_sample_set_name"
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"/>
2862 <parameter name=
"name" transfer-ownership=
"none">
2863 <type name=
"utf8" c:
type=
"char*"/>
2867 <function name=
"fprintf"
2868 c:
identifier=
"hkl_sample_fprintf"
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"/>
2875 <parameter name=
"f" transfer-ownership=
"none">
2876 <type name=
"gpointer" c:
type=
"FILE*"/>
2878 <parameter name=
"self" transfer-ownership=
"none">
2879 <type name=
"Sample" c:
type=
"HklSample*"/>
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**"/>
2892 <field name=
"len" writable=
"1">
2893 <type name=
"gulong" c:
type=
"size_t"/>
2895 <field name=
"alloc" writable=
"1">
2896 <type name=
"gulong" c:
type=
"size_t"/>
2898 <field name=
"current" writable=
"1">
2899 <type name=
"Sample" c:
type=
"HklSample*"/>
2901 <constructor name=
"new"
2902 c:
identifier=
"hkl_sample_list_new"
2904 <doc xml:
whitespace=
"preserve">constructor
2907 <return-value transfer-ownership=
"full">
2908 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
2911 <method name=
"append"
2912 c:
identifier=
"hkl_sample_list_append"
2914 <doc xml:
whitespace=
"preserve">append a sample to a sample list
2917 <return-value transfer-ownership=
"full">
2918 <type name=
"Sample" c:
type=
"HklSample*"/>
2921 <parameter name=
"sample" transfer-ownership=
"none">
2922 <type name=
"Sample" c:
type=
"HklSample*"/>
2926 <method name=
"clear"
2927 c:
identifier=
"hkl_sample_list_clear"
2929 <doc xml:
whitespace=
"preserve">clear a sample list
</doc>
2930 <return-value transfer-ownership=
"none">
2931 <type name=
"none" c:
type=
"void"/>
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"/>
2940 <parameter name=
"sample" transfer-ownership=
"none">
2941 <type name=
"Sample" c:
type=
"HklSample*"/>
2946 c:
identifier=
"hkl_sample_list_free"
2948 <doc xml:
whitespace=
"preserve">destructor
</doc>
2949 <return-value transfer-ownership=
"none">
2950 <type name=
"none" c:
type=
"void"/>
2953 <method name=
"get_by_name"
2954 c:
identifier=
"hkl_sample_list_get_by_name"
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*"/>
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*"/>
2971 <method name=
"get_idx_from_name"
2972 c:
identifier=
"hkl_sample_list_get_idx_from_name"
2974 <doc xml:
whitespace=
"preserve">find the named @name #HklSample in the #HklSampleList and return
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"/>
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*"/>
2987 <method name=
"get_ith"
2988 c:
identifier=
"hkl_sample_list_get_ith"
2990 <doc xml:
whitespace=
"preserve">get the ith sample of the sample list
2994 <return-value transfer-ownership=
"full">
2995 <type name=
"Sample" c:
type=
"HklSample*"/>
2998 <parameter name=
"idx" transfer-ownership=
"none">
2999 <type name=
"gulong" c:
type=
"size_t"/>
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
3008 <return-value transfer-ownership=
"none">
3009 <type name=
"gulong" c:
type=
"size_t"/>
3012 <method name=
"new_copy"
3013 c:
identifier=
"hkl_sample_list_new_copy"
3015 <doc xml:
whitespace=
"preserve">copy constructor
3018 <return-value transfer-ownership=
"full">
3019 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
3022 <method name=
"select_current"
3023 c:
identifier=
"hkl_sample_list_select_current"
3025 <doc xml:
whitespace=
"preserve">select the current sample of the sample list
3028 <return-value transfer-ownership=
"none">
3029 <type name=
"gint" c:
type=
"int"/>
3032 <parameter name=
"name" transfer-ownership=
"none">
3033 <type name=
"utf8" c:
type=
"char*"/>
3037 <function name=
"fprintf"
3038 c:
identifier=
"hkl_sample_list_fprintf"
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"/>
3045 <parameter name=
"f" transfer-ownership=
"none">
3046 <type name=
"gpointer" c:
type=
"FILE*"/>
3048 <parameter name=
"self" transfer-ownership=
"none">
3049 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
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*"/>
3062 <field name=
"detector" writable=
"1">
3063 <type name=
"Detector" c:
type=
"HklDetector"/>
3065 <field name=
"hkl" writable=
"1">
3066 <type name=
"Vector" c:
type=
"HklVector"/>
3068 <field name=
"_hkl" writable=
"1">
3069 <type name=
"Vector" c:
type=
"HklVector"/>
3071 <field name=
"flag" writable=
"1">
3072 <type name=
"gint" c:
type=
"int"/>
3074 <constructor name=
"new"
3075 c:
identifier=
"hkl_sample_reflection_new"
3077 <doc xml:
whitespace=
"preserve">constructeur
3080 <return-value transfer-ownership=
"full">
3081 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
3084 <parameter name=
"geometry" transfer-ownership=
"none">
3085 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
3087 <parameter name=
"detector" transfer-ownership=
"none">
3088 <type name=
"Detector" c:
type=
"HklDetector*"/>
3090 <parameter name=
"h" transfer-ownership=
"none">
3091 <type name=
"gdouble" c:
type=
"double"/>
3093 <parameter name=
"k" transfer-ownership=
"none">
3094 <type name=
"gdouble" c:
type=
"double"/>
3096 <parameter name=
"l" transfer-ownership=
"none">
3097 <type name=
"gdouble" c:
type=
"double"/>
3102 c:
identifier=
"hkl_sample_reflection_free"
3104 <doc xml:
whitespace=
"preserve">destructor
</doc>
3105 <return-value transfer-ownership=
"none">
3106 <type name=
"none" c:
type=
"void"/>
3109 <method name=
"new_copy"
3110 c:
identifier=
"hkl_sample_reflection_new_copy"
3112 <doc xml:
whitespace=
"preserve">copy constructor
3115 <return-value transfer-ownership=
"full">
3116 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
3119 <method name=
"set_flag"
3120 c:
identifier=
"hkl_sample_reflection_set_flag"
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"/>
3127 <parameter name=
"flag" transfer-ownership=
"none">
3128 <type name=
"gint" c:
type=
"int"/>
3132 <method name=
"set_geometry"
3133 c:
identifier=
"hkl_sample_reflection_set_geometry"
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"/>
3140 <parameter name=
"geometry" transfer-ownership=
"none">
3141 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
3145 <method name=
"set_hkl"
3146 c:
identifier=
"hkl_sample_reflection_set_hkl"
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"/>
3153 <parameter name=
"h" transfer-ownership=
"none">
3154 <type name=
"gdouble" c:
type=
"double"/>
3156 <parameter name=
"k" transfer-ownership=
"none">
3157 <type name=
"gdouble" c:
type=
"double"/>
3159 <parameter name=
"l" transfer-ownership=
"none">
3160 <type name=
"gdouble" c:
type=
"double"/>
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"
3171 c:
identifier=
"HKL_SAMPLE_TYPE_MONOCRYSTAL"
3172 glib:
nick=
"monocrystal"/>
3174 <record name=
"Source"
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"/>
3182 <field name=
"direction" writable=
"1">
3183 <type name=
"Vector" c:
type=
"HklVector"/>
3185 <method name=
"cmp" c:
identifier=
"hkl_source_cmp" introspectable=
"0">
3186 <doc xml:
whitespace=
"preserve">compare two sources
3189 <return-value transfer-ownership=
"none">
3190 <type name=
"gint" c:
type=
"int"/>
3193 <parameter name=
"s" transfer-ownership=
"none">
3194 <doc xml:
whitespace=
"preserve">2nd #Hklsource
</doc>
3195 <type name=
"Source" c:
type=
"HklSource*"/>
3199 <method name=
"compute_ki"
3200 c:
identifier=
"hkl_source_compute_ki"
3202 <doc xml:
whitespace=
"preserve">compute the ki hkl_vector
</doc>
3203 <return-value transfer-ownership=
"none">
3204 <type name=
"none" c:
type=
"void"/>
3207 <parameter name=
"ki"
3209 caller-allocates=
"1"
3210 transfer-ownership=
"none">
3211 <type name=
"Vector" c:
type=
"HklVector*"/>
3215 <method name=
"dup" c:
identifier=
"hkl_source_dup">
3216 <doc xml:
whitespace=
"preserve">copy constructor
3220 <return-value transfer-ownership=
"full">
3221 <type name=
"Source" c:
type=
"HklSource*"/>
3224 <method name=
"free" c:
identifier=
"hkl_source_free">
3225 <doc xml:
whitespace=
"preserve">destructor
3227 <return-value transfer-ownership=
"none">
3228 <type name=
"none" c:
type=
"void"/>
3231 <method name=
"get_wavelength"
3232 c:
identifier=
"hkl_source_get_wavelength"
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
3265 <function name=
"fprintf"
3266 c:
identifier=
"hkl_source_fprintf"
3268 <doc xml:
whitespace=
"preserve">printf the source
</doc>
3269 <return-value transfer-ownership=
"none">
3270 <type name=
"none" c:
type=
"void"/>
3273 <parameter name=
"f" transfer-ownership=
"none">
3274 <type name=
"gpointer" c:
type=
"FILE*"/>
3276 <parameter name=
"self" transfer-ownership=
"none">
3277 <type name=
"Source" c:
type=
"HklSource*"/>
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"/>
3290 <field name=
"name" writable=
"1">
3291 <type name=
"utf8" c:
type=
"char*"/>
3293 <field name=
"repr" writable=
"1">
3294 <type name=
"utf8" c:
type=
"char*"/>
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"/>
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*"/>
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*"/>
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"/>
3325 <parameter name=
"unit" transfer-ownership=
"none">
3326 <type name=
"Unit" c:
type=
"HklUnit*"/>
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"/>
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"
3343 c:
identifier=
"HKL_UNIT_ANGLE_DEG"
3344 glib:
nick=
"angle-deg"/>
3345 <member name=
"angle_rad"
3347 c:
identifier=
"HKL_UNIT_ANGLE_RAD"
3348 glib:
nick=
"angle-rad"/>
3349 <member name=
"length_nm"
3351 c:
identifier=
"HKL_UNIT_LENGTH_NM"
3352 glib:
nick=
"length-nm"/>
3354 <record name=
"Vector"
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"/>
3364 <method name=
"add_vector"
3365 c:
identifier=
"hkl_vector_add_vector"
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"/>
3372 <parameter name=
"vector" transfer-ownership=
"none">
3373 <doc xml:
whitespace=
"preserve">the #hklvector to add
</doc>
3374 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
3385 <parameter name=
"vector" transfer-ownership=
"none">
3386 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3387 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
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*"/>
3405 <method name=
"div_double"
3406 c:
identifier=
"hkl_vector_div_double"
3408 <doc xml:
whitespace=
"preserve">divide an #HklVector by constant.
</doc>
3409 <return-value transfer-ownership=
"none">
3410 <type name=
"none" c:
type=
"void"/>
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"/>
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*"/>
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"/>
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"/>
3438 <parameter name=
"x" transfer-ownership=
"none">
3439 <doc xml:
whitespace=
"preserve">the first coordinate value
</doc>
3440 <type name=
"gdouble" c:
type=
"double"/>
3442 <parameter name=
"y" transfer-ownership=
"none">
3443 <doc xml:
whitespace=
"preserve">the second coordinate value
</doc>
3444 <type name=
"gdouble" c:
type=
"double"/>
3446 <parameter name=
"z" transfer-ownership=
"none">
3447 <doc xml:
whitespace=
"preserve">the third coordinate value
</doc>
3448 <type name=
"gdouble" c:
type=
"double"/>
3452 <method name=
"is_colinear"
3453 c:
identifier=
"hkl_vector_is_colinear"
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"/>
3461 <parameter name=
"vector" transfer-ownership=
"none">
3462 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3463 <type name=
"Vector" c:
type=
"HklVector*"/>
3467 <method name=
"is_null"
3468 c:
identifier=
"hkl_vector_is_null"
3470 <doc xml:
whitespace=
"preserve">check if all the coordinates of an #HklVector are null.
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"/>
3479 <method name=
"is_opposite"
3480 c:
identifier=
"hkl_vector_is_opposite"
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"/>
3488 <parameter name=
"vector" transfer-ownership=
"none">
3489 <type name=
"Vector" c:
type=
"HklVector*"/>
3493 <method name=
"minus_vector"
3494 c:
identifier=
"hkl_vector_minus_vector"
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"/>
3501 <parameter name=
"vector" transfer-ownership=
"none">
3502 <doc xml:
whitespace=
"preserve">the #hklvector to substract
</doc>
3503 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
3514 <method name=
"normalize"
3515 c:
identifier=
"hkl_vector_normalize"
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"/>
3523 <method name=
"oriented_angle"
3524 c:
identifier=
"hkl_vector_oriented_angle"
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"/>
3535 <parameter name=
"vector" transfer-ownership=
"none">
3536 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3537 <type name=
"Vector" c:
type=
"HklVector*"/>
3539 <parameter name=
"ref" transfer-ownership=
"none">
3540 <doc xml:
whitespace=
"preserve">the reference #HklVector
</doc>
3541 <type name=
"Vector" c:
type=
"HklVector*"/>
3545 <method name=
"oriented_angle_points"
3546 c:
identifier=
"hkl_vector_oriented_angle_points"
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"/>
3557 <parameter name=
"p2" transfer-ownership=
"none">
3558 <doc xml:
whitespace=
"preserve">the third point
</doc>
3559 <type name=
"Vector" c:
type=
"HklVector*"/>
3561 <parameter name=
"p3" transfer-ownership=
"none">
3562 <type name=
"Vector" c:
type=
"HklVector*"/>
3564 <parameter name=
"ref" transfer-ownership=
"none">
3565 <doc xml:
whitespace=
"preserve">the reference #HklVector
</doc>
3566 <type name=
"Vector" c:
type=
"HklVector*"/>
3570 <method name=
"project_on_plan"
3571 c:
identifier=
"hkl_vector_project_on_plan"
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"/>
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*"/>
3585 <method name=
"project_on_plan_with_point"
3586 c:
identifier=
"hkl_vector_project_on_plan_with_point"
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"/>
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*"/>
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*"/>
3603 <method name=
"randomize"
3604 c:
identifier=
"hkl_vector_randomize"
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"/>
3612 <method name=
"randomize_vector"
3613 c:
identifier=
"hkl_vector_randomize_vector"
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"/>
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*"/>
3627 <method name=
"randomize_vector_vector"
3628 c:
identifier=
"hkl_vector_randomize_vector_vector"
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"/>
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*"/>
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*"/>
3646 <method name=
"rotated_around_line"
3647 c:
identifier=
"hkl_vector_rotated_around_line"
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"/>
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"/>
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*"/>
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*"/>
3670 <method name=
"rotated_around_vector"
3671 c:
identifier=
"hkl_vector_rotated_around_vector"
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"/>
3678 <parameter name=
"axe" transfer-ownership=
"none">
3679 <doc xml:
whitespace=
"preserve">the axe of rotation
</doc>
3680 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
3688 <method name=
"rotated_quaternion"
3689 c:
identifier=
"hkl_vector_rotated_quaternion"
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"/>
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*"/>
3702 <method name=
"scalar_product"
3703 c:
identifier=
"hkl_vector_scalar_product"
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"/>
3711 <parameter name=
"vector" transfer-ownership=
"none">
3712 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3713 <type name=
"Vector" c:
type=
"HklVector*"/>
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"/>
3724 <method name=
"times_double"
3725 c:
identifier=
"hkl_vector_times_double"
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"/>
3732 <parameter name=
"d" transfer-ownership=
"none">
3733 <doc xml:
whitespace=
"preserve">the multiply factor
</doc>
3734 <type name=
"gdouble" c:
type=
"double"/>
3738 <method name=
"times_matrix"
3739 c:
identifier=
"hkl_vector_times_matrix"
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"/>
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*"/>
3753 <method name=
"times_vector"
3754 c:
identifier=
"hkl_vector_times_vector"
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"/>
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*"/>
3768 <method name=
"vectorial_product"
3769 c:
identifier=
"hkl_vector_vectorial_product"
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"/>
3776 <parameter name=
"vector" transfer-ownership=
"none">
3777 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3778 <type name=
"Vector" c:
type=
"HklVector*"/>
3782 <function name=
"fprintf"
3783 c:
identifier=
"hkl_vector_fprintf"
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"/>
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*"/>
3794 <parameter name=
"self" transfer-ownership=
"none">
3795 <doc xml:
whitespace=
"preserve">the #HklVector to print.
</doc>
3796 <type name=
"Vector" c:
type=
"HklVector*"/>
3801 <function name=
"detector_fprintf"
3802 c:
identifier=
"hkl_detector_fprintf"
3803 moved-to=
"Detector.fprintf"
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"/>
3810 <parameter name=
"f" transfer-ownership=
"none">
3811 <type name=
"gpointer" c:
type=
"FILE*"/>
3813 <parameter name=
"self" transfer-ownership=
"none">
3814 <type name=
"Detector" c:
type=
"HklDetector*"/>
3818 <function name=
"engine_fprintf"
3819 c:
identifier=
"hkl_engine_fprintf"
3820 moved-to=
"Engine.fprintf"
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"/>
3827 <parameter name=
"f" transfer-ownership=
"none">
3828 <doc xml:
whitespace=
"preserve">the FILE
</doc>
3829 <type name=
"gpointer" c:
type=
"FILE*"/>
3831 <parameter name=
"self" transfer-ownership=
"none">
3832 <doc xml:
whitespace=
"preserve">the HklEngine
</doc>
3833 <type name=
"Engine" c:
type=
"HklEngine*"/>
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*"/>
3845 <parameter name=
"config" transfer-ownership=
"none">
3846 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
3850 <function name=
"engine_list_fprintf"
3851 c:
identifier=
"hkl_engine_list_fprintf"
3852 moved-to=
"EngineList.fprintf"
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"/>
3859 <parameter name=
"f" transfer-ownership=
"none">
3860 <doc xml:
whitespace=
"preserve">the File
</doc>
3861 <type name=
"gpointer" c:
type=
"FILE*"/>
3863 <parameter name=
"self" transfer-ownership=
"none">
3864 <doc xml:
whitespace=
"preserve">the list
</doc>
3865 <type name=
"EngineList" c:
type=
"HklEngineList*"/>
3869 <function name=
"error_clear"
3870 c:
identifier=
"hkl_error_clear"
3871 moved-to=
"Error.clear"
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"/>
3879 <parameter name=
"err" transfer-ownership=
"none">
3880 <doc xml:
whitespace=
"preserve">a #HklError return location
</doc>
3881 <type name=
"Error" c:
type=
"HklError**"/>
3885 <function name=
"error_prefix"
3886 c:
identifier=
"hkl_error_prefix"
3887 moved-to=
"Error.prefix"
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
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"/>
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**"/>
3905 <parameter name=
"format" transfer-ownership=
"none">
3906 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
3907 <type name=
"utf8" c:
type=
"char*"/>
3909 <parameter transfer-ownership=
"none">
3915 <function name=
"error_propagate"
3916 c:
identifier=
"hkl_error_propagate"
3917 moved-to=
"Error.propagate"
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"/>
3925 <parameter name=
"dest" transfer-ownership=
"none">
3926 <doc xml:
whitespace=
"preserve">error return location
</doc>
3927 <type name=
"Error" c:
type=
"HklError**"/>
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*"/>
3935 <function name=
"error_propagate_prefixed"
3936 c:
identifier=
"hkl_error_propagate_prefixed"
3937 moved-to=
"Error.propagate_prefixed"
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"/>
3947 <parameter name=
"dest" transfer-ownership=
"none">
3948 <doc xml:
whitespace=
"preserve">error return location
</doc>
3949 <type name=
"Error" c:
type=
"HklError**"/>
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*"/>
3955 <parameter name=
"format" transfer-ownership=
"none">
3956 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
3957 <type name=
"utf8" c:
type=
"char*"/>
3959 <parameter transfer-ownership=
"none">
3965 <function name=
"error_set"
3966 c:
identifier=
"hkl_error_set"
3967 moved-to=
"Error.set"
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"/>
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**"/>
3979 <parameter name=
"format" transfer-ownership=
"none">
3980 <doc xml:
whitespace=
"preserve">printf()-style format
</doc>
3981 <type name=
"utf8" c:
type=
"char*"/>
3983 <parameter transfer-ownership=
"none">
3989 <function name=
"error_set_literal"
3990 c:
identifier=
"hkl_error_set_literal"
3991 moved-to=
"Error.set_literal"
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"/>
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**"/>
4007 <parameter name=
"message" transfer-ownership=
"none">
4008 <doc xml:
whitespace=
"preserve">error message
</doc>
4009 <type name=
"utf8" c:
type=
"char*"/>
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*"/>
4021 <parameter name=
"type" transfer-ownership=
"none">
4022 <type name=
"GeometryType" c:
type=
"HklGeometryType"/>
4026 <function name=
"geometry_fprintf"
4027 c:
identifier=
"hkl_geometry_fprintf"
4028 moved-to=
"Geometry.fprintf"
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"/>
4035 <parameter name=
"file" transfer-ownership=
"none">
4036 <type name=
"gpointer" c:
type=
"FILE*"/>
4038 <parameter name=
"self" transfer-ownership=
"none">
4039 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
4043 <function name=
"geometry_list_fprintf"
4044 c:
identifier=
"hkl_geometry_list_fprintf"
4045 moved-to=
"GeometryList.fprintf"
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"/>
4052 <parameter name=
"f" transfer-ownership=
"none">
4053 <type name=
"gpointer" c:
type=
"FILE*"/>
4055 <parameter name=
"self" transfer-ownership=
"none">
4056 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
4060 <function name=
"lattice_fprintf"
4061 c:
identifier=
"hkl_lattice_fprintf"
4062 moved-to=
"Lattice.fprintf"
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"/>
4069 <parameter name=
"f" transfer-ownership=
"none">
4070 <type name=
"gpointer" c:
type=
"FILE*"/>
4072 <parameter name=
"self" transfer-ownership=
"none">
4073 <type name=
"Lattice" c:
type=
"HklLattice*"/>
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"/>
4085 <parameter name=
"file" transfer-ownership=
"none">
4086 <doc xml:
whitespace=
"preserve">the FILE stream
</doc>
4087 <type name=
"gpointer" c:
type=
"FILE*"/>
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*"/>
4095 <function name=
"mode_fprintf"
4096 c:
identifier=
"hkl_mode_fprintf"
4097 moved-to=
"Mode.fprintf"
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"/>
4104 <parameter name=
"f" transfer-ownership=
"none">
4105 <type name=
"gpointer" c:
type=
"FILE*"/>
4107 <parameter name=
"self" transfer-ownership=
"none">
4108 <type name=
"Mode" c:
type=
"HklMode*"/>
4112 <function name=
"parameter_fprintf"
4113 c:
identifier=
"hkl_parameter_fprintf"
4114 moved-to=
"Parameter.fprintf"
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"/>
4121 <parameter name=
"f" transfer-ownership=
"none">
4122 <type name=
"gpointer" c:
type=
"FILE*"/>
4124 <parameter name=
"self" transfer-ownership=
"none">
4125 <type name=
"Parameter" c:
type=
"HklParameter*"/>
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"/>
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*"/>
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*"/>
4147 <function name=
"sample_fprintf"
4148 c:
identifier=
"hkl_sample_fprintf"
4149 moved-to=
"Sample.fprintf"
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"/>
4156 <parameter name=
"f" transfer-ownership=
"none">
4157 <type name=
"gpointer" c:
type=
"FILE*"/>
4159 <parameter name=
"self" transfer-ownership=
"none">
4160 <type name=
"Sample" c:
type=
"HklSample*"/>
4164 <function name=
"sample_list_fprintf"
4165 c:
identifier=
"hkl_sample_list_fprintf"
4166 moved-to=
"SampleList.fprintf"
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"/>
4173 <parameter name=
"f" transfer-ownership=
"none">
4174 <type name=
"gpointer" c:
type=
"FILE*"/>
4176 <parameter name=
"self" transfer-ownership=
"none">
4177 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
4181 <function name=
"source_fprintf"
4182 c:
identifier=
"hkl_source_fprintf"
4183 moved-to=
"Source.fprintf"
4185 <doc xml:
whitespace=
"preserve">printf the source
</doc>
4186 <return-value transfer-ownership=
"none">
4187 <type name=
"none" c:
type=
"void"/>
4190 <parameter name=
"f" transfer-ownership=
"none">
4191 <type name=
"gpointer" c:
type=
"FILE*"/>
4193 <parameter name=
"self" transfer-ownership=
"none">
4194 <type name=
"Source" c:
type=
"HklSource*"/>
4198 <function name=
"vector_fprintf"
4199 c:
identifier=
"hkl_vector_fprintf"
4200 moved-to=
"Vector.fprintf"
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"/>
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*"/>
4211 <parameter name=
"self" transfer-ownership=
"none">
4212 <doc xml:
whitespace=
"preserve">the #HklVector to print.
</doc>
4213 <type name=
"Vector" c:
type=
"HklVector*"/>