diff options
Diffstat (limited to 'generic/OverlapMan.h')
-rw-r--r-- | generic/OverlapMan.h | 76 |
1 files changed, 47 insertions, 29 deletions
diff --git a/generic/OverlapMan.h b/generic/OverlapMan.h index 38c59d1..4ec542e 100644 --- a/generic/OverlapMan.h +++ b/generic/OverlapMan.h @@ -51,8 +51,11 @@ OmRegister(void *w, int *label_width, int *label_height, */ int *rho, int *theta, - int *visibility), - void (*_fset_label_angle)(void *ptr, void *item, int theta), + int *visibility, + int *locked , + int *preferred_angle , + int *convergence_style), + void (*_fset_label_angle)(void *ptr, void *item, int rho, int theta), void (*_fquery_label_pos)(void *ptr, void *item, int theta, int *x, int *y, int *w, int *h)); void @@ -63,35 +66,50 @@ OmProcessOverlap(void *zinc, int height, double scale); + +/* + * Parameter data type which ease exchange of parameters between + * Radar Image toolkit and Om library + */ +#define OM_PARAM_END 0 +#define OM_PARAM_INT 1 +#define OM_PARAM_FLOAT 2 +#define OM_PARAM_DOUBLE 3 +#define OM_PARAM_STRING 4 + + +typedef struct { + int type ; /* should be among OM_PARAM_ */ + char name[50] ; +} OmParam ; + + /* - * These are overlap manager public functions used - * to set various parameters controlling the algorithm - * behavior. + * These are the generic overlap manager public functions used + * to set/get any parameters that the Om library allow to modify + * dynamically (tunable parameters) */ -void -OmSetParam(double repulsion, - double repulsion_bearing, - double friction, - double best_position_attraction, - double screen_edge_repulsion); -void -OmGetParam(double *repulsion, - double *repulsion_bearing, - double *friction, - double *best_position_attraction, - double *screen_edge_repulsion); -void -OmGetMinParam(double *min_repulsion, - double *min_repulsion_bearing, - double *min_friction, - double *min_best_position_attraction, - double *min_screen_edge_repulsion); -void -OmGetMaxParam(double *max_repulsion, - double *max_repulsion_bearing, - double *max_friction, - double *max_best_position_attraction, - double *max_screen_edge_repulsion); + +/* OmSetNParam + return 1 if ok , anythingelse if nok (non existing parameters , + wrong type) */ +int +OmSetNParam(char *name, /* parameter's name */ + void *value); +/* OmGetNParam + return 1 if ok , anythingelse if nok (non existing parameters , + wrong type) + */ +int +OmGetNParam(char *name, /* parameter's name */ + void *ptvalue); + +/* OmGetNParamList + return 1 and next index if remains to read, the current param + being written in current_param + return 0 if end of list and no param */ +int +OmGetNParamList(OmParam *current_param, int *idx_next); #endif /* _OverlapMan_h */ |