Lines Matching refs:curedge

114 	EDGEPTR prevedge, curedge;  local
128 curedge = edgelist;
130 if (curedge->fax == NULL) {
135 curedge->sx, curedge->sy,
136 curedge->ex, curedge->ey,
143 curedge->code[0] = SIMPLE;
145 curedge->code[0] = AT0;
147 curedge->code[0] = AT1;
149 curedge->code[0] = UNUSED;
150 curedge->alpha[0] = alpha;
151 curedge->code[1] = UNUSED;
155 curedge->alpha[0] = (curedge->sy - candy0)/(candy1 - candy0);
156 curedge->alpha[1] = (curedge->ey - candy0)/(candy1 - candy0);
158 curedge->alpha[0] = (curedge->sx - candx0)/(candx1 - candx0);
159 curedge->alpha[1] = (curedge->ex - candx0)/(candx1 - candx0);
161 if (curedge->alpha[0] < curedge->alpha[1]) {
162 curedge->code[0] = ON0;
163 curedge->code[1] = ON1;
165 curedge->code[0] = ON1;
166 curedge->code[1] = ON0;
169 curedge->code[0] = curedge->code[1] = UNUSED;
170 } else if (curedge->fax->kind == ARC) {
175 curedge->fax->x0, curedge->fax->y0,
176 fabs(curedge->fax->radius),
181 curedge->code[0] = curedge->code[1] = UNUSED;
184 if (fabs(theta[0] - curedge->fax->theta1) < EPSILON) {
185 curedge->alpha[0] = gamma[0];
186 curedge->code[0] = curedge->flipped?AT1:AT0;
187 dprintf "%d\n", curedge->code[0]);
188 } else if (fabs(theta[0] - curedge->fax->theta2) < EPSILON) {
189 curedge->alpha[0] = gamma[0];
190 curedge->code[0] = curedge->flipped?AT0:AT1;
191 dprintf "%d\n", curedge->code[0]);
193 curedge->code[0] = UNUSED;
196 curedge->code[1] = UNUSED;
200 if (curedge->fax->theta2 < 2.0*PI) {
201 if (theta[i] - curedge->fax->theta1 < -EPSILON
202 || curedge->fax->theta2 - theta[i] < -EPSILON) {
203 curedge->code[i] = UNUSED;
208 if (curedge->fax->theta2 >= 2.0*PI) {
209 if (theta[i] - curedge->fax->theta1 < -EPSILON
210 && curedge->fax->theta2 - theta[i] < 2.0*PI - EPSILON) {
211 curedge->code[i] = UNUSED;
216 rem = modf(fabs(theta[i] - curedge->fax->theta1)/(2*PI), &dummy);
219 curedge->alpha[i] = gamma[i];
220 curedge->code[i] = curedge->flipped?AT1:AT0;
221 dprintf "%d\n", curedge->code[i]);
224 rem = modf(fabs(theta[i] - curedge->fax->theta2)/(2*PI), &dummy);
227 curedge->alpha[i] = gamma[i];
228 curedge->code[i] = curedge->flipped?AT0:AT1;
229 dprintf "%d\n", curedge->code[i]);
233 curedge->code[i] = SIMPLE;
234 curedge->alpha[i] = gamma[i];
239 curedge = curedge->next;
240 } while (curedge != edgelist);
242 curedge = edgelist;
245 curedge->sx, curedge->sy,
246 curedge->ex, curedge->ey
249 curedge->stx, curedge->sty,
250 curedge->etx, curedge->ety
254 curedge->code[i],
255 curedge->alpha[i]
257 curedge = curedge->next;
258 } while (curedge != edgelist);
261 curedge = edgelist->next;
264 switch (curedge->code[i]) {
268 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
271 dprintf "vertex intersection at (%f,%f)\n", curedge->sx, curedge->sy);
272 X = arecollinear(curedge->sx,curedge->sy,curedge->stx,curedge->sty,prevedge->etx,prevedge->ety);
273 Y = between(curedge->stx,curedge->sty,curedge->sx,curedge->sy,prevedge->etx,prevedge->ety);
274 Z = arecollinear(candx0,candy0,candx1,candy1,curedge->stx,curedge->sty);
278 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
285 curedge->ex, curedge->ey,
295 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
302 curedge->stx, curedge->sty,
312 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
322 …X = arecollinear(prevedge->etx,prevedge->ety,curedge->sx,curedge->sy,curedge->next->stx,curedge->n…
325 curedge->next->stx,curedge->sty,
337 curedge->next->ex,curedge->next->ey,
347 W = prevedge == curedge->next->next;
350 opqinsert((curedge->code[i] == ON0)?EXT0:EXT1, curedge->alpha[i], &alphalist);
352 opqinsert((curedge->code[i] == ON0)?INFL0:INFL1, curedge->alpha[i], &alphalist);
354 opqinsert((curedge->code[i] == ON0)?INFL0:INFL1, curedge->alpha[i], &alphalist);
356 opqinsert((curedge->code[i] == ON0)?EXT0:EXT1, curedge->alpha[i], &alphalist);
363 prevedge = curedge;
364 curedge = curedge->next;
497 EDGEPTR prevedge, curedge; local
511 curedge = edgelist;
513 if (curedge->fax == NULL) {
516 curedge->sx, curedge->sy,
517 curedge->ex, curedge->ey,
526 curedge->code[0] = AT0;
528 curedge->code[0] = AT1;
530 curedge->code[0] = TANGENT;
531 curedge->alpha[0] = rprin(theta[0]);
532 curedge->code[1] = UNUSED;
536 curedge->code[i] = SIMPLE;
538 curedge->code[i] = AT0;
540 curedge->code[i] = AT1;
542 curedge->code[i] = UNUSED;
543 curedge->alpha[i] = rprin(theta[i]);
547 } else if (curedge->fax->kind == ARC) {
551 curedge->fax->x0, curedge->fax->y0,
552 curedge->fax->radius,
557 if (fabs(x0 - curedge->fax->x0) < EPSILON
558 && fabs(y0 - curedge->fax->y0) < EPSILON
559 && fabs(fabs(radius) - fabs(curedge->fax->radius)) < EPSILON
561 curedge->alpha[0] = rprin(curedge->fax->theta1);
562 curedge->alpha[1] = rprin(curedge->fax->theta2);
563 curedge->code[0] = ON0;
564 curedge->code[1] = ON1;
566 curedge->code[0] = curedge->code[1] = UNUSED;
569 if (fabs(theta[0] - curedge->fax->theta1) < EPSILON)
570 curedge->code[0] = curedge->flipped?AT1:AT0;
571 else if (fabs(theta[0] - curedge->fax->theta2) < EPSILON)
572 curedge->code[0] = curedge->flipped?AT0:AT1;
574 curedge->code[0] = TANGENT;
575 curedge->alpha[0] = rprin(gamma[0]);
576 curedge->code[1] = UNUSED;
580 if (curedge->fax->theta2 < 2.0*PI) {
581 if (theta[i] - curedge->fax->theta1 < -EPSILON
582 || curedge->fax->theta2 - theta[i] < -EPSILON) {
583 curedge->code[i] = UNUSED;
588 if (curedge->fax->theta2 > 2.0*PI) {
589 if (theta[i] - curedge->fax->theta1 < -EPSILON
590 && curedge->fax->theta2 - theta[i] < 2.0*PI - EPSILON) {
591 curedge->code[i] = UNUSED;
596 rem = modf(fabs(theta[i] - curedge->fax->theta1)/(2.0*PI), &dummy);
599 curedge->alpha[i] = rprin(gamma[i]);
600 curedge->code[i] = curedge->flipped?AT1:AT0;
603 rem = modf(fabs(theta[i] - curedge->fax->theta2)/(2.0*PI), &dummy);
606 curedge->alpha[i] = rprin(gamma[i]);
607 curedge->code[i] = curedge->flipped?AT0:AT1;
611 curedge->code[i] = SIMPLE;
612 curedge->alpha[i] = rprin(gamma[i]);
618 curedge = curedge->next;
619 } while (curedge != edgelist);
621 curedge = edgelist;
624 curedge->sx, curedge->sy,
625 curedge->ex, curedge->ey
628 curedge->stx, curedge->sty,
629 curedge->etx, curedge->ety
633 curedge->code[i],
634 curedge->alpha[i]
636 curedge = curedge->next;
637 } while (curedge != edgelist);
640 curedge = edgelist->next;
643 stx = xtanp(x0,y0,radius,curedge->alpha[i]);
644 sty = ytanp(x0,y0,radius,curedge->alpha[i]);
645 etx = xtane(x0,y0,radius,curedge->alpha[i]);
646 ety = ytane(x0,y0,radius,curedge->alpha[i]);
647 switch (curedge->code[i]) {
651 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
654 dprintf "vertex intersection at (%f,%f)\n", curedge->sx, curedge->sy);
655 X = arecollinear(curedge->sx,curedge->sy,curedge->stx,curedge->sty,prevedge->etx,prevedge->ety);
656 Y = between(curedge->stx,curedge->sty,curedge->sx,curedge->sy,prevedge->etx,prevedge->ety);
657 Z = arecollinear(stx,sty,etx,ety,curedge->stx, curedge->sty);
661 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
668 curedge->ex, curedge->ey,
678 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
685 curedge->stx, curedge->sty,
695 opqinsert(SIMPLE, curedge->alpha[i], &alphalist);
706 Y = hypot(curedge->next->stx - x0, curedge->next->sty - y0) > fabs(radius);
711 opqinsert((curedge->code[i] == ON0)?EXT0:EXT1, curedge->alpha[i], &alphalist);
713 opqinsert((curedge->code[i] == ON0)?INFL0:INFL1, curedge->alpha[i], &alphalist);
716 opqinsert(IGNORE, curedge->alpha[i], &alphalist);
723 prevedge = curedge;
724 curedge = curedge->next;