aboutsummaryrefslogtreecommitdiff
path: root/generic/OverlapMan.h
diff options
context:
space:
mode:
authorlecoanet2000-01-12 13:58:32 +0000
committerlecoanet2000-01-12 13:58:32 +0000
commit3ed3940af059b1e822a7871216e70fad9d4399b8 (patch)
treea08db4901d0814c7a53a4a5a11beb7f62902d081 /generic/OverlapMan.h
parent24df859cbc6bb1661abfa7bbe52cfc3dd1b14120 (diff)
downloadtkzinc-3ed3940af059b1e822a7871216e70fad9d4399b8.zip
tkzinc-3ed3940af059b1e822a7871216e70fad9d4399b8.tar.gz
tkzinc-3ed3940af059b1e822a7871216e70fad9d4399b8.tar.bz2
tkzinc-3ed3940af059b1e822a7871216e70fad9d4399b8.tar.xz
Renommage des fichiers d'entetes
Diffstat (limited to 'generic/OverlapMan.h')
-rw-r--r--generic/OverlapMan.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/generic/OverlapMan.h b/generic/OverlapMan.h
new file mode 100644
index 0000000..fb844d9
--- /dev/null
+++ b/generic/OverlapMan.h
@@ -0,0 +1,95 @@
+/*
+ * OverlapMan.h -- Track label overlap avoidance manager header file
+ *
+ * Authors :
+ * Creation date :
+ *
+ * $Id$
+ */
+
+/*
+ * Copyright (c) 1993 - 1999 CENA --
+ *
+ * This code is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This code is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this code; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+
+#ifndef _OverlapMan_h
+#define _OverlapMan_h
+
+
+#include <string.h>
+#include <math.h>
+
+
+/*
+ * This is the interface with the radar widget. To substitute
+ * a different overlap manager, it is necessary to conform to
+ * this API.
+ */
+void
+OmRegister(void *w,
+ void *(*_fnext_track)(void *ptr,
+ void *item,
+ int *x, int *y,
+ int *sv_dx, int *sv_dy,
+ int *label_x, int *label_y,
+ int *label_width, int *label_height,
+ int *rho, int *theta,
+ int *visibility),
+ void (*_fset_label_angle)(void *ptr, void *item, int theta),
+ void (*_fquery_label_pos)(void *ptr, void *item, int theta,
+ int *x, int *y, int *w, int *h));
+void
+OmUnregister(void *w);
+void
+OmProcessOverlap(void *radar,
+ int width,
+ int height,
+ double scale);
+
+/*
+ * These are overlap manager public functions used
+ * to set various parameters controlling the algorithm
+ * behavior.
+ */
+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);
+
+
+#endif /* _OverlapMan_h */