diff options
Diffstat (limited to 'geometry.h')
-rw-r--r-- | geometry.h | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -2,6 +2,8 @@ #define GEOMETRY_H_ +#include <glib.h> + #define EDGE_NONE 0 #define EDGE_LEFT (1<<0) #define EDGE_RIGHT (1<<1) @@ -9,13 +11,14 @@ #define EDGE_BOTTOM (1<<3) #define EDGE_ALL (EDGE_LEFT|EDGE_RIGHT|EDGE_TOP|EDGE_BOTTOM) -#define INTERSECTION_ERROR -1 -#define INTERSECTION_NONE 0 -#define INTERSECTION_IDENTICAL 1 -#define INTERSECTION_LINE_LINE 2 -#define INTERSECTION_LINE_SEGMENT 3 -#define INTERSECTION_SEGMENT_LINE 4 -#define INTERSECTION_SEGMENT_SEGMENT 5 +#define INTERSECTION_ERROR -1 +#define INTERSECTION_NONE 0 +#define INTERSECTION_IDENTICAL 1 +#define INTERSECTION_LINE 2 +#define INTERSECTION_LINE_LINE 2 +#define INTERSECTION_LINE_SEGMENT 3 +#define INTERSECTION_SEGMENT_LINE 6 +#define INTERSECTION_SEGMENT_SEGMENT 7 typedef struct _VERTEX { @@ -42,6 +45,7 @@ void deleteVertex(VERTEX_LIST *list, unsigned int n); int vertexInRect(const VERTEX *v, const RECTANGLE *rect); +gboolean vertexInPolygon(const VERTEX *v, const POLYGON *p); int lineIntersection(const LINE *la, const LINE *lb, VERTEX *v); int lineRectIntersection(const LINE *l, const RECTANGLE *rect, int edge, VERTEX *v); int lineRectIntersections(const LINE *line, const RECTANGLE *rect, int edge, VERTEX *v1, VERTEX *v2); |