diff options
Diffstat (limited to 'geometry.h')
-rw-r--r-- | geometry.h | 28 |
1 files changed, 11 insertions, 17 deletions
@@ -2,6 +2,7 @@ #define GEOMETRY_H_ +#include "Vertex.h" #include <glib.h> #define EDGE_NONE 0 @@ -21,41 +22,34 @@ #define INTERSECTION_SEGMENT_SEGMENT 7 -typedef struct _VERTEX { - double x, y; -} VERTEX; - typedef struct _RECTANGLE { double x, y, width, height; } RECTANGLE; typedef struct _LINE { - VERTEX v1, v2; + Vertex v1, v2; } LINE; typedef struct _VERTEX_LIST { unsigned int nVertices; - VERTEX *vertices; + Vertex *vertices; } VERTEX_LIST, POLYGON; -void addVertex(VERTEX_LIST *list, const VERTEX *v); -void insertVertex(VERTEX_LIST *list, const VERTEX *v, unsigned int n); +void addVertex(VERTEX_LIST *list, const Vertex *v); +void insertVertex(VERTEX_LIST *list, const Vertex *v, unsigned int n); void deleteVertex(VERTEX_LIST *list, unsigned int n); -double vertexDistanceSquare(const VERTEX *v1, const VERTEX *v2); -double vertexDistance(const VERTEX *v1, const VERTEX *v2); - -int vertexOnLine(const VERTEX *v, const LINE *l); -int vertexInRect(const VERTEX *v, const RECTANGLE *rect); -gboolean vertexInPolygon(const VERTEX *v, const POLYGON *p); +int vertexOnLine(const Vertex *v, const LINE *l); +int vertexInRect(const Vertex *v, const RECTANGLE *rect); +gboolean vertexInPolygon(const Vertex *v, const POLYGON *p); double polygonPerimeter(const POLYGON *p); double polygonArea(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); +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); gboolean linePolygonIntersection(const LINE *l, const POLYGON *p); void simplifyPolygon(const POLYGON *in, const RECTANGLE *rect, POLYGON *out); |