Top | ![]() |
![]() |
![]() |
![]() |
return | g_quark_from_static_string () |
else | fprintf () |
HklParameter * | hkl_parameter_new () |
int | hkl_parameter_init_copy () |
double | hkl_parameter_value_get_closest () |
void | hkl_parameter_value_set_smallest_in_range () |
int | hkl_parameter_is_valid () |
int | hkl_parameter_is_valid_range () |
void | hkl_parameter_fprintf () |
HklParameter | |
#define | HKL_PARAMETER_DEFAULTS |
#define | HKL_PARAMETER_DEFAULTS_ANGLE |
#define | HKL_PARAMETER_ERROR |
enum | HklParameterError |
struct | HklParameterOperations |
#define | HKL_PARAMETER_OPERATIONS_DEFAULTS |
HklParameter * | dup |
double | alea |
double | factor |
typedef | darray_parameter |
HklParameter * hkl_parameter_new (const char *name
,const char *description
,double min
,double value
,double max
,int fit
,int changed
,const HklUnit *unit
,const HklUnit *punit
);
create a new HklParameter
[skip]
int hkl_parameter_init_copy (HklParameter *self
,const HklParameter *src
,GError **error
);
[skip]
double hkl_parameter_value_get_closest (const HklParameter *self
,const HklParameter *ref
);
void
hkl_parameter_value_set_smallest_in_range
(HklParameter *self
);
[skip]
int
hkl_parameter_is_valid (const HklParameter *self
);
check if the value of the HklParameter is in the min,max range
[skip]
int
hkl_parameter_is_valid_range (const HklParameter *self
);
check if the value of the HklParameter is in the min,max range strictly (min < value < max).
[skip]
void hkl_parameter_fprintf (FILE *f
,HklParameter *self
);
print into the FILE f an HklParameter
[skip]
typedef struct { const char *name; const char *description; HklInterval range; double _value; const HklUnit *unit; const HklUnit *punit; int fit; int changed; const HklParameterOperations *ops; } HklParameter;
#define HKL_PARAMETER_DEFAULTS .name="dummy", .description="no description", .range={.min=0, .max=0}, ._value=0, .unit=NULL, .punit=NULL, .fit=TRUE, .changed=TRUE, .ops = &hkl_parameter_operations_defaults
#define HKL_PARAMETER_DEFAULTS_ANGLE HKL_PARAMETER_DEFAULTS, .range={.min=-M_PI, .max=M_PI}, .unit = &hkl_unit_angle_rad, .punit = &hkl_unit_angle_deg
struct HklParameterOperations { HklParameter * (*copy)(const HklParameter *self); void (*free)(HklParameter *self); int (*init_copy)(HklParameter *self, const HklParameter *src, GError **error); double (*get_value_closest)(const HklParameter *self, const HklParameter *other); int (*set_value)(HklParameter *self, double value, HklUnitEnum unit_type, GError **error); void (*set_value_smallest_in_range)(HklParameter *self); void (*randomize)(HklParameter *self); int (*is_valid)(const HklParameter *self); int (*is_valid_range)(const HklParameter *self); void (*fprintf)(FILE *f, const HklParameter *self); const HklVector * (*axis_v_get)(const HklParameter *self); const HklQuaternion * (*quaternion_get)(const HklParameter *self); };