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 <constructor name=
"new" c:
identifier=
"hkl_axis_new">
34 <return-value transfer-ownership=
"full">
35 <type name=
"Axis" c:
type=
"HklAxis*"/>
38 <parameter name=
"name" transfer-ownership=
"none">
39 <type name=
"utf8" c:
type=
"char*"/>
41 <parameter name=
"axis_v" transfer-ownership=
"none">
42 <type name=
"Vector" c:
type=
"HklVector*"/>
46 <method name=
"free" c:
identifier=
"hkl_axis_free">
47 <return-value transfer-ownership=
"none">
48 <type name=
"none" c:
type=
"void"/>
51 <method name=
"init" c:
identifier=
"hkl_axis_init">
52 <return-value transfer-ownership=
"none">
53 <type name=
"none" c:
type=
"void"/>
56 <parameter name=
"name" transfer-ownership=
"none">
57 <type name=
"utf8" c:
type=
"char*"/>
59 <parameter name=
"axis_v" transfer-ownership=
"none">
60 <type name=
"Vector" c:
type=
"HklVector*"/>
64 <method name=
"new_copy" c:
identifier=
"hkl_axis_new_copy">
65 <return-value transfer-ownership=
"full">
66 <type name=
"Axis" c:
type=
"HklAxis*"/>
69 <method name=
"set_value_smallest_in_range"
70 c:
identifier=
"hkl_axis_set_value_smallest_in_range">
71 <return-value transfer-ownership=
"none">
72 <type name=
"none" c:
type=
"void"/>
75 <function name=
"fprintf" c:
identifier=
"hkl_axis_fprintf">
76 <return-value transfer-ownership=
"none">
77 <type name=
"none" c:
type=
"void"/>
80 <parameter name=
"f" transfer-ownership=
"none">
81 <type name=
"gpointer" c:
type=
"FILE*"/>
83 <parameter name=
"self" transfer-ownership=
"none">
84 <type name=
"Axis" c:
type=
"HklAxis*"/>
89 <record name=
"Detector"
91 glib:
type-name=
"HklDetector"
92 glib:
get-type=
"hkl_detector_get_type"
93 c:
symbol-prefix=
"detector">
94 <field name=
"idx" writable=
"1">
95 <type name=
"gulong" c:
type=
"size_t"/>
97 <field name=
"holder" writable=
"1">
98 <type name=
"Holder" c:
type=
"HklHolder*"/>
100 <constructor name=
"factory_new" c:
identifier=
"hkl_detector_factory_new">
101 <doc xml:
whitespace=
"preserve">Detector factory
104 <return-value transfer-ownership=
"full">
105 <type name=
"Detector" c:
type=
"HklDetector*"/>
108 <parameter name=
"type" transfer-ownership=
"none">
109 <type name=
"DetectorType" c:
type=
"HklDetectorType"/>
113 <constructor name=
"new"
114 c:
identifier=
"hkl_detector_new"
116 <doc xml:
whitespace=
"preserve">Create a new default #HklDetector
119 <return-value transfer-ownership=
"full">
120 <type name=
"Detector" c:
type=
"HklDetector*"/>
123 <method name=
"attach_to_holder"
124 c:
identifier=
"hkl_detector_attach_to_holder"
126 <doc xml:
whitespace=
"preserve">attach the #HklDetector to an #HklHolder
</doc>
127 <return-value transfer-ownership=
"none">
128 <type name=
"none" c:
type=
"void"/>
131 <parameter name=
"holder" transfer-ownership=
"none">
132 <type name=
"Holder" c:
type=
"HklHolder*"/>
136 <method name=
"compute_kf"
137 c:
identifier=
"hkl_detector_compute_kf"
139 <doc xml:
whitespace=
"preserve">Compute the kf vector of the #HklDetector
</doc>
140 <return-value transfer-ownership=
"none">
141 <doc xml:
whitespace=
"preserve">HKL_SUCCESS if everythongs goes fine. HKL_FAIL otherwise.
</doc>
142 <type name=
"gint" c:
type=
"int"/>
145 <parameter name=
"g" transfer-ownership=
"none">
146 <doc xml:
whitespace=
"preserve">the diffractometer #HklGeometry use to compute kf.
</doc>
147 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
152 transfer-ownership=
"none">
153 <doc xml:
whitespace=
"preserve">the #HklVector fill with the kf coordinates.
</doc>
154 <type name=
"Vector" c:
type=
"HklVector*"/>
158 <method name=
"free" c:
identifier=
"hkl_detector_free" introspectable=
"0">
159 <doc xml:
whitespace=
"preserve">destructor
</doc>
160 <return-value transfer-ownership=
"none">
161 <type name=
"none" c:
type=
"void"/>
164 <method name=
"new_copy"
165 c:
identifier=
"hkl_detector_new_copy"
167 <doc xml:
whitespace=
"preserve">the copy constructor
170 <return-value transfer-ownership=
"full">
171 <type name=
"Detector" c:
type=
"HklDetector*"/>
174 <function name=
"fprintf"
175 c:
identifier=
"hkl_detector_fprintf"
177 <doc xml:
whitespace=
"preserve">print to a FILE the detector members
</doc>
178 <return-value transfer-ownership=
"none">
179 <type name=
"none" c:
type=
"void"/>
182 <parameter name=
"f" transfer-ownership=
"none">
183 <type name=
"gpointer" c:
type=
"FILE*"/>
185 <parameter name=
"self" transfer-ownership=
"none">
186 <type name=
"Detector" c:
type=
"HklDetector*"/>
191 <enumeration name=
"DetectorType"
192 glib:
type-name=
"HklDetectorType"
193 glib:
get-type=
"hkl_detector_type_get_type"
194 c:
type=
"HklDetectorType">
197 c:
identifier=
"HKL_DETECTOR_TYPE_0D"
202 glib:
type-name=
"HklError"
203 glib:
get-type=
"hkl_error_get_type"
204 c:
symbol-prefix=
"error">
205 <field name=
"message" writable=
"1">
206 <type name=
"utf8" c:
type=
"char*"/>
208 <constructor name=
"new" c:
identifier=
"hkl_error_new" introspectable=
"0">
209 <doc xml:
whitespace=
"preserve">Creates a new #HklError with the given,
210 and a message formatted with @format.
</doc>
211 <return-value transfer-ownership=
"full">
212 <doc xml:
whitespace=
"preserve">a new #HklError
</doc>
213 <type name=
"Error" c:
type=
"HklError*"/>
216 <parameter name=
"format" transfer-ownership=
"none">
217 <doc xml:
whitespace=
"preserve">printf()-style format for error message
</doc>
218 <type name=
"utf8" c:
type=
"char*"/>
220 <parameter transfer-ownership=
"none">
226 <constructor name=
"new_literal"
227 c:
identifier=
"hkl_error_new_literal"
229 <doc xml:
whitespace=
"preserve">Creates a new #HklError; unlike hkl_error_new(), @message is not a
230 printf()-style format string. Use this function if @message
231 contains text you don't have control over, that could include
232 printf() escape sequences.
</doc>
233 <return-value transfer-ownership=
"full">
234 <doc xml:
whitespace=
"preserve">a new #HklError
</doc>
235 <type name=
"Error" c:
type=
"HklError*"/>
238 <parameter name=
"message" transfer-ownership=
"none">
239 <doc xml:
whitespace=
"preserve">error message
</doc>
240 <type name=
"utf8" c:
type=
"char*"/>
244 <constructor name=
"new_valist"
245 c:
identifier=
"hkl_error_new_valist"
248 <doc xml:
whitespace=
"preserve">Creates a new #HklError with the given message
249 formatted with @format.
</doc>
250 <return-value transfer-ownership=
"full">
251 <doc xml:
whitespace=
"preserve">a new #HklError
</doc>
252 <type name=
"Error" c:
type=
"HklError*"/>
255 <parameter name=
"format" transfer-ownership=
"none">
256 <doc xml:
whitespace=
"preserve">printf()-style format for error message
</doc>
257 <type name=
"utf8" c:
type=
"char*"/>
259 <parameter name=
"args" transfer-ownership=
"none">
260 <doc xml:
whitespace=
"preserve">#va_list of parameters for the message format
</doc>
261 <type name=
"va_list" c:
type=
"va_list"/>
265 <method name=
"free" c:
identifier=
"hkl_error_free" introspectable=
"0">
266 <doc xml:
whitespace=
"preserve">Frees a #HklError and associated resources.
</doc>
267 <return-value transfer-ownership=
"none">
268 <type name=
"none" c:
type=
"void"/>
271 <method name=
"new_copy"
272 c:
identifier=
"hkl_error_new_copy"
274 <doc xml:
whitespace=
"preserve">Makes a copy of @error.
</doc>
275 <return-value transfer-ownership=
"full">
276 <doc xml:
whitespace=
"preserve">a new #HklError
</doc>
277 <type name=
"Error" c:
type=
"HklError*"/>
280 <function name=
"clear" c:
identifier=
"hkl_error_clear" introspectable=
"0">
281 <doc xml:
whitespace=
"preserve">If @err is %NULL, does nothing. If @err is non-%NULL, calls
282 hkl_error_free() on *@err and sets *@err to %NULL.
</doc>
283 <return-value transfer-ownership=
"none">
284 <type name=
"none" c:
type=
"void"/>
287 <parameter name=
"err" transfer-ownership=
"none">
288 <doc xml:
whitespace=
"preserve">a #HklError return location
</doc>
289 <type name=
"Error" c:
type=
"HklError**"/>
293 <function name=
"prefix"
294 c:
identifier=
"hkl_error_prefix"
297 <doc xml:
whitespace=
"preserve">Formats a string according to @format and prefix it to an existing
298 error message. If @err is %NULL (ie: no error variable) then do
301 If *@err is %NULL (ie: an error variable is present but there is no
302 error condition) then also do nothing. Whether or not it makes
303 sense to take advantage of this feature is up to you.
</doc>
304 <return-value transfer-ownership=
"none">
305 <type name=
"none" c:
type=
"void"/>
308 <parameter name=
"err" transfer-ownership=
"none">
309 <doc xml:
whitespace=
"preserve">a return location for a #HklError, or %NULL
</doc>
310 <type name=
"Error" c:
type=
"HklError**"/>
312 <parameter name=
"format" transfer-ownership=
"none">
313 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
314 <type name=
"utf8" c:
type=
"char*"/>
316 <parameter transfer-ownership=
"none">
322 <function name=
"propagate"
323 c:
identifier=
"hkl_error_propagate"
325 <doc xml:
whitespace=
"preserve">If @dest is %NULL, free @src; otherwise, moves @src into *@dest.
326 The error variable @dest points to must be %NULL.
</doc>
327 <return-value transfer-ownership=
"none">
328 <type name=
"none" c:
type=
"void"/>
331 <parameter name=
"dest" transfer-ownership=
"none">
332 <doc xml:
whitespace=
"preserve">error return location
</doc>
333 <type name=
"Error" c:
type=
"HklError**"/>
335 <parameter name=
"src" transfer-ownership=
"none">
336 <doc xml:
whitespace=
"preserve">error to move into the return location
</doc>
337 <type name=
"Error" c:
type=
"HklError*"/>
341 <function name=
"propagate_prefixed"
342 c:
identifier=
"hkl_error_propagate_prefixed"
345 <doc xml:
whitespace=
"preserve">If @dest is %NULL, free @src; otherwise, moves @src into
346 *@dest. *@dest must be %NULL. After the move, add a prefix as with
347 hkl_prefix_error().
</doc>
348 <return-value transfer-ownership=
"none">
349 <type name=
"none" c:
type=
"void"/>
352 <parameter name=
"dest" transfer-ownership=
"none">
353 <doc xml:
whitespace=
"preserve">error return location
</doc>
354 <type name=
"Error" c:
type=
"HklError**"/>
356 <parameter name=
"src" transfer-ownership=
"none">
357 <doc xml:
whitespace=
"preserve">error to move into the return location
</doc>
358 <type name=
"Error" c:
type=
"HklError*"/>
360 <parameter name=
"format" transfer-ownership=
"none">
361 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
362 <type name=
"utf8" c:
type=
"char*"/>
364 <parameter transfer-ownership=
"none">
370 <function name=
"set" c:
identifier=
"hkl_error_set" introspectable=
"0">
371 <doc xml:
whitespace=
"preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
372 must be %NULL. A new #HklError is created and assigned to *@err.
</doc>
373 <return-value transfer-ownership=
"none">
374 <type name=
"none" c:
type=
"void"/>
377 <parameter name=
"err" transfer-ownership=
"none">
378 <doc xml:
whitespace=
"preserve">a return location for a #HklError, or %NULL
</doc>
379 <type name=
"Error" c:
type=
"HklError**"/>
381 <parameter name=
"format" transfer-ownership=
"none">
382 <doc xml:
whitespace=
"preserve">printf()-style format
</doc>
383 <type name=
"utf8" c:
type=
"char*"/>
385 <parameter transfer-ownership=
"none">
391 <function name=
"set_literal"
392 c:
identifier=
"hkl_error_set_literal"
395 <doc xml:
whitespace=
"preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
396 must be %NULL. A new #HklError is created and assigned to *@err.
397 Unlike hkl_set_error(), @message is not a printf()-style format
398 string. Use this function if @message contains text you don't have
399 control over, that could include printf() escape sequences.
</doc>
400 <return-value transfer-ownership=
"none">
401 <type name=
"none" c:
type=
"void"/>
404 <parameter name=
"err" transfer-ownership=
"none">
405 <doc xml:
whitespace=
"preserve">a return location for a #HklError, or %NULL
</doc>
406 <type name=
"Error" c:
type=
"HklError**"/>
408 <parameter name=
"message" transfer-ownership=
"none">
409 <doc xml:
whitespace=
"preserve">error message
</doc>
410 <type name=
"utf8" c:
type=
"char*"/>
415 <record name=
"Geometry"
417 glib:
type-name=
"HklGeometry"
418 glib:
get-type=
"hkl_geometry_get_type"
419 c:
symbol-prefix=
"geometry">
420 <field name=
"config" writable=
"1">
421 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
423 <field name=
"source" writable=
"1">
424 <type name=
"Source" c:
type=
"HklSource"/>
426 <field name=
"axes" writable=
"1">
427 <type name=
"Axis" c:
type=
"HklAxis*"/>
429 <field name=
"len" writable=
"1">
430 <type name=
"gulong" c:
type=
"size_t"/>
432 <field name=
"holders" writable=
"1">
433 <type name=
"Holder" c:
type=
"HklHolder*"/>
435 <field name=
"holders_len" writable=
"1">
436 <type name=
"gulong" c:
type=
"size_t"/>
438 <constructor name=
"factory_new"
439 c:
identifier=
"hkl_geometry_factory_new"
441 <doc xml:
whitespace=
"preserve">create an #HklGeometry given an #HklGeometryConfig
</doc>
442 <return-value transfer-ownership=
"full">
443 <doc xml:
whitespace=
"preserve">a new #HklGeometry
</doc>
444 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
447 <parameter name=
"config" transfer-ownership=
"none">
448 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
450 <parameter transfer-ownership=
"none">
456 <constructor name=
"factory_newv"
457 c:
identifier=
"hkl_geometry_factory_newv">
458 <doc xml:
whitespace=
"preserve">factory constructor
</doc>
459 <return-value transfer-ownership=
"full">
460 <doc xml:
whitespace=
"preserve">a new HklGeometry
</doc>
461 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
464 <parameter name=
"config" transfer-ownership=
"none">
465 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
467 <parameter name=
"parameters" transfer-ownership=
"none">
468 <array length=
"2" zero-terminated=
"0" c:
type=
"double">
469 <type name=
"gdouble" c:
type=
"double"/>
472 <parameter name=
"len" transfer-ownership=
"none">
473 <type name=
"gint" c:
type=
"int"/>
477 <constructor name=
"new"
478 c:
identifier=
"hkl_geometry_new"
480 <doc xml:
whitespace=
"preserve">constructor
483 <return-value transfer-ownership=
"full">
484 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
487 <method name=
"add_holder"
488 c:
identifier=
"hkl_geometry_add_holder"
490 <doc xml:
whitespace=
"preserve">add an Holder to the #HklGeometry
494 <type name=
"Holder" c:
type=
"HklHolder*"/>
497 <method name=
"axes" c:
identifier=
"hkl_geometry_axes">
498 <doc xml:
whitespace=
"preserve">free the list with g_slist_free when done.
</doc>
499 <return-value transfer-ownership=
"container">
500 <doc xml:
whitespace=
"preserve">list of HklAxis,
</doc>
501 <type name=
"GLib.SList" c:
type=
"GSList*">
506 <method name=
"closest_from_geometry_with_range"
507 c:
identifier=
"hkl_geometry_closest_from_geometry_with_range"
509 <doc xml:
whitespace=
"preserve">get the closest axes values in the HklInterval compatible with the
513 <return-value transfer-ownership=
"none">
514 <type name=
"gint" c:
type=
"int"/>
517 <parameter name=
"ref" transfer-ownership=
"none">
518 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
522 <method name=
"distance" c:
identifier=
"hkl_geometry_distance">
523 <doc xml:
whitespace=
"preserve">compute the distance between two #HklGeometries
</doc>
524 <return-value transfer-ownership=
"none">
525 <doc xml:
whitespace=
"preserve">the distance between the two geometries
</doc>
526 <type name=
"gdouble" c:
type=
"double"/>
529 <parameter name=
"ref" transfer-ownership=
"none">
530 <doc xml:
whitespace=
"preserve">the #HklGeometry to compare with
</doc>
531 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
535 <method name=
"distance_orthodromic"
536 c:
identifier=
"hkl_geometry_distance_orthodromic"
538 <return-value transfer-ownership=
"none">
539 <doc xml:
whitespace=
"preserve">the orthodromique distance
</doc>
540 <type name=
"gdouble" c:
type=
"double"/>
543 <parameter name=
"ref" transfer-ownership=
"none">
544 <doc xml:
whitespace=
"preserve">the reference #HklGeometry to compare with.
</doc>
545 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
549 <method name=
"free" c:
identifier=
"hkl_geometry_free" introspectable=
"0">
550 <doc xml:
whitespace=
"preserve">destructor
</doc>
551 <return-value transfer-ownership=
"none">
552 <type name=
"none" c:
type=
"void"/>
555 <method name=
"get_axes_values_unit"
556 c:
identifier=
"hkl_geometry_get_axes_values_unit">
557 <doc xml:
whitespace=
"preserve">free the list with free when done.
</doc>
558 <return-value transfer-ownership=
"container">
559 <doc xml:
whitespace=
"preserve">list of axes values,
</doc>
560 <array length=
"0" zero-terminated=
"0" c:
type=
"double*">
561 <type name=
"gdouble" c:
type=
"double"/>
565 <parameter name=
"len"
568 transfer-ownership=
"full">
569 <doc xml:
whitespace=
"preserve">the length of the returned array
</doc>
570 <type name=
"guint" c:
type=
"unsigned int*"/>
574 <method name=
"get_axis_by_name"
575 c:
identifier=
"hkl_geometry_get_axis_by_name">
576 <doc xml:
whitespace=
"preserve">get an #HklAxis using its name
</doc>
577 <return-value transfer-ownership=
"none">
578 <type name=
"Axis" c:
type=
"HklAxis*"/>
581 <parameter name=
"name" transfer-ownership=
"none">
582 <type name=
"utf8" c:
type=
"char*"/>
586 <method name=
"get_axis_idx_by_name"
587 c:
identifier=
"hkl_geometry_get_axis_idx_by_name"
589 <doc xml:
whitespace=
"preserve">get the index of the axes named @name in the geometry
</doc>
590 <return-value transfer-ownership=
"none">
591 <doc xml:
whitespace=
"preserve">-
1 if the axis was not found
</doc>
592 <type name=
"gint" c:
type=
"int"/>
595 <parameter name=
"name" transfer-ownership=
"none">
596 <type name=
"utf8" c:
type=
"char*"/>
600 <method name=
"init_geometry"
601 c:
identifier=
"hkl_geometry_init_geometry"
603 <doc xml:
whitespace=
"preserve">initilize an HklGeometry
</doc>
604 <return-value transfer-ownership=
"none">
605 <type name=
"none" c:
type=
"void"/>
608 <parameter name=
"src" transfer-ownership=
"none">
609 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
613 <method name=
"is_valid"
614 c:
identifier=
"hkl_geometry_is_valid"
616 <doc xml:
whitespace=
"preserve">check if all axes of the #HklGeometry are valid.
619 <return-value transfer-ownership=
"none">
620 <type name=
"gint" c:
type=
"int"/>
623 <method name=
"new_copy"
624 c:
identifier=
"hkl_geometry_new_copy"
626 <doc xml:
whitespace=
"preserve">copy constructor
629 <return-value transfer-ownership=
"full">
630 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
633 <method name=
"randomize"
634 c:
identifier=
"hkl_geometry_randomize"
636 <doc xml:
whitespace=
"preserve">randomize the #HklGeometry
</doc>
637 <return-value transfer-ownership=
"none">
638 <type name=
"none" c:
type=
"void"/>
641 <method name=
"set_axes_values_unit"
642 c:
identifier=
"hkl_geometry_set_axes_values_unit">
643 <return-value transfer-ownership=
"none">
644 <type name=
"none" c:
type=
"void"/>
647 <parameter name=
"values" transfer-ownership=
"none">
648 <doc xml:
whitespace=
"preserve">the values to set.
</doc>
649 <array length=
"1" zero-terminated=
"0" c:
type=
"double*">
650 <type name=
"gdouble" c:
type=
"double"/>
653 <parameter name=
"len" transfer-ownership=
"none">
654 <doc xml:
whitespace=
"preserve">the length of the values array.
</doc>
655 <type name=
"guint" c:
type=
"unsigned int"/>
659 <method name=
"set_values_unit_v"
660 c:
identifier=
"hkl_geometry_set_values_unit_v"
662 <return-value transfer-ownership=
"none">
663 <type name=
"gint" c:
type=
"int"/>
666 <parameter transfer-ownership=
"none">
672 <method name=
"set_values_v"
673 c:
identifier=
"hkl_geometry_set_values_v"
675 <doc xml:
whitespace=
"preserve">set the axes values
678 <return-value transfer-ownership=
"none">
679 <type name=
"gint" c:
type=
"int"/>
682 <parameter name=
"len" transfer-ownership=
"none">
683 <type name=
"gulong" c:
type=
"size_t"/>
685 <parameter transfer-ownership=
"none">
691 <method name=
"update"
692 c:
identifier=
"hkl_geometry_update"
694 <doc xml:
whitespace=
"preserve">update the geometry internal once an Axis values changed
</doc>
695 <return-value transfer-ownership=
"none">
696 <type name=
"none" c:
type=
"void"/>
699 <function name=
"factory_get_config_from_type"
700 c:
identifier=
"hkl_geometry_factory_get_config_from_type">
701 <doc xml:
whitespace=
"preserve">get am #HklGeometryConfig for a given #HklGeometryType
</doc>
702 <return-value transfer-ownership=
"none">
703 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
706 <parameter name=
"type" transfer-ownership=
"none">
707 <type name=
"GeometryType" c:
type=
"HklGeometryType"/>
711 <function name=
"fprintf"
712 c:
identifier=
"hkl_geometry_fprintf"
714 <doc xml:
whitespace=
"preserve">print into a file the #HklGeometry
</doc>
715 <return-value transfer-ownership=
"none">
716 <type name=
"none" c:
type=
"void"/>
719 <parameter name=
"file" transfer-ownership=
"none">
720 <type name=
"gpointer" c:
type=
"FILE*"/>
722 <parameter name=
"self" transfer-ownership=
"none">
723 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
728 <record name=
"GeometryConfig" c:
type=
"HklGeometryConfig">
729 <field name=
"name" writable=
"1">
730 <type name=
"utf8" c:
type=
"char*"/>
732 <field name=
"type" writable=
"1">
733 <type name=
"GeometryType" c:
type=
"HklGeometryType"/>
736 <record name=
"GeometryList"
737 c:
type=
"HklGeometryList"
738 glib:
type-name=
"HklGeometryList"
739 glib:
get-type=
"hkl_geometry_list_get_type"
740 c:
symbol-prefix=
"geometry_list">
741 <field name=
"len" writable=
"1">
742 <type name=
"gint" c:
type=
"int"/>
744 <field name=
"multiply" writable=
"1">
745 <type name=
"GeometryListMultiplyFunction"
746 c:
type=
"HklGeometryListMultiplyFunction"/>
748 <field name=
"items" writable=
"1">
749 <type name=
"gpointer" c:
type=
"gpointer"/>
751 <field name=
"_shit" writable=
"1">
752 <type name=
"gpointer" c:
type=
"void*"/>
754 <constructor name=
"new"
755 c:
identifier=
"hkl_geometry_list_new"
757 <doc xml:
whitespace=
"preserve">constructor
760 <return-value transfer-ownership=
"full">
761 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
764 <method name=
"add" c:
identifier=
"hkl_geometry_list_add">
765 <return-value transfer-ownership=
"none">
766 <type name=
"none" c:
type=
"void"/>
769 <parameter name=
"geometry" transfer-ownership=
"none">
770 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
775 c:
identifier=
"hkl_geometry_list_free"
777 <doc xml:
whitespace=
"preserve">destructor
</doc>
778 <return-value transfer-ownership=
"none">
779 <type name=
"none" c:
type=
"void"/>
782 <method name=
"items" c:
identifier=
"hkl_geometry_list_items">
783 <doc xml:
whitespace=
"preserve">free the list with g_slist_free when done.
</doc>
784 <return-value transfer-ownership=
"container">
785 <doc xml:
whitespace=
"preserve">list of items,
</doc>
786 <type name=
"GLib.SList" c:
type=
"GSList*">
787 <type name=
"GeometryListItem"/>
791 <method name=
"multiply"
792 c:
identifier=
"hkl_geometry_list_multiply"
794 <doc xml:
whitespace=
"preserve">apply the multiply lenthod to the #HklGeometry
</doc>
795 <return-value transfer-ownership=
"none">
796 <type name=
"none" c:
type=
"void"/>
799 <method name=
"multiply_from_range"
800 c:
identifier=
"hkl_geometry_list_multiply_from_range">
801 <return-value transfer-ownership=
"none">
802 <type name=
"none" c:
type=
"void"/>
805 <method name=
"new_copy"
806 c:
identifier=
"hkl_geometry_list_new_copy"
808 <doc xml:
whitespace=
"preserve">copy constructor
811 <return-value transfer-ownership=
"full">
812 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
815 <method name=
"remove_invalid"
816 c:
identifier=
"hkl_geometry_list_remove_invalid"
818 <doc xml:
whitespace=
"preserve">remove all invalid #HklGeometry from the #HklGeometryList
</doc>
819 <return-value transfer-ownership=
"none">
820 <type name=
"none" c:
type=
"void"/>
824 c:
identifier=
"hkl_geometry_list_reset"
826 <doc xml:
whitespace=
"preserve">reset the HklGeometry, in fact it is a sort of clean method remove
827 all the items of the list.
</doc>
828 <return-value transfer-ownership=
"none">
829 <type name=
"none" c:
type=
"void"/>
833 c:
identifier=
"hkl_geometry_list_sort"
835 <doc xml:
whitespace=
"preserve">sort the #HklGeometryList compare to the distance of the given
837 <return-value transfer-ownership=
"none">
838 <type name=
"none" c:
type=
"void"/>
841 <parameter name=
"ref" transfer-ownership=
"none">
842 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
846 <function name=
"fprintf"
847 c:
identifier=
"hkl_geometry_list_fprintf"
849 <doc xml:
whitespace=
"preserve">print to a file the #HklGeometryList
</doc>
850 <return-value transfer-ownership=
"none">
851 <type name=
"none" c:
type=
"void"/>
854 <parameter name=
"f" transfer-ownership=
"none">
855 <type name=
"gpointer" c:
type=
"FILE*"/>
857 <parameter name=
"self" transfer-ownership=
"none">
858 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
863 <record name=
"GeometryListItem"
864 c:
type=
"HklGeometryListItem"
865 glib:
type-name=
"HklGeometryListItem"
866 glib:
get-type=
"hkl_geometry_list_item_get_type"
867 c:
symbol-prefix=
"geometry_list_item">
868 <field name=
"geometry" writable=
"1">
869 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
871 <field name=
"node" writable=
"1">
872 <type name=
"gpointer" c:
type=
"gpointer"/>
874 <field name=
"_shit" writable=
"1">
875 <type name=
"gpointer" c:
type=
"void*"/>
877 <constructor name=
"new"
878 c:
identifier=
"hkl_geometry_list_item_new"
880 <doc xml:
whitespace=
"preserve">constructor
883 <return-value transfer-ownership=
"full">
884 <type name=
"GeometryListItem" c:
type=
"HklGeometryListItem*"/>
887 <parameter name=
"geometry" transfer-ownership=
"none">
888 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
893 c:
identifier=
"hkl_geometry_list_item_free"
895 <doc xml:
whitespace=
"preserve">destructor
</doc>
896 <return-value transfer-ownership=
"none">
897 <type name=
"none" c:
type=
"void"/>
900 <method name=
"new_copy"
901 c:
identifier=
"hkl_geometry_list_item_new_copy"
903 <doc xml:
whitespace=
"preserve">copy constructor
906 <return-value transfer-ownership=
"full">
907 <type name=
"GeometryListItem" c:
type=
"HklGeometryListItem*"/>
911 <callback name=
"GeometryListMultiplyFunction"
912 c:
type=
"HklGeometryListMultiplyFunction">
913 <return-value transfer-ownership=
"none">
914 <type name=
"none" c:
type=
"void"/>
917 <parameter name=
"self" transfer-ownership=
"none">
918 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
920 <parameter name=
"item" transfer-ownership=
"none">
921 <type name=
"GeometryListItem" c:
type=
"HklGeometryListItem*"/>
925 <enumeration name=
"GeometryType"
926 glib:
type-name=
"HklGeometryType"
927 glib:
get-type=
"hkl_geometry_type_get_type"
928 c:
type=
"HklGeometryType">
929 <member name=
"twoc_vertical"
931 c:
identifier=
"HKL_GEOMETRY_TYPE_TWOC_VERTICAL"
932 glib:
nick=
"twoc-vertical"/>
933 <member name=
"eulerian4c_vertical"
935 c:
identifier=
"HKL_GEOMETRY_TYPE_EULERIAN4C_VERTICAL"
936 glib:
nick=
"eulerian4c-vertical"/>
937 <member name=
"kappa4c_vertical"
939 c:
identifier=
"HKL_GEOMETRY_TYPE_KAPPA4C_VERTICAL"
940 glib:
nick=
"kappa4c-vertical"/>
941 <member name=
"eulerian6c"
943 c:
identifier=
"HKL_GEOMETRY_TYPE_EULERIAN6C"
944 glib:
nick=
"eulerian6c"/>
945 <member name=
"kappa6c"
947 c:
identifier=
"HKL_GEOMETRY_TYPE_KAPPA6C"
948 glib:
nick=
"kappa6c"/>
951 c:
identifier=
"HKL_GEOMETRY_TYPE_ZAXIS"
953 <member name=
"soleil_sixs_med_2_2"
955 c:
identifier=
"HKL_GEOMETRY_TYPE_SOLEIL_SIXS_MED_2_2"
956 glib:
nick=
"soleil-sixs-med-2-2"/>
957 <member name=
"soleil_mars"
959 c:
identifier=
"HKL_GEOMETRY_TYPE_SOLEIL_MARS"
960 glib:
nick=
"soleil-mars"/>
961 <member name=
"soleil_sixs_med_1_2"
963 c:
identifier=
"HKL_GEOMETRY_TYPE_SOLEIL_SIXS_MED_1_2"
964 glib:
nick=
"soleil-sixs-med-1-2"/>
965 <member name=
"petra3_p09_eh2"
967 c:
identifier=
"HKL_GEOMETRY_TYPE_PETRA3_P09_EH2"
968 glib:
nick=
"petra3-p09-eh2"/>
969 <member name=
"eulerian4c_horizontal"
971 c:
identifier=
"HKL_GEOMETRY_TYPE_EULERIAN4C_HORIZONTAL"
972 glib:
nick=
"eulerian4c-horizontal"/>
974 <record name=
"Holder" c:
type=
"HklHolder">
975 <field name=
"config" writable=
"1">
976 <type name=
"gpointer" c:
type=
"gpointer*"/>
978 <field name=
"geometry" writable=
"1">
979 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
981 <field name=
"q" writable=
"1">
982 <type name=
"Quaternion" c:
type=
"HklQuaternion"/>
984 <method name=
"add_rotation_axis"
985 c:
identifier=
"hkl_holder_add_rotation_axis">
986 <return-value transfer-ownership=
"full">
987 <type name=
"Axis" c:
type=
"HklAxis*"/>
990 <parameter name=
"name" transfer-ownership=
"none">
991 <type name=
"utf8" c:
type=
"char*"/>
993 <parameter name=
"x" transfer-ownership=
"none">
994 <type name=
"gdouble" c:
type=
"double"/>
996 <parameter name=
"y" transfer-ownership=
"none">
997 <type name=
"gdouble" c:
type=
"double"/>
999 <parameter name=
"z" transfer-ownership=
"none">
1000 <type name=
"gdouble" c:
type=
"double"/>
1005 <record name=
"HolderConfig" c:
type=
"HklHolderConfig">
1006 <field name=
"gc" writable=
"1">
1007 <type name=
"gint" c:
type=
"int"/>
1009 <field name=
"idx" writable=
"1">
1010 <type name=
"gulong" c:
type=
"size_t*"/>
1012 <field name=
"len" writable=
"1">
1013 <type name=
"gulong" c:
type=
"size_t"/>
1016 <record name=
"Interval"
1017 c:
type=
"HklInterval"
1018 glib:
type-name=
"HklInterval"
1019 glib:
get-type=
"hkl_interval_get_type"
1020 c:
symbol-prefix=
"interval">
1021 <field name=
"min" writable=
"1">
1022 <type name=
"gdouble" c:
type=
"double"/>
1024 <field name=
"max" writable=
"1">
1025 <type name=
"gdouble" c:
type=
"double"/>
1027 <method name=
"acos" c:
identifier=
"hkl_interval_acos" introspectable=
"0">
1028 <doc xml:
whitespace=
"preserve">compute the arc cosinus of an #HklInterval
</doc>
1029 <return-value transfer-ownership=
"none">
1030 <type name=
"none" c:
type=
"void"/>
1033 <method name=
"angle_restrict_symm"
1034 c:
identifier=
"hkl_interval_angle_restrict_symm"
1036 <doc xml:
whitespace=
"preserve">restrict an #HklInterval into -pi, pi
</doc>
1037 <return-value transfer-ownership=
"none">
1038 <type name=
"none" c:
type=
"void"/>
1041 <method name=
"asin" c:
identifier=
"hkl_interval_asin" introspectable=
"0">
1042 <doc xml:
whitespace=
"preserve">compute the arc sinus of an #HklInterval
</doc>
1043 <return-value transfer-ownership=
"none">
1044 <type name=
"none" c:
type=
"void"/>
1047 <method name=
"atan" c:
identifier=
"hkl_interval_atan" introspectable=
"0">
1048 <doc xml:
whitespace=
"preserve">compute the arc tangente of an #HklInterval
</doc>
1049 <return-value transfer-ownership=
"none">
1050 <type name=
"none" c:
type=
"void"/>
1053 <method name=
"cmp" c:
identifier=
"hkl_interval_cmp" introspectable=
"0">
1054 <doc xml:
whitespace=
"preserve">compare two intervals
1057 <return-value transfer-ownership=
"none">
1058 <type name=
"gint" c:
type=
"int"/>
1061 <parameter name=
"interval" transfer-ownership=
"none">
1062 <type name=
"Interval" c:
type=
"HklInterval*"/>
1066 <method name=
"contain_zero"
1067 c:
identifier=
"hkl_interval_contain_zero"
1069 <doc xml:
whitespace=
"preserve">check if an #HklInterval contain zero
1072 <return-value transfer-ownership=
"none">
1073 <type name=
"gint" c:
type=
"int"/>
1076 <method name=
"cos" c:
identifier=
"hkl_interval_cos" introspectable=
"0">
1077 <doc xml:
whitespace=
"preserve">compute the cosinus of an #HklInterval
</doc>
1078 <return-value transfer-ownership=
"none">
1079 <type name=
"none" c:
type=
"void"/>
1082 <method name=
"divides_double"
1083 c:
identifier=
"hkl_interval_divides_double"
1085 <doc xml:
whitespace=
"preserve">divide an #HklInterval by a double
</doc>
1086 <return-value transfer-ownership=
"none">
1087 <type name=
"none" c:
type=
"void"/>
1090 <parameter name=
"d" transfer-ownership=
"none">
1091 <type name=
"gdouble" c:
type=
"double"/>
1095 <method name=
"dup" c:
identifier=
"hkl_interval_dup" introspectable=
"0">
1096 <doc xml:
whitespace=
"preserve">copy an #HklInterval
1099 <return-value transfer-ownership=
"full">
1100 <type name=
"Interval" c:
type=
"HklInterval*"/>
1103 <method name=
"free" c:
identifier=
"hkl_interval_free" introspectable=
"0">
1104 <doc xml:
whitespace=
"preserve">delete an #HklInterval
</doc>
1105 <return-value transfer-ownership=
"none">
1106 <type name=
"none" c:
type=
"void"/>
1109 <method name=
"length"
1110 c:
identifier=
"hkl_interval_length"
1112 <doc xml:
whitespace=
"preserve">compute the length of an #HklInterval
1115 <return-value transfer-ownership=
"none">
1116 <type name=
"gdouble" c:
type=
"double"/>
1119 <method name=
"minus_double"
1120 c:
identifier=
"hkl_interval_minus_double"
1122 <doc xml:
whitespace=
"preserve">subst a double to an #HklInterval
</doc>
1123 <return-value transfer-ownership=
"none">
1124 <type name=
"none" c:
type=
"void"/>
1127 <parameter name=
"d" transfer-ownership=
"none">
1128 <type name=
"gdouble" c:
type=
"double"/>
1132 <method name=
"minus_interval"
1133 c:
identifier=
"hkl_interval_minus_interval"
1135 <doc xml:
whitespace=
"preserve">substract two #HklInterval
</doc>
1136 <return-value transfer-ownership=
"none">
1137 <type name=
"none" c:
type=
"void"/>
1140 <parameter name=
"interval" transfer-ownership=
"none">
1141 <type name=
"Interval" c:
type=
"HklInterval*"/>
1145 <method name=
"plus_double"
1146 c:
identifier=
"hkl_interval_plus_double"
1148 <doc xml:
whitespace=
"preserve">add to an interval a double
</doc>
1149 <return-value transfer-ownership=
"none">
1150 <type name=
"none" c:
type=
"void"/>
1153 <parameter name=
"d" transfer-ownership=
"none">
1154 <type name=
"gdouble" c:
type=
"double"/>
1158 <method name=
"plus_interval"
1159 c:
identifier=
"hkl_interval_plus_interval"
1161 <doc xml:
whitespace=
"preserve">add two ontervals
</doc>
1162 <return-value transfer-ownership=
"none">
1163 <type name=
"none" c:
type=
"void"/>
1166 <parameter name=
"interval" transfer-ownership=
"none">
1167 <type name=
"Interval" c:
type=
"HklInterval*"/>
1171 <method name=
"sin" c:
identifier=
"hkl_interval_sin" introspectable=
"0">
1172 <doc xml:
whitespace=
"preserve">compute the sin of an #HklInterval
</doc>
1173 <return-value transfer-ownership=
"none">
1174 <type name=
"none" c:
type=
"void"/>
1177 <method name=
"tan" c:
identifier=
"hkl_interval_tan" introspectable=
"0">
1178 <doc xml:
whitespace=
"preserve">compute the tangente of an #HklInterval
</doc>
1179 <return-value transfer-ownership=
"none">
1180 <type name=
"none" c:
type=
"void"/>
1183 <method name=
"times_double"
1184 c:
identifier=
"hkl_interval_times_double"
1186 <doc xml:
whitespace=
"preserve">multiply an #HklInterval by a double
</doc>
1187 <return-value transfer-ownership=
"none">
1188 <type name=
"none" c:
type=
"void"/>
1191 <parameter name=
"d" transfer-ownership=
"none">
1192 <type name=
"gdouble" c:
type=
"double"/>
1196 <method name=
"times_interval"
1197 c:
identifier=
"hkl_interval_times_interval"
1199 <doc xml:
whitespace=
"preserve">multiply two #HklInterval
</doc>
1200 <return-value transfer-ownership=
"none">
1201 <type name=
"none" c:
type=
"void"/>
1204 <parameter name=
"interval" transfer-ownership=
"none">
1205 <type name=
"Interval" c:
type=
"HklInterval*"/>
1210 <record name=
"Lattice"
1212 glib:
type-name=
"HklLattice"
1213 glib:
get-type=
"hkl_lattice_get_type"
1214 c:
symbol-prefix=
"lattice">
1215 <field name=
"a" writable=
"1">
1216 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1218 <field name=
"b" writable=
"1">
1219 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1221 <field name=
"c" writable=
"1">
1222 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1224 <field name=
"alpha" writable=
"1">
1225 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1227 <field name=
"beta" writable=
"1">
1228 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1230 <field name=
"gamma" writable=
"1">
1231 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1233 <constructor name=
"new"
1234 c:
identifier=
"hkl_lattice_new"
1236 <doc xml:
whitespace=
"preserve">constructor
1239 <return-value transfer-ownership=
"full">
1240 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1243 <parameter name=
"a" transfer-ownership=
"none">
1244 <type name=
"gdouble" c:
type=
"double"/>
1246 <parameter name=
"b" transfer-ownership=
"none">
1247 <type name=
"gdouble" c:
type=
"double"/>
1249 <parameter name=
"c" transfer-ownership=
"none">
1250 <type name=
"gdouble" c:
type=
"double"/>
1252 <parameter name=
"alpha" transfer-ownership=
"none">
1253 <type name=
"gdouble" c:
type=
"double"/>
1255 <parameter name=
"beta" transfer-ownership=
"none">
1256 <type name=
"gdouble" c:
type=
"double"/>
1258 <parameter name=
"gamma" transfer-ownership=
"none">
1259 <type name=
"gdouble" c:
type=
"double"/>
1263 <constructor name=
"new_default"
1264 c:
identifier=
"hkl_lattice_new_default"
1266 <doc xml:
whitespace=
"preserve">default constructor
1269 <return-value transfer-ownership=
"full">
1270 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1273 <method name=
"free" c:
identifier=
"hkl_lattice_free" introspectable=
"0">
1274 <doc xml:
whitespace=
"preserve">destructor
</doc>
1275 <return-value transfer-ownership=
"none">
1276 <type name=
"none" c:
type=
"void"/>
1279 <method name=
"get_1_B"
1280 c:
identifier=
"hkl_lattice_get_1_B"
1282 <doc xml:
whitespace=
"preserve">Compute the invert of B (needed by the hkl_sample_set_UB method)
1286 <return-value transfer-ownership=
"none">
1287 <doc xml:
whitespace=
"preserve">HKL_TRUE or HKL_FALSE depending of the success of the
</doc>
1288 <type name=
"gint" c:
type=
"int"/>
1293 caller-allocates=
"1"
1294 transfer-ownership=
"none">
1295 <doc xml:
whitespace=
"preserve">where to store the
1/B matrix
</doc>
1296 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
1300 <method name=
"get_B" c:
identifier=
"hkl_lattice_get_B" introspectable=
"0">
1301 <doc xml:
whitespace=
"preserve">Get the B matrix from the lattice parameters
1304 <return-value transfer-ownership=
"none">
1305 <type name=
"gint" c:
type=
"int"/>
1310 caller-allocates=
"1"
1311 transfer-ownership=
"none">
1312 <doc xml:
whitespace=
"preserve">where to store the B matrix
</doc>
1313 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
1317 <method name=
"new_copy"
1318 c:
identifier=
"hkl_lattice_new_copy"
1320 <doc xml:
whitespace=
"preserve">copy constructor
1323 <return-value transfer-ownership=
"full">
1324 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1327 <method name=
"randomize"
1328 c:
identifier=
"hkl_lattice_randomize"
1330 <doc xml:
whitespace=
"preserve">randomize the lattice
</doc>
1331 <return-value transfer-ownership=
"none">
1332 <type name=
"none" c:
type=
"void"/>
1335 <method name=
"reciprocal"
1336 c:
identifier=
"hkl_lattice_reciprocal"
1338 <doc xml:
whitespace=
"preserve">compute the reciprocal lattice
1341 <return-value transfer-ownership=
"none">
1342 <type name=
"gint" c:
type=
"int"/>
1345 <parameter name=
"reciprocal"
1347 caller-allocates=
"0"
1348 transfer-ownership=
"full">
1349 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1353 <method name=
"set" c:
identifier=
"hkl_lattice_set" introspectable=
"0">
1354 <doc xml:
whitespace=
"preserve">set the lattice parameters
1357 <return-value transfer-ownership=
"none">
1358 <type name=
"gint" c:
type=
"int"/>
1361 <parameter name=
"a" transfer-ownership=
"none">
1362 <type name=
"gdouble" c:
type=
"double"/>
1364 <parameter name=
"b" transfer-ownership=
"none">
1365 <type name=
"gdouble" c:
type=
"double"/>
1367 <parameter name=
"c" transfer-ownership=
"none">
1368 <type name=
"gdouble" c:
type=
"double"/>
1370 <parameter name=
"alpha" transfer-ownership=
"none">
1371 <type name=
"gdouble" c:
type=
"double"/>
1373 <parameter name=
"beta" transfer-ownership=
"none">
1374 <type name=
"gdouble" c:
type=
"double"/>
1376 <parameter name=
"gamma" transfer-ownership=
"none">
1377 <type name=
"gdouble" c:
type=
"double"/>
1381 <function name=
"fprintf"
1382 c:
identifier=
"hkl_lattice_fprintf"
1384 <doc xml:
whitespace=
"preserve">print into a file the lattice.
</doc>
1385 <return-value transfer-ownership=
"none">
1386 <type name=
"none" c:
type=
"void"/>
1389 <parameter name=
"f" transfer-ownership=
"none">
1390 <type name=
"gpointer" c:
type=
"FILE*"/>
1392 <parameter name=
"self" transfer-ownership=
"none">
1393 <type name=
"Lattice" c:
type=
"HklLattice*"/>
1398 <record name=
"Matrix"
1400 glib:
type-name=
"HklMatrix"
1401 glib:
get-type=
"hkl_matrix_get_type"
1402 c:
symbol-prefix=
"matrix">
1403 <field name=
"data" writable=
"1">
1404 <array zero-terminated=
"0" c:
type=
"gdouble" fixed-size=
"3">
1405 <type name=
"gdouble" c:
type=
"double"/>
1408 <method name=
"cmp" c:
identifier=
"hkl_matrix_cmp">
1409 <doc xml:
whitespace=
"preserve">compare two #HklMatrix.
</doc>
1410 <return-value transfer-ownership=
"none">
1411 <doc xml:
whitespace=
"preserve">return HKL_TRUE if | self - m |
> HKL_EPSILON
</doc>
1412 <type name=
"gint" c:
type=
"int"/>
1415 <parameter name=
"m" transfer-ownership=
"none">
1416 <doc xml:
whitespace=
"preserve">the #HklMatrix to compare with
</doc>
1417 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
1421 <method name=
"det" c:
identifier=
"hkl_matrix_det">
1422 <doc xml:
whitespace=
"preserve">compute the determinant of an #HklMatrix
1425 <return-value transfer-ownership=
"none">
1426 <doc xml:
whitespace=
"preserve">the determinant of the self #HklMatrix
</doc>
1427 <type name=
"gdouble" c:
type=
"double"/>
1430 <method name=
"dup" c:
identifier=
"hkl_matrix_dup" introspectable=
"0">
1431 <doc xml:
whitespace=
"preserve">Returns:
</doc>
1432 <return-value transfer-ownership=
"full">
1433 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
1436 <method name=
"free" c:
identifier=
"hkl_matrix_free" introspectable=
"0">
1437 <return-value transfer-ownership=
"none">
1438 <type name=
"none" c:
type=
"void"/>
1441 <method name=
"init" c:
identifier=
"hkl_matrix_init">
1442 <return-value transfer-ownership=
"none">
1443 <type name=
"none" c:
type=
"void"/>
1446 <parameter name=
"m11" transfer-ownership=
"none">
1447 <doc xml:
whitespace=
"preserve">the matrix
11 value
</doc>
1448 <type name=
"gdouble" c:
type=
"double"/>
1450 <parameter name=
"m12" transfer-ownership=
"none">
1451 <doc xml:
whitespace=
"preserve">the matrix
12 value
</doc>
1452 <type name=
"gdouble" c:
type=
"double"/>
1454 <parameter name=
"m13" transfer-ownership=
"none">
1455 <doc xml:
whitespace=
"preserve">the matrix
13 value
</doc>
1456 <type name=
"gdouble" c:
type=
"double"/>
1458 <parameter name=
"m21" transfer-ownership=
"none">
1459 <doc xml:
whitespace=
"preserve">the matrix
21 value
</doc>
1460 <type name=
"gdouble" c:
type=
"double"/>
1462 <parameter name=
"m22" transfer-ownership=
"none">
1463 <doc xml:
whitespace=
"preserve">the matrix
22 value
</doc>
1464 <type name=
"gdouble" c:
type=
"double"/>
1466 <parameter name=
"m23" transfer-ownership=
"none">
1467 <doc xml:
whitespace=
"preserve">the matrix
23 value
</doc>
1468 <type name=
"gdouble" c:
type=
"double"/>
1470 <parameter name=
"m31" transfer-ownership=
"none">
1471 <doc xml:
whitespace=
"preserve">the matrix
31 value
</doc>
1472 <type name=
"gdouble" c:
type=
"double"/>
1474 <parameter name=
"m32" transfer-ownership=
"none">
1475 <doc xml:
whitespace=
"preserve">the matrix
32 value
</doc>
1476 <type name=
"gdouble" c:
type=
"double"/>
1478 <parameter name=
"m33" transfer-ownership=
"none">
1479 <doc xml:
whitespace=
"preserve">the matrix
33 value
</doc>
1480 <type name=
"gdouble" c:
type=
"double"/>
1484 <method name=
"init_from_euler" c:
identifier=
"hkl_matrix_init_from_euler">
1485 <doc xml:
whitespace=
"preserve">Create a rotation #HklMatrix from three eulerians angles.
</doc>
1486 <return-value transfer-ownership=
"none">
1487 <type name=
"none" c:
type=
"void"/>
1490 <parameter name=
"euler_x" transfer-ownership=
"none">
1491 <doc xml:
whitespace=
"preserve">the eulerian value along X
</doc>
1492 <type name=
"gdouble" c:
type=
"double"/>
1494 <parameter name=
"euler_y" transfer-ownership=
"none">
1495 <doc xml:
whitespace=
"preserve">the eulerian value along Y
</doc>
1496 <type name=
"gdouble" c:
type=
"double"/>
1498 <parameter name=
"euler_z" transfer-ownership=
"none">
1499 <doc xml:
whitespace=
"preserve">the eulerian value along Z
</doc>
1500 <type name=
"gdouble" c:
type=
"double"/>
1504 <method name=
"init_from_two_vector"
1505 c:
identifier=
"hkl_matrix_init_from_two_vector">
1506 <doc xml:
whitespace=
"preserve">Create an #HklMatrix which represent a direct oriented base of the space
1507 the first row correspond to the |v1|, the second row |v2| and the last one
1509 <return-value transfer-ownership=
"none">
1510 <type name=
"none" c:
type=
"void"/>
1513 <parameter name=
"v1" transfer-ownership=
"none">
1514 <doc xml:
whitespace=
"preserve">the first #HklVector
</doc>
1515 <type name=
"Vector" c:
type=
"HklVector*"/>
1517 <parameter name=
"v2" transfer-ownership=
"none">
1518 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
1519 <type name=
"Vector" c:
type=
"HklVector*"/>
1523 <method name=
"is_null" c:
identifier=
"hkl_matrix_is_null">
1524 <doc xml:
whitespace=
"preserve">is all #hklMatrix elementes bellow #HKL_EPSILON
1527 <return-value transfer-ownership=
"none">
1528 <doc xml:
whitespace=
"preserve">HKL_TRUE if the self #HklMatrix is null
</doc>
1529 <type name=
"gint" c:
type=
"int"/>
1532 <method name=
"solve" c:
identifier=
"hkl_matrix_solve">
1533 <doc xml:
whitespace=
"preserve">solve the system self . X = b
1536 <return-value transfer-ownership=
"none">
1537 <doc xml:
whitespace=
"preserve">-
1 if the système has no solution,
0 otherwise.
</doc>
1538 <type name=
"gint" c:
type=
"int"/>
1541 <parameter name=
"x" transfer-ownership=
"none">
1542 <doc xml:
whitespace=
"preserve">the #HklVector to compute.
</doc>
1543 <type name=
"Vector" c:
type=
"HklVector*"/>
1545 <parameter name=
"b" transfer-ownership=
"none">
1546 <doc xml:
whitespace=
"preserve">the #hklVector of the system to solve.
</doc>
1547 <type name=
"Vector" c:
type=
"HklVector*"/>
1551 <method name=
"times_matrix" c:
identifier=
"hkl_matrix_times_matrix">
1552 <doc xml:
whitespace=
"preserve">compute the matrix multiplication self = self * m
</doc>
1553 <return-value transfer-ownership=
"none">
1554 <type name=
"none" c:
type=
"void"/>
1557 <parameter name=
"m" transfer-ownership=
"none">
1558 <doc xml:
whitespace=
"preserve">the #HklMatrix to multiply by
</doc>
1559 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
1563 <method name=
"times_vector" c:
identifier=
"hkl_matrix_times_vector">
1564 <doc xml:
whitespace=
"preserve">multiply an #HklVector by an #HklMatrix
</doc>
1565 <return-value transfer-ownership=
"none">
1566 <type name=
"none" c:
type=
"void"/>
1569 <parameter name=
"v" transfer-ownership=
"none">
1570 <doc xml:
whitespace=
"preserve">the #HklVector multiply by the #HklMatrix
</doc>
1571 <type name=
"Vector" c:
type=
"HklVector*"/>
1575 <method name=
"to_euler" c:
identifier=
"hkl_matrix_to_euler">
1576 <doc xml:
whitespace=
"preserve">compute the three eulerians values for a given rotation #HklMatrix
</doc>
1577 <return-value transfer-ownership=
"none">
1578 <type name=
"none" c:
type=
"void"/>
1581 <parameter name=
"euler_x" transfer-ownership=
"none">
1582 <doc xml:
whitespace=
"preserve">the eulerian value along X
</doc>
1583 <type name=
"gdouble" c:
type=
"double*"/>
1585 <parameter name=
"euler_y" transfer-ownership=
"none">
1586 <doc xml:
whitespace=
"preserve">the eulerian value along Y
</doc>
1587 <type name=
"gdouble" c:
type=
"double*"/>
1589 <parameter name=
"euler_z" transfer-ownership=
"none">
1590 <doc xml:
whitespace=
"preserve">the eulerian value along Z
</doc>
1591 <type name=
"gdouble" c:
type=
"double*"/>
1595 <method name=
"transpose" c:
identifier=
"hkl_matrix_transpose">
1596 <doc xml:
whitespace=
"preserve">transpose an #HklMatrix
</doc>
1597 <return-value transfer-ownership=
"none">
1598 <type name=
"none" c:
type=
"void"/>
1601 <function name=
"fprintf" c:
identifier=
"hkl_matrix_fprintf">
1602 <doc xml:
whitespace=
"preserve">printf an #HklMatrix into a FILE stream.
</doc>
1603 <return-value transfer-ownership=
"none">
1604 <type name=
"none" c:
type=
"void"/>
1607 <parameter name=
"file" transfer-ownership=
"none">
1608 <doc xml:
whitespace=
"preserve">the FILE stream
</doc>
1609 <type name=
"gpointer" c:
type=
"FILE*"/>
1611 <parameter name=
"self" transfer-ownership=
"none">
1612 <doc xml:
whitespace=
"preserve">the #HklMatrix to print into the file stream
</doc>
1613 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
1618 <record name=
"Parameter"
1619 c:
type=
"HklParameter"
1620 glib:
type-name=
"HklParameter"
1621 glib:
get-type=
"hkl_parameter_get_type"
1622 c:
symbol-prefix=
"parameter">
1623 <field name=
"name" writable=
"1">
1624 <type name=
"utf8" c:
type=
"char*"/>
1626 <field name=
"range" writable=
"1">
1627 <type name=
"Interval" c:
type=
"HklInterval"/>
1629 <field name=
"_value" writable=
"1">
1630 <type name=
"gdouble" c:
type=
"double"/>
1632 <field name=
"unit" writable=
"1">
1633 <type name=
"Unit" c:
type=
"HklUnit*"/>
1635 <field name=
"punit" writable=
"1">
1636 <type name=
"Unit" c:
type=
"HklUnit*"/>
1638 <field name=
"fit" writable=
"1">
1639 <type name=
"gint" c:
type=
"int"/>
1641 <field name=
"changed" writable=
"1">
1642 <type name=
"gint" c:
type=
"int"/>
1644 <field name=
"ops" writable=
"1">
1645 <type name=
"ParameterOperations" c:
type=
"HklParameterOperations*"/>
1647 <constructor name=
"new"
1648 c:
identifier=
"hkl_parameter_new"
1650 <doc xml:
whitespace=
"preserve">create a new #HklParameter
1653 <return-value transfer-ownership=
"full">
1654 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1657 <parameter name=
"name" transfer-ownership=
"none">
1658 <type name=
"utf8" c:
type=
"char*"/>
1660 <parameter name=
"min" transfer-ownership=
"none">
1661 <type name=
"gdouble" c:
type=
"double"/>
1663 <parameter name=
"value" transfer-ownership=
"none">
1664 <type name=
"gdouble" c:
type=
"double"/>
1666 <parameter name=
"max" transfer-ownership=
"none">
1667 <type name=
"gdouble" c:
type=
"double"/>
1669 <parameter name=
"fit" transfer-ownership=
"none">
1670 <type name=
"gint" c:
type=
"int"/>
1672 <parameter name=
"changed" transfer-ownership=
"none">
1673 <type name=
"gint" c:
type=
"int"/>
1675 <parameter name=
"unit" transfer-ownership=
"none">
1676 <type name=
"Unit" c:
type=
"HklUnit*"/>
1678 <parameter name=
"punit" transfer-ownership=
"none">
1679 <type name=
"Unit" c:
type=
"HklUnit*"/>
1683 <method name=
"free" c:
identifier=
"hkl_parameter_free" introspectable=
"0">
1684 <doc xml:
whitespace=
"preserve">delete an #HklParameter
</doc>
1685 <return-value transfer-ownership=
"none">
1686 <type name=
"none" c:
type=
"void"/>
1689 <method name=
"get_max"
1690 c:
identifier=
"hkl_parameter_get_max"
1692 <doc xml:
whitespace=
"preserve">get the max value of the #HklParameter
1695 <return-value transfer-ownership=
"none">
1696 <type name=
"gdouble" c:
type=
"double"/>
1699 <method name=
"get_range_unit"
1700 c:
identifier=
"hkl_parameter_get_range_unit"
1702 <doc xml:
whitespace=
"preserve">get the #HklParameter range, min, max
1704 <return-value transfer-ownership=
"none">
1705 <type name=
"none" c:
type=
"void"/>
1708 <parameter name=
"min" transfer-ownership=
"none">
1709 <type name=
"gdouble" c:
type=
"double*"/>
1711 <parameter name=
"max" transfer-ownership=
"none">
1712 <type name=
"gdouble" c:
type=
"double*"/>
1716 <method name=
"get_value" c:
identifier=
"hkl_parameter_get_value">
1717 <return-value transfer-ownership=
"none">
1718 <doc xml:
whitespace=
"preserve">the value of the #HklParameter
</doc>
1719 <type name=
"gdouble" c:
type=
"double"/>
1722 <method name=
"get_value_closest"
1723 c:
identifier=
"hkl_parameter_get_value_closest">
1724 <doc xml:
whitespace=
"preserve">current self #HklParameter
</doc>
1725 <return-value transfer-ownership=
"none">
1726 <doc xml:
whitespace=
"preserve">the closest value of the ref #HklParameter from the
</doc>
1727 <type name=
"gdouble" c:
type=
"double"/>
1730 <parameter name=
"ref" transfer-ownership=
"none">
1731 <doc xml:
whitespace=
"preserve">the reference #HklParameter
</doc>
1732 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1736 <method name=
"get_value_unit"
1737 c:
identifier=
"hkl_parameter_get_value_unit">
1738 <return-value transfer-ownership=
"none">
1739 <doc xml:
whitespace=
"preserve">the value of the #HklParameter expressed in the user unit
</doc>
1740 <type name=
"gdouble" c:
type=
"double"/>
1743 <method name=
"is_valid"
1744 c:
identifier=
"hkl_parameter_is_valid"
1746 <doc xml:
whitespace=
"preserve">check if the value of the #HklParameter is in the min,max range
1749 <return-value transfer-ownership=
"none">
1750 <type name=
"gint" c:
type=
"int"/>
1753 <method name=
"new_copy"
1754 c:
identifier=
"hkl_parameter_new_copy"
1756 <doc xml:
whitespace=
"preserve">copy an #HklParameter
1759 <return-value transfer-ownership=
"full">
1760 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1763 <method name=
"randomize"
1764 c:
identifier=
"hkl_parameter_randomize"
1766 <doc xml:
whitespace=
"preserve">randomize the #HklParameter value into the min,max range
</doc>
1767 <return-value transfer-ownership=
"none">
1768 <type name=
"none" c:
type=
"void"/>
1771 <method name=
"set_range"
1772 c:
identifier=
"hkl_parameter_set_range"
1774 <doc xml:
whitespace=
"preserve">set the #HklParameter range.
1776 <return-value transfer-ownership=
"none">
1777 <type name=
"none" c:
type=
"void"/>
1780 <parameter name=
"min" transfer-ownership=
"none">
1781 <type name=
"gdouble" c:
type=
"double"/>
1783 <parameter name=
"max" transfer-ownership=
"none">
1784 <type name=
"gdouble" c:
type=
"double"/>
1788 <method name=
"set_range_unit"
1789 c:
identifier=
"hkl_parameter_set_range_unit"
1791 <doc xml:
whitespace=
"preserve">set the #HklParameter range express in the punit #HklUnit
1793 <return-value transfer-ownership=
"none">
1794 <type name=
"none" c:
type=
"void"/>
1797 <parameter name=
"min" transfer-ownership=
"none">
1798 <type name=
"gdouble" c:
type=
"double"/>
1800 <parameter name=
"max" transfer-ownership=
"none">
1801 <type name=
"gdouble" c:
type=
"double"/>
1805 <method name=
"set_value"
1806 c:
identifier=
"hkl_parameter_set_value"
1808 <doc xml:
whitespace=
"preserve">set the value of an #HklParameter
</doc>
1809 <return-value transfer-ownership=
"none">
1810 <type name=
"none" c:
type=
"void"/>
1813 <parameter name=
"value" transfer-ownership=
"none">
1814 <type name=
"gdouble" c:
type=
"double"/>
1818 <method name=
"set_value_unit"
1819 c:
identifier=
"hkl_parameter_set_value_unit"
1821 <doc xml:
whitespace=
"preserve">set the value of the parameter express in the punit #HklUnit
1823 <return-value transfer-ownership=
"none">
1824 <type name=
"none" c:
type=
"void"/>
1827 <parameter name=
"value" transfer-ownership=
"none">
1828 <doc xml:
whitespace=
"preserve">the value to set
</doc>
1829 <type name=
"gdouble" c:
type=
"double"/>
1833 <function name=
"fprintf"
1834 c:
identifier=
"hkl_parameter_fprintf"
1836 <doc xml:
whitespace=
"preserve">print into the #FILE f an #HklParameter
</doc>
1837 <return-value transfer-ownership=
"none">
1838 <type name=
"none" c:
type=
"void"/>
1841 <parameter name=
"f" transfer-ownership=
"none">
1842 <type name=
"gpointer" c:
type=
"FILE*"/>
1844 <parameter name=
"self" transfer-ownership=
"none">
1845 <type name=
"Parameter" c:
type=
"HklParameter*"/>
1850 <record name=
"ParameterOperations"
1851 c:
type=
"HklParameterOperations"
1854 <record name=
"PseudoAxis"
1855 c:
type=
"HklPseudoAxis"
1856 glib:
type-name=
"HklPseudoAxis"
1857 glib:
get-type=
"hkl_pseudo_axis_get_type"
1858 c:
symbol-prefix=
"pseudo_axis">
1859 <field name=
"parameter" writable=
"1">
1860 <type name=
"Parameter" c:
type=
"HklParameter"/>
1862 <field name=
"engine" writable=
"1">
1863 <type name=
"PseudoAxisEngine" c:
type=
"HklPseudoAxisEngine*"/>
1865 <field name=
"list" writable=
"1">
1866 <type name=
"gpointer" c:
type=
"gpointer"/>
1868 <field name=
"_shit" writable=
"1">
1869 <type name=
"gpointer" c:
type=
"void*"/>
1871 <function name=
"fprintf"
1872 c:
identifier=
"hkl_pseudo_axis_fprintf"
1874 <doc xml:
whitespace=
"preserve">print an HklPseudoAxis into a file
</doc>
1875 <return-value transfer-ownership=
"none">
1876 <type name=
"none" c:
type=
"void"/>
1879 <parameter name=
"f" transfer-ownership=
"none">
1880 <type name=
"gpointer" c:
type=
"FILE*"/>
1882 <parameter name=
"self" transfer-ownership=
"none">
1883 <type name=
"PseudoAxis" c:
type=
"HklPseudoAxis*"/>
1888 <record name=
"PseudoAxisEngine"
1889 c:
type=
"HklPseudoAxisEngine"
1890 glib:
type-name=
"HklPseudoAxisEngine"
1891 glib:
get-type=
"hkl_pseudo_axis_engine_get_type"
1892 c:
symbol-prefix=
"pseudo_axis_engine">
1893 <field name=
"info" writable=
"1">
1894 <type name=
"PseudoAxisEngineInfo" c:
type=
"HklPseudoAxisEngineInfo*"/>
1896 <field name=
"geometry" writable=
"1">
1897 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
1899 <field name=
"detector" writable=
"1">
1900 <type name=
"Detector" c:
type=
"HklDetector*"/>
1902 <field name=
"sample" writable=
"1">
1903 <type name=
"Sample" c:
type=
"HklSample*"/>
1905 <field name=
"mode" writable=
"1">
1906 <type name=
"PseudoAxisEngineMode" c:
type=
"HklPseudoAxisEngineMode*"/>
1908 <field name=
"engines" writable=
"1">
1909 <type name=
"PseudoAxisEngineList" c:
type=
"HklPseudoAxisEngineList*"/>
1911 <field name=
"modes" writable=
"1">
1912 <type name=
"gpointer" c:
type=
"gpointer"/>
1914 <field name=
"pseudo_axes" writable=
"1">
1915 <type name=
"gpointer" c:
type=
"gpointer"/>
1917 <field name=
"axes" writable=
"1">
1918 <type name=
"gpointer" c:
type=
"gpointer"/>
1920 <field name=
"list" writable=
"1">
1921 <type name=
"gpointer" c:
type=
"gpointer"/>
1923 <field name=
"_shit1" writable=
"1">
1924 <type name=
"gpointer" c:
type=
"void*"/>
1926 <field name=
"_shit2" writable=
"1">
1927 <type name=
"gpointer" c:
type=
"void*"/>
1929 <field name=
"_shit3" writable=
"1">
1930 <type name=
"gpointer" c:
type=
"void*"/>
1932 <field name=
"_shit4" writable=
"1">
1933 <type name=
"gpointer" c:
type=
"void*"/>
1936 c:
identifier=
"hkl_pseudo_axis_engine_get"
1938 <doc xml:
whitespace=
"preserve">get the values of the pseudo-axes from the real-axes values
1941 <return-value transfer-ownership=
"none">
1942 <type name=
"gint" c:
type=
"int"/>
1945 <parameter name=
"error" transfer-ownership=
"none" allow-none=
"1">
1946 <doc xml:
whitespace=
"preserve">NULL or an HklError
</doc>
1947 <type name=
"Error" c:
type=
"HklError**"/>
1951 <method name=
"get_values"
1952 c:
identifier=
"hkl_pseudo_axis_engine_get_values"
1954 <doc xml:
whitespace=
"preserve">get the values of all the pseudo axes
</doc>
1955 <return-value transfer-ownership=
"none">
1956 <type name=
"none" c:
type=
"void"/>
1959 <parameter name=
"values" transfer-ownership=
"none">
1960 <type name=
"gdouble" c:
type=
"double"/>
1962 <parameter name=
"len" transfer-ownership=
"none">
1963 <type name=
"guint" c:
type=
"uint*"/>
1967 <method name=
"get_values_unit"
1968 c:
identifier=
"hkl_pseudo_axis_engine_get_values_unit">
1969 <doc xml:
whitespace=
"preserve">free the array with free when done
</doc>
1970 <return-value transfer-ownership=
"full">
1971 <doc xml:
whitespace=
"preserve">list of pseudo axes values with unit
</doc>
1972 <array length=
"0" zero-terminated=
"0" c:
type=
"double*">
1973 <type name=
"gdouble" c:
type=
"double"/>
1977 <parameter name=
"len"
1979 caller-allocates=
"1"
1980 transfer-ownership=
"full">
1981 <doc xml:
whitespace=
"preserve">the length of the returned array
</doc>
1982 <type name=
"guint" c:
type=
"unsigned int*"/>
1986 <method name=
"initialize"
1987 c:
identifier=
"hkl_pseudo_axis_engine_initialize"
1989 <doc xml:
whitespace=
"preserve">initialize the HklPseudoAxisEngine
1992 <return-value transfer-ownership=
"none">
1993 <type name=
"gint" c:
type=
"int"/>
1996 <parameter name=
"error" transfer-ownership=
"none" allow-none=
"1">
1997 <doc xml:
whitespace=
"preserve">NULL or an HklError to check for error's during the initialization
</doc>
1998 <type name=
"Error" c:
type=
"HklError**"/>
2002 <method name=
"pseudo_axes"
2003 c:
identifier=
"hkl_pseudo_axis_engine_pseudo_axes">
2004 <doc xml:
whitespace=
"preserve">free the list with g_slist_free when done.
</doc>
2005 <return-value transfer-ownership=
"container">
2006 <doc xml:
whitespace=
"preserve">list of pseudo axes,
</doc>
2007 <type name=
"GLib.SList" c:
type=
"GSList*">
2008 <type name=
"PseudoAxis"/>
2012 <method name=
"select_mode"
2013 c:
identifier=
"hkl_pseudo_axis_engine_select_mode"
2015 <doc xml:
whitespace=
"preserve">This method also populate the self-
>axes from the mode-
>axes_names.
2016 this is to speed the computation of the numerical axes. this method
2017 is usually only use with numerical pseudoAxes.
</doc>
2018 <return-value transfer-ownership=
"none">
2019 <type name=
"none" c:
type=
"void"/>
2022 <parameter name=
"mode" transfer-ownership=
"none">
2023 <doc xml:
whitespace=
"preserve">the #HklPseudoAxisMode to select
</doc>
2024 <type name=
"PseudoAxisEngineMode"
2025 c:
type=
"HklPseudoAxisEngineMode*"/>
2029 <method name=
"select_mode_by_name"
2030 c:
identifier=
"hkl_pseudo_axis_engine_select_mode_by_name">
2031 <return-value transfer-ownership=
"none">
2032 <type name=
"none" c:
type=
"void"/>
2035 <parameter name=
"name" transfer-ownership=
"none">
2036 <type name=
"utf8" c:
type=
"char*"/>
2041 c:
identifier=
"hkl_pseudo_axis_engine_set"
2043 <doc xml:
whitespace=
"preserve">use the HklPseudoaxisEngine values to compute the real axes values.
2046 <return-value transfer-ownership=
"none">
2047 <type name=
"gint" c:
type=
"int"/>
2050 <parameter name=
"error" transfer-ownership=
"none" allow-none=
"1">
2051 <doc xml:
whitespace=
"preserve">NULL or an HklError
</doc>
2052 <type name=
"Error" c:
type=
"HklError**"/>
2056 <method name=
"set_values"
2057 c:
identifier=
"hkl_pseudo_axis_engine_set_values"
2059 <doc xml:
whitespace=
"preserve">set the values of th ePseudoAxes with the given values
</doc>
2060 <return-value transfer-ownership=
"none">
2061 <type name=
"none" c:
type=
"void"/>
2064 <parameter name=
"values" transfer-ownership=
"none">
2065 <doc xml:
whitespace=
"preserve">the values to set
</doc>
2066 <type name=
"gdouble" c:
type=
"double"/>
2068 <parameter name=
"len" transfer-ownership=
"none">
2069 <type name=
"guint" c:
type=
"uint"/>
2073 <method name=
"set_values_unit"
2074 c:
identifier=
"hkl_pseudo_axis_engine_set_values_unit"
2076 <doc xml:
whitespace=
"preserve">compute the #HklGeometry angles for this #HklPseudoAxisEngine
</doc>
2077 <return-value transfer-ownership=
"none">
2078 <doc xml:
whitespace=
"preserve">TRUE on success or FALSE if an error occurred
</doc>
2079 <type name=
"gboolean" c:
type=
"gboolean"/>
2082 <parameter name=
"values" transfer-ownership=
"none">
2083 <doc xml:
whitespace=
"preserve">the values to set
</doc>
2084 <array length=
"1" zero-terminated=
"0" c:
type=
"double">
2085 <type name=
"gdouble" c:
type=
"double"/>
2088 <parameter name=
"len" transfer-ownership=
"none">
2089 <doc xml:
whitespace=
"preserve">the len of the values array
</doc>
2090 <type name=
"guint" c:
type=
"unsigned int"/>
2094 <function name=
"fprintf"
2095 c:
identifier=
"hkl_pseudo_axis_engine_fprintf"
2097 <doc xml:
whitespace=
"preserve">print to a FILE the HklPseudoAxisEngine
</doc>
2098 <return-value transfer-ownership=
"none">
2099 <type name=
"none" c:
type=
"void"/>
2102 <parameter name=
"f" transfer-ownership=
"none">
2103 <doc xml:
whitespace=
"preserve">the FILE
</doc>
2104 <type name=
"gpointer" c:
type=
"FILE*"/>
2106 <parameter name=
"self" transfer-ownership=
"none">
2107 <doc xml:
whitespace=
"preserve">the HklPseudoAxisEngine
</doc>
2108 <type name=
"PseudoAxisEngine" c:
type=
"HklPseudoAxisEngine*"/>
2113 <record name=
"PseudoAxisEngineInfo" c:
type=
"HklPseudoAxisEngineInfo">
2114 <field name=
"name" writable=
"1">
2115 <type name=
"utf8" c:
type=
"char*"/>
2117 <field name=
"pseudo_axes" writable=
"1">
2118 <type name=
"PseudoAxis" c:
type=
"HklPseudoAxis**"/>
2120 <field name=
"n_pseudo_axes" writable=
"1">
2121 <type name=
"guint" c:
type=
"uint"/>
2124 <record name=
"PseudoAxisEngineList"
2125 c:
type=
"HklPseudoAxisEngineList"
2126 glib:
type-name=
"HklPseudoAxisEngineList"
2127 glib:
get-type=
"hkl_pseudo_axis_engine_list_get_type"
2128 c:
symbol-prefix=
"pseudo_axis_engine_list">
2129 <field name=
"geometries" writable=
"1">
2130 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
2132 <field name=
"geometry" writable=
"1">
2133 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
2135 <field name=
"detector" writable=
"1">
2136 <type name=
"Detector" c:
type=
"HklDetector*"/>
2138 <field name=
"sample" writable=
"1">
2139 <type name=
"Sample" c:
type=
"HklSample*"/>
2141 <field name=
"engines" writable=
"1">
2142 <type name=
"gpointer" c:
type=
"gpointer"/>
2144 <field name=
"_shit" writable=
"1">
2145 <type name=
"gpointer" c:
type=
"void*"/>
2147 <method name=
"engines"
2148 c:
identifier=
"hkl_pseudo_axis_engine_list_engines">
2149 <doc xml:
whitespace=
"preserve">free the list with g_slist_free when done.
</doc>
2150 <return-value transfer-ownership=
"container">
2151 <doc xml:
whitespace=
"preserve">list of engines,
</doc>
2152 <type name=
"GLib.SList" c:
type=
"GSList*">
2153 <type name=
"PseudoAxisEngine"/>
2158 c:
identifier=
"hkl_pseudo_axis_engine_list_free"
2160 <doc xml:
whitespace=
"preserve">destructor
</doc>
2161 <return-value transfer-ownership=
"none">
2162 <type name=
"none" c:
type=
"void"/>
2165 <method name=
"get" c:
identifier=
"hkl_pseudo_axis_engine_list_get">
2166 <doc xml:
whitespace=
"preserve">apply the get method to all the #HklPseudoAxisEngine of the list
2167 after this it is possible to retrive all the #HklPseudoAxis values.
2169 get method failed.
</doc>
2170 <return-value transfer-ownership=
"none">
2171 <doc xml:
whitespace=
"preserve">HKL_SUCCESS or HKL_FAIL if one of the #HklPseudoAxisEngine
</doc>
2172 <type name=
"gint" c:
type=
"int"/>
2175 <method name=
"get_by_name"
2176 c:
identifier=
"hkl_pseudo_axis_engine_list_get_by_name">
2177 <doc xml:
whitespace=
"preserve">get the #HklPseudoAxisEngine by its name from the list.
</doc>
2178 <return-value transfer-ownership=
"none">
2179 <doc xml:
whitespace=
"preserve">the requested engine
</doc>
2180 <type name=
"PseudoAxisEngine" c:
type=
"HklPseudoAxisEngine*"/>
2183 <parameter name=
"name" transfer-ownership=
"none">
2184 <doc xml:
whitespace=
"preserve">the name of the requested #HklPseudoAxisEngin
</doc>
2185 <type name=
"utf8" c:
type=
"char*"/>
2189 <method name=
"get_pseudo_axis_by_name"
2190 c:
identifier=
"hkl_pseudo_axis_engine_list_get_pseudo_axis_by_name">
2191 <doc xml:
whitespace=
"preserve">Todo: test
</doc>
2192 <return-value transfer-ownership=
"none">
2193 <doc xml:
whitespace=
"preserve">the requested #HklPseudoAxis
</doc>
2194 <type name=
"PseudoAxis" c:
type=
"HklPseudoAxis*"/>
2197 <parameter name=
"name" transfer-ownership=
"none">
2198 <doc xml:
whitespace=
"preserve">the name of the requested #HklPseudoAxis
</doc>
2199 <type name=
"utf8" c:
type=
"char*"/>
2203 <method name=
"init" c:
identifier=
"hkl_pseudo_axis_engine_list_init">
2204 <doc xml:
whitespace=
"preserve">before using an engine list you must associate all engines to a
2205 Geometry, a detector and a sample.
</doc>
2206 <return-value transfer-ownership=
"none">
2207 <type name=
"none" c:
type=
"void"/>
2210 <parameter name=
"geometry" transfer-ownership=
"none">
2211 <doc xml:
whitespace=
"preserve">the associated #HklGeometry
</doc>
2212 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
2214 <parameter name=
"detector" transfer-ownership=
"none">
2215 <doc xml:
whitespace=
"preserve">the associated #HklDetector
</doc>
2216 <type name=
"Detector" c:
type=
"HklDetector*"/>
2218 <parameter name=
"sample" transfer-ownership=
"none">
2219 <doc xml:
whitespace=
"preserve">the associated #HklSample
</doc>
2220 <type name=
"Sample" c:
type=
"HklSample*"/>
2224 <function name=
"factory"
2225 c:
identifier=
"hkl_pseudo_axis_engine_list_factory">
2226 <doc xml:
whitespace=
"preserve">create an #HklPseudoAxisEngineList given an #HklGeometryConfig
</doc>
2227 <return-value transfer-ownership=
"full">
2228 <type name=
"PseudoAxisEngineList" c:
type=
"HklPseudoAxisEngineList*"/>
2231 <parameter name=
"config" transfer-ownership=
"none">
2232 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
2236 <function name=
"fprintf"
2237 c:
identifier=
"hkl_pseudo_axis_engine_list_fprintf"
2239 <doc xml:
whitespace=
"preserve">print to a FILE the #HklPseudoAxisEngineList
</doc>
2240 <return-value transfer-ownership=
"none">
2241 <type name=
"none" c:
type=
"void"/>
2244 <parameter name=
"f" transfer-ownership=
"none">
2245 <doc xml:
whitespace=
"preserve">the File
</doc>
2246 <type name=
"gpointer" c:
type=
"FILE*"/>
2248 <parameter name=
"self" transfer-ownership=
"none">
2249 <doc xml:
whitespace=
"preserve">the list
</doc>
2250 <type name=
"PseudoAxisEngineList"
2251 c:
type=
"HklPseudoAxisEngineList*"/>
2256 <record name=
"PseudoAxisEngineMode" c:
type=
"HklPseudoAxisEngineMode">
2257 <field name=
"info" writable=
"1">
2258 <type name=
"PseudoAxisEngineModeInfo"
2259 c:
type=
"HklPseudoAxisEngineModeInfo*"/>
2261 <field name=
"op" writable=
"1">
2262 <type name=
"PseudoAxisEngineModeOperations"
2263 c:
type=
"HklPseudoAxisEngineModeOperations*"/>
2265 <field name=
"parameters" writable=
"1">
2266 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2268 <field name=
"parameters_len" writable=
"1">
2269 <type name=
"gulong" c:
type=
"size_t"/>
2271 <field name=
"geometry_init" writable=
"1">
2272 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
2274 <field name=
"detector_init" writable=
"1">
2275 <type name=
"Detector" c:
type=
"HklDetector*"/>
2277 <field name=
"sample_init" writable=
"1">
2278 <type name=
"Sample" c:
type=
"HklSample*"/>
2280 <field name=
"list" writable=
"1">
2281 <type name=
"gpointer" c:
type=
"gpointer"/>
2283 <field name=
"_shit" writable=
"1">
2284 <type name=
"gpointer" c:
type=
"void*"/>
2286 <function name=
"fprintf"
2287 c:
identifier=
"hkl_pseudo_axis_engine_mode_fprintf"
2289 <doc xml:
whitespace=
"preserve">print to a FILE the HklPSeudoAxisEngineMode members
</doc>
2290 <return-value transfer-ownership=
"none">
2291 <type name=
"none" c:
type=
"void"/>
2294 <parameter name=
"f" transfer-ownership=
"none">
2295 <type name=
"gpointer" c:
type=
"FILE*"/>
2297 <parameter name=
"self" transfer-ownership=
"none">
2298 <type name=
"PseudoAxisEngineMode"
2299 c:
type=
"HklPseudoAxisEngineMode*"/>
2304 <record name=
"PseudoAxisEngineModeInfo"
2305 c:
type=
"HklPseudoAxisEngineModeInfo">
2306 <field name=
"name" writable=
"1">
2307 <type name=
"utf8" c:
type=
"char*"/>
2309 <field name=
"axes" writable=
"1">
2310 <type name=
"utf8" c:
type=
"char**"/>
2312 <field name=
"n_axes" writable=
"1">
2313 <type name=
"guint" c:
type=
"uint"/>
2315 <field name=
"parameters" writable=
"1">
2316 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2318 <field name=
"n_parameters" writable=
"1">
2319 <type name=
"guint" c:
type=
"uint"/>
2322 <record name=
"PseudoAxisEngineModeOperations"
2323 c:
type=
"HklPseudoAxisEngineModeOperations"
2326 <record name=
"Quaternion"
2327 c:
type=
"HklQuaternion"
2328 glib:
type-name=
"HklQuaternion"
2329 glib:
get-type=
"hkl_quaternion_get_type"
2330 c:
symbol-prefix=
"quaternion">
2331 <field name=
"data" writable=
"1">
2332 <array zero-terminated=
"0" c:
type=
"gdouble" fixed-size=
"4">
2333 <type name=
"gdouble" c:
type=
"double"/>
2336 <method name=
"cmp" c:
identifier=
"hkl_quaternion_cmp">
2337 <doc xml:
whitespace=
"preserve">compare two #HklQuaternion.
</doc>
2338 <return-value transfer-ownership=
"none">
2339 <doc xml:
whitespace=
"preserve">#HKL_TRUE if both are equal, #HKL_FALSE otherwise.
</doc>
2340 <type name=
"gint" c:
type=
"int"/>
2343 <parameter name=
"q" transfer-ownership=
"none">
2344 <doc xml:
whitespace=
"preserve">the second #HklQuaternion
</doc>
2345 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
2349 <method name=
"conjugate" c:
identifier=
"hkl_quaternion_conjugate">
2350 <doc xml:
whitespace=
"preserve">compute the conjugate of a quaternion
</doc>
2351 <return-value transfer-ownership=
"none">
2352 <type name=
"none" c:
type=
"void"/>
2355 <method name=
"dup" c:
identifier=
"hkl_quaternion_dup" introspectable=
"0">
2356 <doc xml:
whitespace=
"preserve">Returns:
</doc>
2357 <return-value transfer-ownership=
"full">
2358 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
2362 c:
identifier=
"hkl_quaternion_free"
2364 <return-value transfer-ownership=
"none">
2365 <type name=
"none" c:
type=
"void"/>
2368 <method name=
"init" c:
identifier=
"hkl_quaternion_init">
2369 <doc xml:
whitespace=
"preserve">initialize the four elements of an #HklQuaternion
</doc>
2370 <return-value transfer-ownership=
"none">
2371 <type name=
"none" c:
type=
"void"/>
2374 <parameter name=
"a" transfer-ownership=
"none">
2375 <doc xml:
whitespace=
"preserve">the
1st element value
</doc>
2376 <type name=
"gdouble" c:
type=
"double"/>
2378 <parameter name=
"b" transfer-ownership=
"none">
2379 <doc xml:
whitespace=
"preserve">the
2nd element value
</doc>
2380 <type name=
"gdouble" c:
type=
"double"/>
2382 <parameter name=
"c" transfer-ownership=
"none">
2383 <doc xml:
whitespace=
"preserve">the
3rd element value
</doc>
2384 <type name=
"gdouble" c:
type=
"double"/>
2386 <parameter name=
"d" transfer-ownership=
"none">
2387 <doc xml:
whitespace=
"preserve">the
4th element value
</doc>
2388 <type name=
"gdouble" c:
type=
"double"/>
2392 <method name=
"init_from_angle_and_axe"
2393 c:
identifier=
"hkl_quaternion_init_from_angle_and_axe">
2394 <doc xml:
whitespace=
"preserve">initialize an #HklQuaternion from a vector and a angle.
</doc>
2395 <return-value transfer-ownership=
"none">
2396 <type name=
"none" c:
type=
"void"/>
2399 <parameter name=
"angle" transfer-ownership=
"none">
2400 <doc xml:
whitespace=
"preserve">the angles of the rotation
</doc>
2401 <type name=
"gdouble" c:
type=
"double"/>
2403 <parameter name=
"v" transfer-ownership=
"none">
2404 <doc xml:
whitespace=
"preserve">the axe of rotation
</doc>
2405 <type name=
"Vector" c:
type=
"HklVector*"/>
2409 <method name=
"init_from_vector"
2410 c:
identifier=
"hkl_quaternion_init_from_vector">
2411 <doc xml:
whitespace=
"preserve">initialize an #HklQuaternion from an #HklVector
</doc>
2412 <return-value transfer-ownership=
"none">
2413 <type name=
"none" c:
type=
"void"/>
2416 <parameter name=
"v" transfer-ownership=
"none">
2417 <doc xml:
whitespace=
"preserve">the #HklVector used to set the self #HklQuaternion
</doc>
2418 <type name=
"Vector" c:
type=
"HklVector*"/>
2422 <method name=
"minus_quaternion"
2423 c:
identifier=
"hkl_quaternion_minus_quaternion">
2424 <doc xml:
whitespace=
"preserve">substract two #HklQuaternions
2426 <return-value transfer-ownership=
"none">
2427 <type name=
"none" c:
type=
"void"/>
2430 <parameter name=
"q" transfer-ownership=
"none">
2431 <doc xml:
whitespace=
"preserve">the #HklQuaternion to substract
</doc>
2432 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
2436 <method name=
"norm2" c:
identifier=
"hkl_quaternion_norm2">
2437 <doc xml:
whitespace=
"preserve">compute the norm2 of an #HklQuaternion
</doc>
2438 <return-value transfer-ownership=
"none">
2439 <doc xml:
whitespace=
"preserve">the self #hklquaternion norm
</doc>
2440 <type name=
"gdouble" c:
type=
"double"/>
2443 <method name=
"times_quaternion"
2444 c:
identifier=
"hkl_quaternion_times_quaternion">
2445 <doc xml:
whitespace=
"preserve">multiply two quaternions
</doc>
2446 <return-value transfer-ownership=
"none">
2447 <type name=
"none" c:
type=
"void"/>
2450 <parameter name=
"q" transfer-ownership=
"none">
2451 <doc xml:
whitespace=
"preserve">the #HklQuaternion to multiply by
</doc>
2452 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
2456 <method name=
"to_angle_and_axe"
2457 c:
identifier=
"hkl_quaternion_to_angle_and_axe">
2458 <doc xml:
whitespace=
"preserve">compute the axe and angle of the unitary quaternion angle [-pi, pi]
2459 if q is the (
1,
0,
0,
0) quaternion return the (
0,
0,
0) axe and a
0 angle
</doc>
2460 <return-value transfer-ownership=
"none">
2461 <type name=
"none" c:
type=
"void"/>
2464 <parameter name=
"angle" transfer-ownership=
"none">
2465 <doc xml:
whitespace=
"preserve">the returned angle of the rotation.
</doc>
2466 <type name=
"gdouble" c:
type=
"double*"/>
2468 <parameter name=
"v" transfer-ownership=
"none">
2469 <doc xml:
whitespace=
"preserve">the returned axis of the rotation.
</doc>
2470 <type name=
"Vector" c:
type=
"HklVector*"/>
2474 <method name=
"to_matrix" c:
identifier=
"hkl_quaternion_to_matrix">
2475 <doc xml:
whitespace=
"preserve">Compute the rotation matrix of a Quaternion.
2477 compute the rotation matrix corresponding to the unitary quaternion.
2478 \f$ q = a + b \cdot i + c \cdot j + d \cdot k \f$
2483 a^
2+b^
2-c^
2-d^
2 & 2bc-
2ad
& 2ac+
2bd\\
2484 2ad+
2bc
& a^
2-b^
2+c^
2-d^
2 & 2cd-
2ab\\
2485 2bd-
2ac
& 2ab+
2cd
& a^
2-b^
2-c^
2+d^
2
2489 Todo: optimize
</doc>
2490 <return-value transfer-ownership=
"none">
2491 <type name=
"none" c:
type=
"void"/>
2494 <parameter name=
"m" transfer-ownership=
"none">
2495 <doc xml:
whitespace=
"preserve">the #HklMatrix return.
</doc>
2496 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
2500 <function name=
"fprintf" c:
identifier=
"hkl_quaternion_fprintf">
2501 <doc xml:
whitespace=
"preserve">print an #HklQuaternion into a FILE stream
</doc>
2502 <return-value transfer-ownership=
"none">
2503 <type name=
"none" c:
type=
"void"/>
2506 <parameter name=
"file" transfer-ownership=
"none">
2507 <doc xml:
whitespace=
"preserve">the file to send the #HklQuaternion into
</doc>
2508 <type name=
"gpointer" c:
type=
"FILE*"/>
2510 <parameter name=
"self" transfer-ownership=
"none">
2511 <doc xml:
whitespace=
"preserve">the #HklQuaternion to write into the file stream.
</doc>
2512 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
2517 <constant name=
"SOURCE_DEFAULT_WAVE_LENGTH"
2519 c:
type=
"HKL_SOURCE_DEFAULT_WAVE_LENGTH">
2520 <type name=
"gdouble" c:
type=
"gdouble"/>
2522 <record name=
"Sample"
2524 glib:
type-name=
"HklSample"
2525 glib:
get-type=
"hkl_sample_get_type"
2526 c:
symbol-prefix=
"sample">
2527 <field name=
"name" writable=
"1">
2528 <type name=
"utf8" c:
type=
"char*"/>
2530 <field name=
"type" writable=
"1">
2531 <type name=
"SampleType" c:
type=
"HklSampleType"/>
2533 <field name=
"lattice" writable=
"1">
2534 <type name=
"Lattice" c:
type=
"HklLattice*"/>
2536 <field name=
"U" writable=
"1">
2537 <type name=
"Matrix" c:
type=
"HklMatrix"/>
2539 <field name=
"UB" writable=
"1">
2540 <type name=
"Matrix" c:
type=
"HklMatrix"/>
2542 <field name=
"ux" writable=
"1">
2543 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2545 <field name=
"uy" writable=
"1">
2546 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2548 <field name=
"uz" writable=
"1">
2549 <type name=
"Parameter" c:
type=
"HklParameter*"/>
2551 <field name=
"reflections" writable=
"1">
2552 <type name=
"SampleReflection" c:
type=
"HklSampleReflection**"/>
2554 <field name=
"reflections_len" writable=
"1">
2555 <type name=
"gulong" c:
type=
"size_t"/>
2557 <constructor name=
"new" c:
identifier=
"hkl_sample_new">
2558 <doc xml:
whitespace=
"preserve">constructor
2561 <return-value transfer-ownership=
"full">
2562 <type name=
"Sample" c:
type=
"HklSample*"/>
2565 <parameter name=
"name" transfer-ownership=
"none">
2566 <type name=
"utf8" c:
type=
"char*"/>
2568 <parameter name=
"type" transfer-ownership=
"none">
2569 <type name=
"SampleType" c:
type=
"HklSampleType"/>
2573 <method name=
"add_reflection"
2574 c:
identifier=
"hkl_sample_add_reflection"
2576 <doc xml:
whitespace=
"preserve">add a reflection to the sample
2579 <return-value transfer-ownership=
"full">
2580 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
2583 <parameter name=
"geometry" transfer-ownership=
"none">
2584 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
2586 <parameter name=
"detector" transfer-ownership=
"none">
2587 <type name=
"Detector" c:
type=
"HklDetector*"/>
2589 <parameter name=
"h" transfer-ownership=
"none">
2590 <type name=
"gdouble" c:
type=
"double"/>
2592 <parameter name=
"k" transfer-ownership=
"none">
2593 <type name=
"gdouble" c:
type=
"double"/>
2595 <parameter name=
"l" transfer-ownership=
"none">
2596 <type name=
"gdouble" c:
type=
"double"/>
2600 <method name=
"affine"
2601 c:
identifier=
"hkl_sample_affine"
2603 <doc xml:
whitespace=
"preserve">affine the sample
2606 <return-value transfer-ownership=
"none">
2607 <type name=
"gdouble" c:
type=
"double"/>
2610 <method name=
"compute_UB_busing_levy"
2611 c:
identifier=
"hkl_sample_compute_UB_busing_levy"
2613 <doc xml:
whitespace=
"preserve">compute the UB matrix using the Busing and Levy method
2617 <return-value transfer-ownership=
"none">
2618 <type name=
"gint" c:
type=
"int"/>
2621 <parameter name=
"idx1" transfer-ownership=
"none">
2622 <type name=
"gulong" c:
type=
"size_t"/>
2624 <parameter name=
"idx2" transfer-ownership=
"none">
2625 <type name=
"gulong" c:
type=
"size_t"/>
2629 <method name=
"del_reflection"
2630 c:
identifier=
"hkl_sample_del_reflection"
2632 <doc xml:
whitespace=
"preserve">delete the idx reflection
2635 <return-value transfer-ownership=
"none">
2636 <type name=
"gint" c:
type=
"int"/>
2639 <parameter name=
"idx" transfer-ownership=
"none">
2640 <type name=
"gulong" c:
type=
"size_t"/>
2644 <method name=
"free" c:
identifier=
"hkl_sample_free" introspectable=
"0">
2645 <doc xml:
whitespace=
"preserve">destructor
</doc>
2646 <return-value transfer-ownership=
"none">
2647 <type name=
"none" c:
type=
"void"/>
2650 <method name=
"get_UB"
2651 c:
identifier=
"hkl_sample_get_UB"
2653 <doc xml:
whitespace=
"preserve">get the UB matrix of the sample
</doc>
2654 <return-value transfer-ownership=
"none">
2655 <type name=
"none" c:
type=
"void"/>
2658 <parameter name=
"UB"
2660 caller-allocates=
"0"
2661 transfer-ownership=
"full">
2662 <doc xml:
whitespace=
"preserve">where to store the UB matrix
</doc>
2663 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
2667 <method name=
"get_ith_reflection"
2668 c:
identifier=
"hkl_sample_get_ith_reflection"
2670 <doc xml:
whitespace=
"preserve">get the ith reflection
2673 <return-value transfer-ownership=
"full">
2674 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
2677 <parameter name=
"idx" transfer-ownership=
"none">
2678 <type name=
"gulong" c:
type=
"size_t"/>
2682 <method name=
"get_reflection_mesured_angle"
2683 c:
identifier=
"hkl_sample_get_reflection_mesured_angle"
2685 <doc xml:
whitespace=
"preserve">get the mesured angles between two reflections
2688 <return-value transfer-ownership=
"none">
2689 <type name=
"gdouble" c:
type=
"double"/>
2692 <parameter name=
"idx1" transfer-ownership=
"none">
2693 <type name=
"gulong" c:
type=
"size_t"/>
2695 <parameter name=
"idx2" transfer-ownership=
"none">
2696 <type name=
"gulong" c:
type=
"size_t"/>
2700 <method name=
"get_reflection_theoretical_angle"
2701 c:
identifier=
"hkl_sample_get_reflection_theoretical_angle"
2703 <doc xml:
whitespace=
"preserve">get the theoretical angles between two reflections
2706 <return-value transfer-ownership=
"none">
2707 <type name=
"gdouble" c:
type=
"double"/>
2710 <parameter name=
"idx1" transfer-ownership=
"none">
2711 <type name=
"gulong" c:
type=
"size_t"/>
2713 <parameter name=
"idx2" transfer-ownership=
"none">
2714 <type name=
"gulong" c:
type=
"size_t"/>
2718 <method name=
"new_copy"
2719 c:
identifier=
"hkl_sample_new_copy"
2721 <doc xml:
whitespace=
"preserve">copy constructor
2724 <return-value transfer-ownership=
"full">
2725 <type name=
"Sample" c:
type=
"HklSample*"/>
2728 <method name=
"set_UB"
2729 c:
identifier=
"hkl_sample_set_UB"
2731 <doc xml:
whitespace=
"preserve">Set the UB matrix using an external UB matrix. In fact you give
2732 the UB matrix but only the U matrix of the sample is affected by
2733 this operation. We keep the B matrix constant.
2734 U * B = UB -
> U = UB * B^-
1</doc>
2735 <return-value transfer-ownership=
"none">
2736 <type name=
"gdouble" c:
type=
"double"/>
2739 <parameter name=
"UB" transfer-ownership=
"none">
2740 <doc xml:
whitespace=
"preserve">the UB matrix to set
</doc>
2741 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
2745 <method name=
"set_U_from_euler"
2746 c:
identifier=
"hkl_sample_set_U_from_euler"
2748 <doc xml:
whitespace=
"preserve">set the U matrix using the eulerians angles
2752 <return-value transfer-ownership=
"none">
2753 <type name=
"gint" c:
type=
"int"/>
2756 <parameter name=
"x" transfer-ownership=
"none">
2757 <type name=
"gdouble" c:
type=
"double"/>
2759 <parameter name=
"y" transfer-ownership=
"none">
2760 <type name=
"gdouble" c:
type=
"double"/>
2762 <parameter name=
"z" transfer-ownership=
"none">
2763 <type name=
"gdouble" c:
type=
"double"/>
2767 <method name=
"set_lattice" c:
identifier=
"hkl_sample_set_lattice">
2768 <doc xml:
whitespace=
"preserve">set the lattic eparameters of the sample
2771 <return-value transfer-ownership=
"none">
2772 <type name=
"gint" c:
type=
"int"/>
2775 <parameter name=
"a" transfer-ownership=
"none">
2776 <type name=
"gdouble" c:
type=
"double"/>
2778 <parameter name=
"b" transfer-ownership=
"none">
2779 <type name=
"gdouble" c:
type=
"double"/>
2781 <parameter name=
"c" transfer-ownership=
"none">
2782 <type name=
"gdouble" c:
type=
"double"/>
2784 <parameter name=
"alpha" transfer-ownership=
"none">
2785 <type name=
"gdouble" c:
type=
"double"/>
2787 <parameter name=
"beta" transfer-ownership=
"none">
2788 <type name=
"gdouble" c:
type=
"double"/>
2790 <parameter name=
"gamma" transfer-ownership=
"none">
2791 <type name=
"gdouble" c:
type=
"double"/>
2795 <method name=
"set_name"
2796 c:
identifier=
"hkl_sample_set_name"
2798 <doc xml:
whitespace=
"preserve">set the name of the sample
</doc>
2799 <return-value transfer-ownership=
"none">
2800 <type name=
"none" c:
type=
"void"/>
2803 <parameter name=
"name" transfer-ownership=
"none">
2804 <type name=
"utf8" c:
type=
"char*"/>
2808 <function name=
"fprintf"
2809 c:
identifier=
"hkl_sample_fprintf"
2811 <doc xml:
whitespace=
"preserve">print to a file a sample
</doc>
2812 <return-value transfer-ownership=
"none">
2813 <type name=
"none" c:
type=
"void"/>
2816 <parameter name=
"f" transfer-ownership=
"none">
2817 <type name=
"gpointer" c:
type=
"FILE*"/>
2819 <parameter name=
"self" transfer-ownership=
"none">
2820 <type name=
"Sample" c:
type=
"HklSample*"/>
2825 <record name=
"SampleList"
2826 c:
type=
"HklSampleList"
2827 glib:
type-name=
"HklSampleList"
2828 glib:
get-type=
"hkl_sample_list_get_type"
2829 c:
symbol-prefix=
"sample_list">
2830 <field name=
"samples" writable=
"1">
2831 <type name=
"Sample" c:
type=
"HklSample**"/>
2833 <field name=
"len" writable=
"1">
2834 <type name=
"gulong" c:
type=
"size_t"/>
2836 <field name=
"alloc" writable=
"1">
2837 <type name=
"gulong" c:
type=
"size_t"/>
2839 <field name=
"current" writable=
"1">
2840 <type name=
"Sample" c:
type=
"HklSample*"/>
2842 <constructor name=
"new"
2843 c:
identifier=
"hkl_sample_list_new"
2845 <doc xml:
whitespace=
"preserve">constructor
2848 <return-value transfer-ownership=
"full">
2849 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
2852 <method name=
"append"
2853 c:
identifier=
"hkl_sample_list_append"
2855 <doc xml:
whitespace=
"preserve">append a sample to a sample list
2858 <return-value transfer-ownership=
"full">
2859 <type name=
"Sample" c:
type=
"HklSample*"/>
2862 <parameter name=
"sample" transfer-ownership=
"none">
2863 <type name=
"Sample" c:
type=
"HklSample*"/>
2867 <method name=
"clear"
2868 c:
identifier=
"hkl_sample_list_clear"
2870 <doc xml:
whitespace=
"preserve">clear a sample list
</doc>
2871 <return-value transfer-ownership=
"none">
2872 <type name=
"none" c:
type=
"void"/>
2875 <method name=
"del" c:
identifier=
"hkl_sample_list_del" introspectable=
"0">
2876 <doc xml:
whitespace=
"preserve">remove a sample to the sample list
</doc>
2877 <return-value transfer-ownership=
"none">
2878 <type name=
"none" c:
type=
"void"/>
2881 <parameter name=
"sample" transfer-ownership=
"none">
2882 <type name=
"Sample" c:
type=
"HklSample*"/>
2887 c:
identifier=
"hkl_sample_list_free"
2889 <doc xml:
whitespace=
"preserve">destructor
</doc>
2890 <return-value transfer-ownership=
"none">
2891 <type name=
"none" c:
type=
"void"/>
2894 <method name=
"get_by_name"
2895 c:
identifier=
"hkl_sample_list_get_by_name"
2897 <doc xml:
whitespace=
"preserve">get the @name named #HklSample from the #HklSampleList.
2900 todo: test method
</doc>
2901 <return-value transfer-ownership=
"full">
2902 <doc xml:
whitespace=
"preserve">an #HklSample or NULL if not present in the #HklSampleList
</doc>
2903 <type name=
"Sample" c:
type=
"HklSample*"/>
2906 <parameter name=
"name" transfer-ownership=
"none">
2907 <doc xml:
whitespace=
"preserve">the name of the #HklSample you are looking for.
</doc>
2908 <type name=
"utf8" c:
type=
"char*"/>
2912 <method name=
"get_idx_from_name"
2913 c:
identifier=
"hkl_sample_list_get_idx_from_name"
2915 <doc xml:
whitespace=
"preserve">find the named @name #HklSample in the #HklSampleList and return
2917 <return-value transfer-ownership=
"none">
2918 <doc xml:
whitespace=
"preserve">the index or -
1 if the #HklSample is not present.
</doc>
2919 <type name=
"gint" c:
type=
"int"/>
2922 <parameter name=
"name" transfer-ownership=
"none">
2923 <doc xml:
whitespace=
"preserve">the name of the #HklSample.
</doc>
2924 <type name=
"utf8" c:
type=
"char*"/>
2928 <method name=
"get_ith"
2929 c:
identifier=
"hkl_sample_list_get_ith"
2931 <doc xml:
whitespace=
"preserve">get the ith sample of the sample list
2935 <return-value transfer-ownership=
"full">
2936 <type name=
"Sample" c:
type=
"HklSample*"/>
2939 <parameter name=
"idx" transfer-ownership=
"none">
2940 <type name=
"gulong" c:
type=
"size_t"/>
2944 <method name=
"len" c:
identifier=
"hkl_sample_list_len" introspectable=
"0">
2945 <doc xml:
whitespace=
"preserve">len of the sample list
2946 @todo test and remove
2949 <return-value transfer-ownership=
"none">
2950 <type name=
"gulong" c:
type=
"size_t"/>
2953 <method name=
"new_copy"
2954 c:
identifier=
"hkl_sample_list_new_copy"
2956 <doc xml:
whitespace=
"preserve">copy constructor
2959 <return-value transfer-ownership=
"full">
2960 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
2963 <method name=
"select_current"
2964 c:
identifier=
"hkl_sample_list_select_current"
2966 <doc xml:
whitespace=
"preserve">select the current sample of the sample list
2969 <return-value transfer-ownership=
"none">
2970 <type name=
"gint" c:
type=
"int"/>
2973 <parameter name=
"name" transfer-ownership=
"none">
2974 <type name=
"utf8" c:
type=
"char*"/>
2978 <function name=
"fprintf"
2979 c:
identifier=
"hkl_sample_list_fprintf"
2981 <doc xml:
whitespace=
"preserve">print the sample list to a file
</doc>
2982 <return-value transfer-ownership=
"none">
2983 <type name=
"none" c:
type=
"void"/>
2986 <parameter name=
"f" transfer-ownership=
"none">
2987 <type name=
"gpointer" c:
type=
"FILE*"/>
2989 <parameter name=
"self" transfer-ownership=
"none">
2990 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
2995 <record name=
"SampleReflection"
2996 c:
type=
"HklSampleReflection"
2997 glib:
type-name=
"HklSampleReflection"
2998 glib:
get-type=
"hkl_sample_reflection_get_type"
2999 c:
symbol-prefix=
"sample_reflection">
3000 <field name=
"geometry" writable=
"1">
3001 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
3003 <field name=
"detector" writable=
"1">
3004 <type name=
"Detector" c:
type=
"HklDetector"/>
3006 <field name=
"hkl" writable=
"1">
3007 <type name=
"Vector" c:
type=
"HklVector"/>
3009 <field name=
"_hkl" writable=
"1">
3010 <type name=
"Vector" c:
type=
"HklVector"/>
3012 <field name=
"flag" writable=
"1">
3013 <type name=
"gint" c:
type=
"int"/>
3015 <constructor name=
"new"
3016 c:
identifier=
"hkl_sample_reflection_new"
3018 <doc xml:
whitespace=
"preserve">constructeur
3021 <return-value transfer-ownership=
"full">
3022 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
3025 <parameter name=
"geometry" transfer-ownership=
"none">
3026 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
3028 <parameter name=
"detector" transfer-ownership=
"none">
3029 <type name=
"Detector" c:
type=
"HklDetector*"/>
3031 <parameter name=
"h" transfer-ownership=
"none">
3032 <type name=
"gdouble" c:
type=
"double"/>
3034 <parameter name=
"k" transfer-ownership=
"none">
3035 <type name=
"gdouble" c:
type=
"double"/>
3037 <parameter name=
"l" transfer-ownership=
"none">
3038 <type name=
"gdouble" c:
type=
"double"/>
3043 c:
identifier=
"hkl_sample_reflection_free"
3045 <doc xml:
whitespace=
"preserve">destructor
</doc>
3046 <return-value transfer-ownership=
"none">
3047 <type name=
"none" c:
type=
"void"/>
3050 <method name=
"new_copy"
3051 c:
identifier=
"hkl_sample_reflection_new_copy"
3053 <doc xml:
whitespace=
"preserve">copy constructor
3056 <return-value transfer-ownership=
"full">
3057 <type name=
"SampleReflection" c:
type=
"HklSampleReflection*"/>
3060 <method name=
"set_flag"
3061 c:
identifier=
"hkl_sample_reflection_set_flag"
3063 <doc xml:
whitespace=
"preserve">set the flag of the reglection
</doc>
3064 <return-value transfer-ownership=
"none">
3065 <type name=
"none" c:
type=
"void"/>
3068 <parameter name=
"flag" transfer-ownership=
"none">
3069 <type name=
"gint" c:
type=
"int"/>
3073 <method name=
"set_geometry"
3074 c:
identifier=
"hkl_sample_reflection_set_geometry"
3076 <doc xml:
whitespace=
"preserve">set the geometry of the reflection
</doc>
3077 <return-value transfer-ownership=
"none">
3078 <type name=
"none" c:
type=
"void"/>
3081 <parameter name=
"geometry" transfer-ownership=
"none">
3082 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
3086 <method name=
"set_hkl"
3087 c:
identifier=
"hkl_sample_reflection_set_hkl"
3089 <doc xml:
whitespace=
"preserve">set the hkl value of the reflection
</doc>
3090 <return-value transfer-ownership=
"none">
3091 <type name=
"none" c:
type=
"void"/>
3094 <parameter name=
"h" transfer-ownership=
"none">
3095 <type name=
"gdouble" c:
type=
"double"/>
3097 <parameter name=
"k" transfer-ownership=
"none">
3098 <type name=
"gdouble" c:
type=
"double"/>
3100 <parameter name=
"l" transfer-ownership=
"none">
3101 <type name=
"gdouble" c:
type=
"double"/>
3106 <enumeration name=
"SampleType"
3107 glib:
type-name=
"HklSampleType"
3108 glib:
get-type=
"hkl_sample_type_get_type"
3109 c:
type=
"HklSampleType">
3110 <member name=
"monocrystal"
3112 c:
identifier=
"HKL_SAMPLE_TYPE_MONOCRYSTAL"
3113 glib:
nick=
"monocrystal"/>
3115 <record name=
"Source"
3117 glib:
type-name=
"HklSource"
3118 glib:
get-type=
"hkl_source_get_type"
3119 c:
symbol-prefix=
"source">
3120 <field name=
"wave_length" writable=
"1">
3121 <type name=
"gdouble" c:
type=
"double"/>
3123 <field name=
"direction" writable=
"1">
3124 <type name=
"Vector" c:
type=
"HklVector"/>
3126 <method name=
"cmp" c:
identifier=
"hkl_source_cmp" introspectable=
"0">
3127 <doc xml:
whitespace=
"preserve">compare two sources
3130 <return-value transfer-ownership=
"none">
3131 <type name=
"gint" c:
type=
"int"/>
3134 <parameter name=
"s" transfer-ownership=
"none">
3135 <doc xml:
whitespace=
"preserve">2nd #Hklsource
</doc>
3136 <type name=
"Source" c:
type=
"HklSource*"/>
3140 <method name=
"compute_ki"
3141 c:
identifier=
"hkl_source_compute_ki"
3143 <doc xml:
whitespace=
"preserve">compute the ki hkl_vector
</doc>
3144 <return-value transfer-ownership=
"none">
3145 <type name=
"none" c:
type=
"void"/>
3148 <parameter name=
"ki"
3150 caller-allocates=
"1"
3151 transfer-ownership=
"none">
3152 <type name=
"Vector" c:
type=
"HklVector*"/>
3156 <method name=
"dup" c:
identifier=
"hkl_source_dup">
3157 <doc xml:
whitespace=
"preserve">copy constructor
3161 <return-value transfer-ownership=
"full">
3162 <type name=
"Source" c:
type=
"HklSource*"/>
3165 <method name=
"free" c:
identifier=
"hkl_source_free">
3166 <doc xml:
whitespace=
"preserve">destructor
3168 <return-value transfer-ownership=
"none">
3169 <type name=
"none" c:
type=
"void"/>
3172 <method name=
"get_wavelength"
3173 c:
identifier=
"hkl_source_get_wavelength"
3175 <doc xml:
whitespace=
"preserve">get the wave_length
</doc>
3176 <return-value transfer-ownership=
"none">
3177 <doc xml:
whitespace=
"preserve">the wave_length
</doc>
3178 <type name=
"gdouble" c:
type=
"double"/>
3181 <method name=
"init" c:
identifier=
"hkl_source_init">
3182 <doc xml:
whitespace=
"preserve">initialize the #HklSource
</doc>
3183 <return-value transfer-ownership=
"none">
3184 <doc xml:
whitespace=
"preserve">HKL_SUCCESS if everythongs goes fine, HKL_FAIL otherwise
</doc>
3185 <type name=
"gint" c:
type=
"int"/>
3188 <parameter name=
"wave_length" transfer-ownership=
"none">
3189 <doc xml:
whitespace=
"preserve">the wave length to set
</doc>
3190 <type name=
"gdouble" c:
type=
"double"/>
3192 <parameter name=
"x" transfer-ownership=
"none">
3193 <doc xml:
whitespace=
"preserve">x coordinates of the ki vector
</doc>
3194 <type name=
"gdouble" c:
type=
"double"/>
3196 <parameter name=
"y" transfer-ownership=
"none">
3197 <doc xml:
whitespace=
"preserve">y coordinates of the ki vector
</doc>
3198 <type name=
"gdouble" c:
type=
"double"/>
3200 <parameter name=
"z" transfer-ownership=
"none">
3201 <doc xml:
whitespace=
"preserve">z coordinates of the ki vector
</doc>
3202 <type name=
"gdouble" c:
type=
"double"/>
3206 <function name=
"fprintf"
3207 c:
identifier=
"hkl_source_fprintf"
3209 <doc xml:
whitespace=
"preserve">printf the source
</doc>
3210 <return-value transfer-ownership=
"none">
3211 <type name=
"none" c:
type=
"void"/>
3214 <parameter name=
"f" transfer-ownership=
"none">
3215 <type name=
"gpointer" c:
type=
"FILE*"/>
3217 <parameter name=
"self" transfer-ownership=
"none">
3218 <type name=
"Source" c:
type=
"HklSource*"/>
3225 glib:
type-name=
"HklUnit"
3226 glib:
get-type=
"hkl_unit_get_type"
3227 c:
symbol-prefix=
"unit">
3228 <field name=
"type" writable=
"1">
3229 <type name=
"UnitType" c:
type=
"HklUnitType"/>
3231 <field name=
"name" writable=
"1">
3232 <type name=
"utf8" c:
type=
"char*"/>
3234 <field name=
"repr" writable=
"1">
3235 <type name=
"utf8" c:
type=
"char*"/>
3237 <method name=
"compatible" c:
identifier=
"hkl_unit_compatible">
3238 <return-value transfer-ownership=
"none">
3239 <doc xml:
whitespace=
"preserve">HKL_TRUE or HKL_FALSE
</doc>
3240 <type name=
"gint" c:
type=
"int"/>
3243 <parameter name=
"unit" transfer-ownership=
"none">
3244 <doc xml:
whitespace=
"preserve">the second @HklUnit to check
</doc>
3245 <type name=
"Unit" c:
type=
"HklUnit*"/>
3249 <method name=
"dup" c:
identifier=
"hkl_unit_dup" introspectable=
"0">
3250 <doc xml:
whitespace=
"preserve">copy an #Hklunit
3252 hkl_unit_free)
</doc>
3253 <return-value transfer-ownership=
"full">
3254 <doc xml:
whitespace=
"preserve">the copied #HklUnit (memory must be release with
</doc>
3255 <type name=
"Unit" c:
type=
"HklUnit*"/>
3258 <method name=
"factor" c:
identifier=
"hkl_unit_factor">
3259 <doc xml:
whitespace=
"preserve">compute the factor to convert from one @Hklunit to another one.
3260 @self * factor = @unit
</doc>
3261 <return-value transfer-ownership=
"none">
3262 <doc xml:
whitespace=
"preserve">the factor of the conversion.
</doc>
3263 <type name=
"gdouble" c:
type=
"double"/>
3266 <parameter name=
"unit" transfer-ownership=
"none">
3267 <type name=
"Unit" c:
type=
"HklUnit*"/>
3271 <method name=
"free" c:
identifier=
"hkl_unit_free" introspectable=
"0">
3272 <doc xml:
whitespace=
"preserve">release the memory of an #HklUnit
</doc>
3273 <return-value transfer-ownership=
"none">
3274 <type name=
"none" c:
type=
"void"/>
3278 <enumeration name=
"UnitType"
3279 glib:
type-name=
"HklUnitType"
3280 glib:
get-type=
"hkl_unit_type_get_type"
3281 c:
type=
"HklUnitType">
3282 <member name=
"angle_deg"
3284 c:
identifier=
"HKL_UNIT_ANGLE_DEG"
3285 glib:
nick=
"angle-deg"/>
3286 <member name=
"angle_rad"
3288 c:
identifier=
"HKL_UNIT_ANGLE_RAD"
3289 glib:
nick=
"angle-rad"/>
3290 <member name=
"length_nm"
3292 c:
identifier=
"HKL_UNIT_LENGTH_NM"
3293 glib:
nick=
"length-nm"/>
3295 <record name=
"Vector"
3297 glib:
type-name=
"HklVector"
3298 glib:
get-type=
"hkl_vector_get_type"
3299 c:
symbol-prefix=
"vector">
3300 <field name=
"data" writable=
"1">
3301 <array zero-terminated=
"0" c:
type=
"gdouble" fixed-size=
"3">
3302 <type name=
"gdouble" c:
type=
"double"/>
3305 <method name=
"add_vector"
3306 c:
identifier=
"hkl_vector_add_vector"
3308 <doc xml:
whitespace=
"preserve">add an #HklVector to another one.
</doc>
3309 <return-value transfer-ownership=
"none">
3310 <type name=
"none" c:
type=
"void"/>
3313 <parameter name=
"vector" transfer-ownership=
"none">
3314 <doc xml:
whitespace=
"preserve">the #hklvector to add
</doc>
3315 <type name=
"Vector" c:
type=
"HklVector*"/>
3319 <method name=
"angle" c:
identifier=
"hkl_vector_angle" introspectable=
"0">
3320 <doc xml:
whitespace=
"preserve">compute the angles beetween two #HklVector
</doc>
3321 <return-value transfer-ownership=
"none">
3322 <doc xml:
whitespace=
"preserve">the return value is in beetween [
0, pi]
</doc>
3323 <type name=
"gdouble" c:
type=
"double"/>
3326 <parameter name=
"vector" transfer-ownership=
"none">
3327 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3328 <type name=
"Vector" c:
type=
"HklVector*"/>
3332 <method name=
"cmp" c:
identifier=
"hkl_vector_cmp" introspectable=
"0">
3333 <doc xml:
whitespace=
"preserve">compare two #HklVector. this comparison use HKL_EPSILON
3334 to do the comparison.
</doc>
3335 <return-value transfer-ownership=
"none">
3336 <doc xml:
whitespace=
"preserve">HKL_FALSE if both are equals, HKL_TRUE otherwise.
</doc>
3337 <type name=
"gint" c:
type=
"int"/>
3340 <parameter name=
"vector" transfer-ownership=
"none">
3341 <doc xml:
whitespace=
"preserve">th vector to compare with
</doc>
3342 <type name=
"Vector" c:
type=
"HklVector*"/>
3346 <method name=
"div_double"
3347 c:
identifier=
"hkl_vector_div_double"
3349 <doc xml:
whitespace=
"preserve">divide an #HklVector by constant.
</doc>
3350 <return-value transfer-ownership=
"none">
3351 <type name=
"none" c:
type=
"void"/>
3354 <parameter name=
"d" transfer-ownership=
"none">
3355 <doc xml:
whitespace=
"preserve">constant use to divide the #HklVector
</doc>
3356 <type name=
"gdouble" c:
type=
"double"/>
3360 <method name=
"dup" c:
identifier=
"hkl_vector_dup" introspectable=
"0">
3361 <doc xml:
whitespace=
"preserve">Copy an HklVector
</doc>
3362 <return-value transfer-ownership=
"full">
3363 <doc xml:
whitespace=
"preserve">A copy of self which need to be free using hkl_vector_free
</doc>
3364 <type name=
"Vector" c:
type=
"HklVector*"/>
3367 <method name=
"free" c:
identifier=
"hkl_vector_free" introspectable=
"0">
3368 <doc xml:
whitespace=
"preserve">delete an HklVector struct
</doc>
3369 <return-value transfer-ownership=
"none">
3370 <type name=
"none" c:
type=
"void"/>
3373 <method name=
"init" c:
identifier=
"hkl_vector_init">
3374 <doc xml:
whitespace=
"preserve">initialize an #HklVector
</doc>
3375 <return-value transfer-ownership=
"none">
3376 <type name=
"none" c:
type=
"void"/>
3379 <parameter name=
"x" transfer-ownership=
"none">
3380 <doc xml:
whitespace=
"preserve">the first coordinate value
</doc>
3381 <type name=
"gdouble" c:
type=
"double"/>
3383 <parameter name=
"y" transfer-ownership=
"none">
3384 <doc xml:
whitespace=
"preserve">the second coordinate value
</doc>
3385 <type name=
"gdouble" c:
type=
"double"/>
3387 <parameter name=
"z" transfer-ownership=
"none">
3388 <doc xml:
whitespace=
"preserve">the third coordinate value
</doc>
3389 <type name=
"gdouble" c:
type=
"double"/>
3393 <method name=
"is_colinear"
3394 c:
identifier=
"hkl_vector_is_colinear"
3396 <doc xml:
whitespace=
"preserve">check if two #HklVector are colinears
</doc>
3397 <return-value transfer-ownership=
"none">
3398 <doc xml:
whitespace=
"preserve">HKL_TRUE if both are colinear.
</doc>
3399 <type name=
"gint" c:
type=
"int"/>
3402 <parameter name=
"vector" transfer-ownership=
"none">
3403 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3404 <type name=
"Vector" c:
type=
"HklVector*"/>
3408 <method name=
"is_null"
3409 c:
identifier=
"hkl_vector_is_null"
3411 <doc xml:
whitespace=
"preserve">check if all the coordinates of an #HklVector are null.
3415 <return-value transfer-ownership=
"none">
3416 <doc xml:
whitespace=
"preserve">HKl_TRUE if all |elements| are below HKL_EPSILON, HKl_FALSE otherwise
</doc>
3417 <type name=
"gint" c:
type=
"int"/>
3420 <method name=
"is_opposite"
3421 c:
identifier=
"hkl_vector_is_opposite"
3423 <doc xml:
whitespace=
"preserve">Check if two vectors are oposite.
</doc>
3424 <return-value transfer-ownership=
"none">
3425 <doc xml:
whitespace=
"preserve">HKL_TRUE is vector are oposite vectors.
</doc>
3426 <type name=
"gint" c:
type=
"int"/>
3429 <parameter name=
"vector" transfer-ownership=
"none">
3430 <type name=
"Vector" c:
type=
"HklVector*"/>
3434 <method name=
"minus_vector"
3435 c:
identifier=
"hkl_vector_minus_vector"
3437 <doc xml:
whitespace=
"preserve">substract an #HklVector to another one.
</doc>
3438 <return-value transfer-ownership=
"none">
3439 <type name=
"none" c:
type=
"void"/>
3442 <parameter name=
"vector" transfer-ownership=
"none">
3443 <doc xml:
whitespace=
"preserve">the #hklvector to substract
</doc>
3444 <type name=
"Vector" c:
type=
"HklVector*"/>
3448 <method name=
"norm2" c:
identifier=
"hkl_vector_norm2" introspectable=
"0">
3449 <doc xml:
whitespace=
"preserve">compute the norm2 of an #HklVector
</doc>
3450 <return-value transfer-ownership=
"none">
3451 <doc xml:
whitespace=
"preserve">the sqrt(|v|)
</doc>
3452 <type name=
"gdouble" c:
type=
"double"/>
3455 <method name=
"normalize"
3456 c:
identifier=
"hkl_vector_normalize"
3458 <doc xml:
whitespace=
"preserve">normalize a hkl_vector
</doc>
3459 <return-value transfer-ownership=
"none">
3460 <doc xml:
whitespace=
"preserve">HKL_TRUE if the #HklVector can be normalized, HKL_FALSE otherwise
</doc>
3461 <type name=
"gint" c:
type=
"int"/>
3464 <method name=
"oriented_angle"
3465 c:
identifier=
"hkl_vector_oriented_angle"
3467 <doc xml:
whitespace=
"preserve">compute the angles beetween two #HklVector and use
3468 a reference #HklVector to orientate the space. That's
3469 way the return value can be in beetween [-pi, pi].
3470 the (self, vector, ref) is a right oriented base.
</doc>
3471 <return-value transfer-ownership=
"none">
3472 <doc xml:
whitespace=
"preserve">the angles [-pi, pi]
</doc>
3473 <type name=
"gdouble" c:
type=
"double"/>
3476 <parameter name=
"vector" transfer-ownership=
"none">
3477 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3478 <type name=
"Vector" c:
type=
"HklVector*"/>
3480 <parameter name=
"ref" transfer-ownership=
"none">
3481 <doc xml:
whitespace=
"preserve">the reference #HklVector
</doc>
3482 <type name=
"Vector" c:
type=
"HklVector*"/>
3486 <method name=
"oriented_angle_points"
3487 c:
identifier=
"hkl_vector_oriented_angle_points"
3489 <doc xml:
whitespace=
"preserve">compute the angles beetween three points (p1, p2, p3) and use
3490 a reference #HklVector to orientate the space. That's
3491 way the return value can be in beetween [-pi, pi].
3492 the (self, vector, ref) is a right oriented base.
</doc>
3493 <return-value transfer-ownership=
"none">
3494 <doc xml:
whitespace=
"preserve">the angles [-pi, pi]
</doc>
3495 <type name=
"gdouble" c:
type=
"double"/>
3498 <parameter name=
"p2" transfer-ownership=
"none">
3499 <doc xml:
whitespace=
"preserve">the third point
</doc>
3500 <type name=
"Vector" c:
type=
"HklVector*"/>
3502 <parameter name=
"p3" transfer-ownership=
"none">
3503 <type name=
"Vector" c:
type=
"HklVector*"/>
3505 <parameter name=
"ref" transfer-ownership=
"none">
3506 <doc xml:
whitespace=
"preserve">the reference #HklVector
</doc>
3507 <type name=
"Vector" c:
type=
"HklVector*"/>
3511 <method name=
"project_on_plan"
3512 c:
identifier=
"hkl_vector_project_on_plan"
3514 <doc xml:
whitespace=
"preserve">project an #HklVector on a plan of normal which contain
3515 the origin [
0,
0,
0]
</doc>
3516 <return-value transfer-ownership=
"none">
3517 <type name=
"none" c:
type=
"void"/>
3520 <parameter name=
"normal" transfer-ownership=
"none">
3521 <doc xml:
whitespace=
"preserve">the normal of the plane.
</doc>
3522 <type name=
"Vector" c:
type=
"HklVector*"/>
3526 <method name=
"project_on_plan_with_point"
3527 c:
identifier=
"hkl_vector_project_on_plan_with_point"
3529 <doc xml:
whitespace=
"preserve">project an #HklVector on a plan of normal #normal which contain #point.
</doc>
3530 <return-value transfer-ownership=
"none">
3531 <type name=
"none" c:
type=
"void"/>
3534 <parameter name=
"normal" transfer-ownership=
"none">
3535 <doc xml:
whitespace=
"preserve">the normal of the plane.
</doc>
3536 <type name=
"Vector" c:
type=
"HklVector*"/>
3538 <parameter name=
"point" transfer-ownership=
"none">
3539 <doc xml:
whitespace=
"preserve">a point of the plan.
</doc>
3540 <type name=
"Vector" c:
type=
"HklVector*"/>
3544 <method name=
"randomize"
3545 c:
identifier=
"hkl_vector_randomize"
3547 <doc xml:
whitespace=
"preserve">initialize a vector with random values.
3548 coordinates range [-
1,
1]
</doc>
3549 <return-value transfer-ownership=
"none">
3550 <type name=
"none" c:
type=
"void"/>
3553 <method name=
"randomize_vector"
3554 c:
identifier=
"hkl_vector_randomize_vector"
3556 <doc xml:
whitespace=
"preserve">randomize an #HklVector an be sure that it is not equal
3557 to the #HklVector vector.
</doc>
3558 <return-value transfer-ownership=
"none">
3559 <type name=
"none" c:
type=
"void"/>
3562 <parameter name=
"vector" transfer-ownership=
"none">
3563 <doc xml:
whitespace=
"preserve">the #HklVector result to avoid
</doc>
3564 <type name=
"Vector" c:
type=
"HklVector*"/>
3568 <method name=
"randomize_vector_vector"
3569 c:
identifier=
"hkl_vector_randomize_vector_vector"
3571 <doc xml:
whitespace=
"preserve">randomize an #HklVector an be sure that it is not equal
3572 to the #HklVector vector1 and vector2.
</doc>
3573 <return-value transfer-ownership=
"none">
3574 <type name=
"none" c:
type=
"void"/>
3577 <parameter name=
"vector1" transfer-ownership=
"none">
3578 <doc xml:
whitespace=
"preserve">the first #HklVector solution to avoid
</doc>
3579 <type name=
"Vector" c:
type=
"HklVector*"/>
3581 <parameter name=
"vector2" transfer-ownership=
"none">
3582 <doc xml:
whitespace=
"preserve">the second #HklVector solution to avoid
</doc>
3583 <type name=
"Vector" c:
type=
"HklVector*"/>
3587 <method name=
"rotated_around_line"
3588 c:
identifier=
"hkl_vector_rotated_around_line"
3590 <doc xml:
whitespace=
"preserve">This method rotate a point around a line defined by two points
3591 of a certain amount of angle. The rotation is right handed.
3592 this mean that c2 - c1 gives the direction of the rotation.
</doc>
3593 <return-value transfer-ownership=
"none">
3594 <type name=
"none" c:
type=
"void"/>
3597 <parameter name=
"angle" transfer-ownership=
"none">
3598 <doc xml:
whitespace=
"preserve">the angle of the rotation
</doc>
3599 <type name=
"gdouble" c:
type=
"double"/>
3601 <parameter name=
"c1" transfer-ownership=
"none">
3602 <doc xml:
whitespace=
"preserve">the fist point of the line
</doc>
3603 <type name=
"Vector" c:
type=
"HklVector*"/>
3605 <parameter name=
"c2" transfer-ownership=
"none">
3606 <doc xml:
whitespace=
"preserve">the second point of the line
</doc>
3607 <type name=
"Vector" c:
type=
"HklVector*"/>
3611 <method name=
"rotated_around_vector"
3612 c:
identifier=
"hkl_vector_rotated_around_vector"
3614 <doc xml:
whitespace=
"preserve">rotate a vector around another one with a given angle.
</doc>
3615 <return-value transfer-ownership=
"none">
3616 <type name=
"none" c:
type=
"void"/>
3619 <parameter name=
"axe" transfer-ownership=
"none">
3620 <doc xml:
whitespace=
"preserve">the axe of rotation
</doc>
3621 <type name=
"Vector" c:
type=
"HklVector*"/>
3623 <parameter name=
"angle" transfer-ownership=
"none">
3624 <doc xml:
whitespace=
"preserve">the angle of the rotation
</doc>
3625 <type name=
"gdouble" c:
type=
"double"/>
3629 <method name=
"rotated_quaternion"
3630 c:
identifier=
"hkl_vector_rotated_quaternion"
3632 <doc xml:
whitespace=
"preserve">rotate an #HklVector using an #HklQuaternion.
</doc>
3633 <return-value transfer-ownership=
"none">
3634 <type name=
"none" c:
type=
"void"/>
3637 <parameter name=
"qr" transfer-ownership=
"none">
3638 <doc xml:
whitespace=
"preserve">the #HklQuaternion use to rotate the vector
</doc>
3639 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
3643 <method name=
"scalar_product"
3644 c:
identifier=
"hkl_vector_scalar_product"
3646 <doc xml:
whitespace=
"preserve">compute the scalar product of two #HklVector
</doc>
3647 <return-value transfer-ownership=
"none">
3648 <doc xml:
whitespace=
"preserve">the scalar product.
</doc>
3649 <type name=
"gdouble" c:
type=
"double"/>
3652 <parameter name=
"vector" transfer-ownership=
"none">
3653 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3654 <type name=
"Vector" c:
type=
"HklVector*"/>
3658 <method name=
"sum" c:
identifier=
"hkl_vector_sum" introspectable=
"0">
3659 <doc xml:
whitespace=
"preserve">compute the #HklVector sum of all its elements.
</doc>
3660 <return-value transfer-ownership=
"none">
3661 <doc xml:
whitespace=
"preserve">the sum of all elements.
</doc>
3662 <type name=
"gdouble" c:
type=
"double"/>
3665 <method name=
"times_double"
3666 c:
identifier=
"hkl_vector_times_double"
3668 <doc xml:
whitespace=
"preserve">multiply an #HklVector by a constant value.
</doc>
3669 <return-value transfer-ownership=
"none">
3670 <type name=
"none" c:
type=
"void"/>
3673 <parameter name=
"d" transfer-ownership=
"none">
3674 <doc xml:
whitespace=
"preserve">the multiply factor
</doc>
3675 <type name=
"gdouble" c:
type=
"double"/>
3679 <method name=
"times_matrix"
3680 c:
identifier=
"hkl_vector_times_matrix"
3682 <doc xml:
whitespace=
"preserve">multiply an #HklVector by an #HklMatrix.
3683 compute v'= M . v
</doc>
3684 <return-value transfer-ownership=
"none">
3685 <type name=
"none" c:
type=
"void"/>
3688 <parameter name=
"m" transfer-ownership=
"none">
3689 <doc xml:
whitespace=
"preserve">the #HklMatrix use to multiply the #HklVector
</doc>
3690 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
3694 <method name=
"times_vector"
3695 c:
identifier=
"hkl_vector_times_vector"
3697 <doc xml:
whitespace=
"preserve">multiply an #HklVector by another one. This method multiply
3698 coordinate by coordinate.
</doc>
3699 <return-value transfer-ownership=
"none">
3700 <type name=
"none" c:
type=
"void"/>
3703 <parameter name=
"vector" transfer-ownership=
"none">
3704 <doc xml:
whitespace=
"preserve">the #HklVector use to modify the first one
</doc>
3705 <type name=
"Vector" c:
type=
"HklVector*"/>
3709 <method name=
"vectorial_product"
3710 c:
identifier=
"hkl_vector_vectorial_product"
3712 <doc xml:
whitespace=
"preserve">compute the vectorial product of two vectors
</doc>
3713 <return-value transfer-ownership=
"none">
3714 <type name=
"none" c:
type=
"void"/>
3717 <parameter name=
"vector" transfer-ownership=
"none">
3718 <doc xml:
whitespace=
"preserve">the second #HklVector
</doc>
3719 <type name=
"Vector" c:
type=
"HklVector*"/>
3723 <function name=
"fprintf"
3724 c:
identifier=
"hkl_vector_fprintf"
3726 <doc xml:
whitespace=
"preserve">print an #HklVector into a stream
</doc>
3727 <return-value transfer-ownership=
"none">
3728 <type name=
"none" c:
type=
"void"/>
3731 <parameter name=
"file" transfer-ownership=
"none">
3732 <doc xml:
whitespace=
"preserve">the stream to print into
</doc>
3733 <type name=
"gpointer" c:
type=
"FILE*"/>
3735 <parameter name=
"self" transfer-ownership=
"none">
3736 <doc xml:
whitespace=
"preserve">the #HklVector to print.
</doc>
3737 <type name=
"Vector" c:
type=
"HklVector*"/>
3742 <function name=
"axis_fprintf"
3743 c:
identifier=
"hkl_axis_fprintf"
3744 moved-to=
"Axis.fprintf">
3745 <return-value transfer-ownership=
"none">
3746 <type name=
"none" c:
type=
"void"/>
3749 <parameter name=
"f" transfer-ownership=
"none">
3750 <type name=
"gpointer" c:
type=
"FILE*"/>
3752 <parameter name=
"self" transfer-ownership=
"none">
3753 <type name=
"Axis" c:
type=
"HklAxis*"/>
3757 <function name=
"detector_fprintf"
3758 c:
identifier=
"hkl_detector_fprintf"
3759 moved-to=
"Detector.fprintf"
3761 <doc xml:
whitespace=
"preserve">print to a FILE the detector members
</doc>
3762 <return-value transfer-ownership=
"none">
3763 <type name=
"none" c:
type=
"void"/>
3766 <parameter name=
"f" transfer-ownership=
"none">
3767 <type name=
"gpointer" c:
type=
"FILE*"/>
3769 <parameter name=
"self" transfer-ownership=
"none">
3770 <type name=
"Detector" c:
type=
"HklDetector*"/>
3774 <function name=
"error_clear"
3775 c:
identifier=
"hkl_error_clear"
3776 moved-to=
"Error.clear"
3778 <doc xml:
whitespace=
"preserve">If @err is %NULL, does nothing. If @err is non-%NULL, calls
3779 hkl_error_free() on *@err and sets *@err to %NULL.
</doc>
3780 <return-value transfer-ownership=
"none">
3781 <type name=
"none" c:
type=
"void"/>
3784 <parameter name=
"err" transfer-ownership=
"none">
3785 <doc xml:
whitespace=
"preserve">a #HklError return location
</doc>
3786 <type name=
"Error" c:
type=
"HklError**"/>
3790 <function name=
"error_prefix"
3791 c:
identifier=
"hkl_error_prefix"
3792 moved-to=
"Error.prefix"
3795 <doc xml:
whitespace=
"preserve">Formats a string according to @format and prefix it to an existing
3796 error message. If @err is %NULL (ie: no error variable) then do
3799 If *@err is %NULL (ie: an error variable is present but there is no
3800 error condition) then also do nothing. Whether or not it makes
3801 sense to take advantage of this feature is up to you.
</doc>
3802 <return-value transfer-ownership=
"none">
3803 <type name=
"none" c:
type=
"void"/>
3806 <parameter name=
"err" transfer-ownership=
"none">
3807 <doc xml:
whitespace=
"preserve">a return location for a #HklError, or %NULL
</doc>
3808 <type name=
"Error" c:
type=
"HklError**"/>
3810 <parameter name=
"format" transfer-ownership=
"none">
3811 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
3812 <type name=
"utf8" c:
type=
"char*"/>
3814 <parameter transfer-ownership=
"none">
3820 <function name=
"error_propagate"
3821 c:
identifier=
"hkl_error_propagate"
3822 moved-to=
"Error.propagate"
3824 <doc xml:
whitespace=
"preserve">If @dest is %NULL, free @src; otherwise, moves @src into *@dest.
3825 The error variable @dest points to must be %NULL.
</doc>
3826 <return-value transfer-ownership=
"none">
3827 <type name=
"none" c:
type=
"void"/>
3830 <parameter name=
"dest" transfer-ownership=
"none">
3831 <doc xml:
whitespace=
"preserve">error return location
</doc>
3832 <type name=
"Error" c:
type=
"HklError**"/>
3834 <parameter name=
"src" transfer-ownership=
"none">
3835 <doc xml:
whitespace=
"preserve">error to move into the return location
</doc>
3836 <type name=
"Error" c:
type=
"HklError*"/>
3840 <function name=
"error_propagate_prefixed"
3841 c:
identifier=
"hkl_error_propagate_prefixed"
3842 moved-to=
"Error.propagate_prefixed"
3845 <doc xml:
whitespace=
"preserve">If @dest is %NULL, free @src; otherwise, moves @src into
3846 *@dest. *@dest must be %NULL. After the move, add a prefix as with
3847 hkl_prefix_error().
</doc>
3848 <return-value transfer-ownership=
"none">
3849 <type name=
"none" c:
type=
"void"/>
3852 <parameter name=
"dest" transfer-ownership=
"none">
3853 <doc xml:
whitespace=
"preserve">error return location
</doc>
3854 <type name=
"Error" c:
type=
"HklError**"/>
3856 <parameter name=
"src" transfer-ownership=
"none">
3857 <doc xml:
whitespace=
"preserve">error to move into the return location
</doc>
3858 <type name=
"Error" c:
type=
"HklError*"/>
3860 <parameter name=
"format" transfer-ownership=
"none">
3861 <doc xml:
whitespace=
"preserve">printf()-style format string
</doc>
3862 <type name=
"utf8" c:
type=
"char*"/>
3864 <parameter transfer-ownership=
"none">
3870 <function name=
"error_set"
3871 c:
identifier=
"hkl_error_set"
3872 moved-to=
"Error.set"
3874 <doc xml:
whitespace=
"preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
3875 must be %NULL. A new #HklError is created and assigned to *@err.
</doc>
3876 <return-value transfer-ownership=
"none">
3877 <type name=
"none" c:
type=
"void"/>
3880 <parameter name=
"err" transfer-ownership=
"none">
3881 <doc xml:
whitespace=
"preserve">a return location for a #HklError, or %NULL
</doc>
3882 <type name=
"Error" c:
type=
"HklError**"/>
3884 <parameter name=
"format" transfer-ownership=
"none">
3885 <doc xml:
whitespace=
"preserve">printf()-style format
</doc>
3886 <type name=
"utf8" c:
type=
"char*"/>
3888 <parameter transfer-ownership=
"none">
3894 <function name=
"error_set_literal"
3895 c:
identifier=
"hkl_error_set_literal"
3896 moved-to=
"Error.set_literal"
3899 <doc xml:
whitespace=
"preserve">Does nothing if @err is %NULL; if @err is non-%NULL, then *@err
3900 must be %NULL. A new #HklError is created and assigned to *@err.
3901 Unlike hkl_set_error(), @message is not a printf()-style format
3902 string. Use this function if @message contains text you don't have
3903 control over, that could include printf() escape sequences.
</doc>
3904 <return-value transfer-ownership=
"none">
3905 <type name=
"none" c:
type=
"void"/>
3908 <parameter name=
"err" transfer-ownership=
"none">
3909 <doc xml:
whitespace=
"preserve">a return location for a #HklError, or %NULL
</doc>
3910 <type name=
"Error" c:
type=
"HklError**"/>
3912 <parameter name=
"message" transfer-ownership=
"none">
3913 <doc xml:
whitespace=
"preserve">error message
</doc>
3914 <type name=
"utf8" c:
type=
"char*"/>
3918 <function name=
"geometry_factory_get_config_from_type"
3919 c:
identifier=
"hkl_geometry_factory_get_config_from_type"
3920 moved-to=
"Geometry.factory_get_config_from_type">
3921 <doc xml:
whitespace=
"preserve">get am #HklGeometryConfig for a given #HklGeometryType
</doc>
3922 <return-value transfer-ownership=
"none">
3923 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
3926 <parameter name=
"type" transfer-ownership=
"none">
3927 <type name=
"GeometryType" c:
type=
"HklGeometryType"/>
3931 <function name=
"geometry_fprintf"
3932 c:
identifier=
"hkl_geometry_fprintf"
3933 moved-to=
"Geometry.fprintf"
3935 <doc xml:
whitespace=
"preserve">print into a file the #HklGeometry
</doc>
3936 <return-value transfer-ownership=
"none">
3937 <type name=
"none" c:
type=
"void"/>
3940 <parameter name=
"file" transfer-ownership=
"none">
3941 <type name=
"gpointer" c:
type=
"FILE*"/>
3943 <parameter name=
"self" transfer-ownership=
"none">
3944 <type name=
"Geometry" c:
type=
"HklGeometry*"/>
3948 <function name=
"geometry_list_fprintf"
3949 c:
identifier=
"hkl_geometry_list_fprintf"
3950 moved-to=
"GeometryList.fprintf"
3952 <doc xml:
whitespace=
"preserve">print to a file the #HklGeometryList
</doc>
3953 <return-value transfer-ownership=
"none">
3954 <type name=
"none" c:
type=
"void"/>
3957 <parameter name=
"f" transfer-ownership=
"none">
3958 <type name=
"gpointer" c:
type=
"FILE*"/>
3960 <parameter name=
"self" transfer-ownership=
"none">
3961 <type name=
"GeometryList" c:
type=
"HklGeometryList*"/>
3965 <function name=
"lattice_fprintf"
3966 c:
identifier=
"hkl_lattice_fprintf"
3967 moved-to=
"Lattice.fprintf"
3969 <doc xml:
whitespace=
"preserve">print into a file the lattice.
</doc>
3970 <return-value transfer-ownership=
"none">
3971 <type name=
"none" c:
type=
"void"/>
3974 <parameter name=
"f" transfer-ownership=
"none">
3975 <type name=
"gpointer" c:
type=
"FILE*"/>
3977 <parameter name=
"self" transfer-ownership=
"none">
3978 <type name=
"Lattice" c:
type=
"HklLattice*"/>
3982 <function name=
"matrix_fprintf"
3983 c:
identifier=
"hkl_matrix_fprintf"
3984 moved-to=
"Matrix.fprintf">
3985 <doc xml:
whitespace=
"preserve">printf an #HklMatrix into a FILE stream.
</doc>
3986 <return-value transfer-ownership=
"none">
3987 <type name=
"none" c:
type=
"void"/>
3990 <parameter name=
"file" transfer-ownership=
"none">
3991 <doc xml:
whitespace=
"preserve">the FILE stream
</doc>
3992 <type name=
"gpointer" c:
type=
"FILE*"/>
3994 <parameter name=
"self" transfer-ownership=
"none">
3995 <doc xml:
whitespace=
"preserve">the #HklMatrix to print into the file stream
</doc>
3996 <type name=
"Matrix" c:
type=
"HklMatrix*"/>
4000 <function name=
"parameter_fprintf"
4001 c:
identifier=
"hkl_parameter_fprintf"
4002 moved-to=
"Parameter.fprintf"
4004 <doc xml:
whitespace=
"preserve">print into the #FILE f an #HklParameter
</doc>
4005 <return-value transfer-ownership=
"none">
4006 <type name=
"none" c:
type=
"void"/>
4009 <parameter name=
"f" transfer-ownership=
"none">
4010 <type name=
"gpointer" c:
type=
"FILE*"/>
4012 <parameter name=
"self" transfer-ownership=
"none">
4013 <type name=
"Parameter" c:
type=
"HklParameter*"/>
4017 <function name=
"pseudo_axis_engine_fprintf"
4018 c:
identifier=
"hkl_pseudo_axis_engine_fprintf"
4019 moved-to=
"PseudoAxisEngine.fprintf"
4021 <doc xml:
whitespace=
"preserve">print to a FILE the HklPseudoAxisEngine
</doc>
4022 <return-value transfer-ownership=
"none">
4023 <type name=
"none" c:
type=
"void"/>
4026 <parameter name=
"f" transfer-ownership=
"none">
4027 <doc xml:
whitespace=
"preserve">the FILE
</doc>
4028 <type name=
"gpointer" c:
type=
"FILE*"/>
4030 <parameter name=
"self" transfer-ownership=
"none">
4031 <doc xml:
whitespace=
"preserve">the HklPseudoAxisEngine
</doc>
4032 <type name=
"PseudoAxisEngine" c:
type=
"HklPseudoAxisEngine*"/>
4036 <function name=
"pseudo_axis_engine_list_factory"
4037 c:
identifier=
"hkl_pseudo_axis_engine_list_factory"
4038 moved-to=
"PseudoAxisEngineList.factory">
4039 <doc xml:
whitespace=
"preserve">create an #HklPseudoAxisEngineList given an #HklGeometryConfig
</doc>
4040 <return-value transfer-ownership=
"full">
4041 <type name=
"PseudoAxisEngineList" c:
type=
"HklPseudoAxisEngineList*"/>
4044 <parameter name=
"config" transfer-ownership=
"none">
4045 <type name=
"GeometryConfig" c:
type=
"HklGeometryConfig*"/>
4049 <function name=
"pseudo_axis_engine_list_fprintf"
4050 c:
identifier=
"hkl_pseudo_axis_engine_list_fprintf"
4051 moved-to=
"PseudoAxisEngineList.fprintf"
4053 <doc xml:
whitespace=
"preserve">print to a FILE the #HklPseudoAxisEngineList
</doc>
4054 <return-value transfer-ownership=
"none">
4055 <type name=
"none" c:
type=
"void"/>
4058 <parameter name=
"f" transfer-ownership=
"none">
4059 <doc xml:
whitespace=
"preserve">the File
</doc>
4060 <type name=
"gpointer" c:
type=
"FILE*"/>
4062 <parameter name=
"self" transfer-ownership=
"none">
4063 <doc xml:
whitespace=
"preserve">the list
</doc>
4064 <type name=
"PseudoAxisEngineList" c:
type=
"HklPseudoAxisEngineList*"/>
4068 <function name=
"pseudo_axis_engine_mode_fprintf"
4069 c:
identifier=
"hkl_pseudo_axis_engine_mode_fprintf"
4070 moved-to=
"PseudoAxisEngineMode.fprintf"
4072 <doc xml:
whitespace=
"preserve">print to a FILE the HklPSeudoAxisEngineMode members
</doc>
4073 <return-value transfer-ownership=
"none">
4074 <type name=
"none" c:
type=
"void"/>
4077 <parameter name=
"f" transfer-ownership=
"none">
4078 <type name=
"gpointer" c:
type=
"FILE*"/>
4080 <parameter name=
"self" transfer-ownership=
"none">
4081 <type name=
"PseudoAxisEngineMode" c:
type=
"HklPseudoAxisEngineMode*"/>
4085 <function name=
"pseudo_axis_fprintf"
4086 c:
identifier=
"hkl_pseudo_axis_fprintf"
4087 moved-to=
"PseudoAxis.fprintf"
4089 <doc xml:
whitespace=
"preserve">print an HklPseudoAxis into a file
</doc>
4090 <return-value transfer-ownership=
"none">
4091 <type name=
"none" c:
type=
"void"/>
4094 <parameter name=
"f" transfer-ownership=
"none">
4095 <type name=
"gpointer" c:
type=
"FILE*"/>
4097 <parameter name=
"self" transfer-ownership=
"none">
4098 <type name=
"PseudoAxis" c:
type=
"HklPseudoAxis*"/>
4102 <function name=
"quaternion_fprintf"
4103 c:
identifier=
"hkl_quaternion_fprintf"
4104 moved-to=
"Quaternion.fprintf">
4105 <doc xml:
whitespace=
"preserve">print an #HklQuaternion into a FILE stream
</doc>
4106 <return-value transfer-ownership=
"none">
4107 <type name=
"none" c:
type=
"void"/>
4110 <parameter name=
"file" transfer-ownership=
"none">
4111 <doc xml:
whitespace=
"preserve">the file to send the #HklQuaternion into
</doc>
4112 <type name=
"gpointer" c:
type=
"FILE*"/>
4114 <parameter name=
"self" transfer-ownership=
"none">
4115 <doc xml:
whitespace=
"preserve">the #HklQuaternion to write into the file stream.
</doc>
4116 <type name=
"Quaternion" c:
type=
"HklQuaternion*"/>
4120 <function name=
"sample_fprintf"
4121 c:
identifier=
"hkl_sample_fprintf"
4122 moved-to=
"Sample.fprintf"
4124 <doc xml:
whitespace=
"preserve">print to a file a sample
</doc>
4125 <return-value transfer-ownership=
"none">
4126 <type name=
"none" c:
type=
"void"/>
4129 <parameter name=
"f" transfer-ownership=
"none">
4130 <type name=
"gpointer" c:
type=
"FILE*"/>
4132 <parameter name=
"self" transfer-ownership=
"none">
4133 <type name=
"Sample" c:
type=
"HklSample*"/>
4137 <function name=
"sample_list_fprintf"
4138 c:
identifier=
"hkl_sample_list_fprintf"
4139 moved-to=
"SampleList.fprintf"
4141 <doc xml:
whitespace=
"preserve">print the sample list to a file
</doc>
4142 <return-value transfer-ownership=
"none">
4143 <type name=
"none" c:
type=
"void"/>
4146 <parameter name=
"f" transfer-ownership=
"none">
4147 <type name=
"gpointer" c:
type=
"FILE*"/>
4149 <parameter name=
"self" transfer-ownership=
"none">
4150 <type name=
"SampleList" c:
type=
"HklSampleList*"/>
4154 <function name=
"source_fprintf"
4155 c:
identifier=
"hkl_source_fprintf"
4156 moved-to=
"Source.fprintf"
4158 <doc xml:
whitespace=
"preserve">printf the source
</doc>
4159 <return-value transfer-ownership=
"none">
4160 <type name=
"none" c:
type=
"void"/>
4163 <parameter name=
"f" transfer-ownership=
"none">
4164 <type name=
"gpointer" c:
type=
"FILE*"/>
4166 <parameter name=
"self" transfer-ownership=
"none">
4167 <type name=
"Source" c:
type=
"HklSource*"/>
4171 <function name=
"vector_fprintf"
4172 c:
identifier=
"hkl_vector_fprintf"
4173 moved-to=
"Vector.fprintf"
4175 <doc xml:
whitespace=
"preserve">print an #HklVector into a stream
</doc>
4176 <return-value transfer-ownership=
"none">
4177 <type name=
"none" c:
type=
"void"/>
4180 <parameter name=
"file" transfer-ownership=
"none">
4181 <doc xml:
whitespace=
"preserve">the stream to print into
</doc>
4182 <type name=
"gpointer" c:
type=
"FILE*"/>
4184 <parameter name=
"self" transfer-ownership=
"none">
4185 <doc xml:
whitespace=
"preserve">the #HklVector to print.
</doc>
4186 <type name=
"Vector" c:
type=
"HklVector*"/>