summaryrefslogtreecommitdiff
path: root/navit/coord.h
diff options
context:
space:
mode:
Diffstat (limited to 'navit/coord.h')
-rw-r--r--navit/coord.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/navit/coord.h b/navit/coord.h
new file mode 100644
index 000000000..62c45f5a9
--- /dev/null
+++ b/navit/coord.h
@@ -0,0 +1,55 @@
+#ifndef NAVIT_COORD_H
+#define NAVIT_COORD_H
+#include "projection.h"
+
+/*! A integer mercator coordinate */
+struct coord {
+ int x; /*!< X-Value */
+ int y; /*!< Y-Value */
+};
+
+/*! A integer mercator coordinate carrying its projection */
+struct pcoord {
+ enum projection pro;
+ int x; /*!< X-Value */
+ int y; /*!< Y-Value */
+};
+
+struct coord_rect {
+ struct coord lu;
+ struct coord rl;
+};
+
+//! A double mercator coordinate
+struct coord_d {
+ double x; /*!< X-Value */
+ double y; /*!< Y-Value */
+};
+
+//! A WGS84 coordinate
+struct coord_geo {
+ double lng; /*!< Longitude */
+ double lat; /*!< Latitude */
+};
+
+//! A cartesian coordinate
+struct coord_geo_cart {
+ double x; /*!< X-Value */
+ double y; /*!< Y-Value */
+ double z; /*!< Z-Value */
+};
+
+enum projection;
+
+struct coord * coord_get(unsigned char **p);
+struct coord * coord_new(int x, int y);
+void coord_destroy(struct coord *c);
+int coord_parse(const char *c_str, enum projection pro, struct coord *c_ret);
+struct coord_rect * coord_rect_new(struct coord *lu, struct coord *rl);
+void coord_rect_destroy(struct coord_rect *r);
+int coord_rect_overlap(struct coord_rect *r1, struct coord_rect *r2);
+int coord_rect_contains(struct coord_rect *r, struct coord *c);
+void coord_rect_extend(struct coord_rect *r, struct coord *c);
+
+
+#endif