/* This software may only be used by you under license from AT&T Corp. ("AT&T"). A copy of AT&T's Source Code Agreement is available at AT&T's Internet website having the URL: If you received this software without first entering into a license with AT&T, you have an infringing copy of this software and cannot use it without violating AT&T's intellectual property rights. */ #pragma prototyped #ifndef HEDGES_H #define HEDGES_H #include "site.h" #include "edges.h" typedef struct Halfedge { struct Halfedge *ELleft, *ELright; Edge *ELedge; int ELrefcnt; char ELpm; Site *vertex; double ystar; struct Halfedge *PQnext; } Halfedge; extern Halfedge *ELleftend, *ELrightend; extern void ELinitialize(); extern void ELcleanup(); extern int right_of(Halfedge*, Point*); extern Site *hintersect(Halfedge*, Halfedge*); extern Halfedge *HEcreate(Edge*, char); extern void ELinsert(Halfedge *, Halfedge *); extern Halfedge *ELleftbnd(Point*); extern void ELdelete(Halfedge *); extern Halfedge *ELleft(Halfedge*), *ELright(Halfedge*); extern Halfedge *ELleftbnd(Point*); extern Site *leftreg(Halfedge*), *rightreg(Halfedge*); #endif