| 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 () |
| 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
int hkl_parameter_init_copy (HklParameter *self,const HklParameter *src,GError **error);
double hkl_parameter_value_get_closest (const HklParameter *self,const HklParameter *ref);
void
hkl_parameter_value_set_smallest_in_range
(HklParameter *self);
int
hkl_parameter_is_valid (const HklParameter *self);
check if the value of the HklParameter is in the min,max range
void hkl_parameter_fprintf (FILE *f,HklParameter *self);
print into the FILE f an HklParameter
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);
void (*fprintf)(FILE *f, const HklParameter *self);
const HklVector * (*axis_v_get)(const HklParameter *self);
const HklQuaternion * (*quaternion_get)(const HklParameter *self);
};