18void voronoi(
Site *(*nextsite)(
void *context),
void *context) {
19 Site *newsite, *bot, *
top, *temp, *p;
21 Point newintstar = {0};
23 Halfedge *lbnd, *rbnd, *llbnd, *rrbnd, *bisector;
32 newsite = nextsite(context);
37 if (newsite !=
NULL &&
39 (newsite->
coord.
y ==newintstar.
y && newsite->
coord.
x < newintstar.
x))) {
56 newsite = nextsite(context);
static Agobj_t * deref(Expr_t *pgm, Exnode_t *x, Exref_t *ref, Agobj_t *objp, Gpr_t *state)
Edge * gvbisect(Site *s1, Site *s2)
void endpoint(Edge *e, int lr, Site *s)
static double dist(int dim, double *x, double *y)
bool PQempty(const pq_t *pq)
void PQdelete(pq_t *pq, Halfedge *he)
pq_t * PQinitialize(void)
Halfedge * PQextractmin(pq_t *pq)
void PQinsert(pq_t *pq, Halfedge *he, Site *v, double offset)
Halfedge * ELright(Halfedge *he)
void ELinsert(Halfedge *lb, Halfedge *new)
Site * hintersect(Halfedge *el1, Halfedge *el2)
Halfedge * ELleftbnd(Point *p)
Site * rightreg(Halfedge *he)
Halfedge * ELleft(Halfedge *he)
Halfedge * HEcreate(Edge *e, char pm)
void ELdelete(Halfedge *he)
Site * leftreg(Halfedge *he)
static Agedge_t * top(edge_stack_t *sp)
void voronoi(Site *(*nextsite)(void *context), void *context)