19void voronoi(
Site *(*nextsite)(
void *context),
void *context) {
22 Point newintstar = {0};
24 Halfedge *lbnd, *rbnd, *llbnd, *rrbnd, *bisector;
34 newsite = nextsite(context);
39 if (newsite !=
NULL &&
41 (newsite->
coord.
y ==newintstar.
y && newsite->
coord.
x < newintstar.
x))) {
58 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)
Arithmetic helper functions.
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 ELcleanup(el_state_t *st)
void ELinitialize(el_state_t *st)
void ELinsert(Halfedge *lb, Halfedge *new)
Site * hintersect(Halfedge *el1, Halfedge *el2)
Site * rightreg(Halfedge *he)
Halfedge * ELleft(Halfedge *he)
Halfedge * ELleftbnd(el_state_t *st, Point *p)
void ELdelete(Halfedge *he)
Halfedge * HEcreate(el_state_t *st, Edge *e, char pm)
Site * leftreg(Halfedge *he)
static Agedge_t * top(edge_stack_t *sp)
double ngdist(Site *s, Site *t)
void voronoi(Site *(*nextsite)(void *context), void *context)