| 463 |
|
newp.h[i] = p->h[i]; |
| 464 |
|
} |
| 465 |
|
/* spread reference and opposite */ |
| 466 |
< |
if (p->x[1] > p->x[0]) { |
| 466 |
> |
if (p->x[2] > p->x[0]) { |
| 467 |
|
newp.x[0] -= 2; |
| 468 |
< |
newp.x[1] += 2; |
| 468 |
> |
newp.x[1] -= 2; |
| 469 |
|
newp.x[2] += 2; |
| 470 |
< |
newp.x[3] -= 2; |
| 471 |
< |
} else if (p->x[0] > p->x[1]) { |
| 470 |
> |
newp.x[3] += 2; |
| 471 |
> |
} else if (p->x[0] > p->x[2]) { |
| 472 |
|
newp.x[0] += 2; |
| 473 |
< |
newp.x[1] -= 2; |
| 473 |
> |
newp.x[1] += 2; |
| 474 |
|
newp.x[2] -= 2; |
| 475 |
< |
newp.x[3] += 2; |
| 475 |
> |
newp.x[3] -= 2; |
| 476 |
|
} |
| 477 |
< |
if (p->y[1] > p->y[0]) { |
| 477 |
> |
if (p->y[2] > p->y[0]) { |
| 478 |
|
newp.y[0] -= 2; |
| 479 |
< |
newp.y[1] += 2; |
| 479 |
> |
newp.y[1] -= 2; |
| 480 |
|
newp.y[2] += 2; |
| 481 |
< |
newp.y[3] -= 2; |
| 482 |
< |
} else if (p->y[0] > p->y[1]) { |
| 481 |
> |
newp.y[3] += 2; |
| 482 |
> |
} else if (p->y[0] > p->y[2]) { |
| 483 |
|
newp.y[0] += 2; |
| 484 |
< |
newp.y[1] -= 2; |
| 484 |
> |
newp.y[1] += 2; |
| 485 |
|
newp.y[2] -= 2; |
| 486 |
< |
newp.y[3] += 2; |
| 486 |
> |
newp.y[3] -= 2; |
| 487 |
|
} |
| 488 |
|
/* put out faces */ |
| 489 |
|
sprintf(buf, "op%d", ++nopens); |
| 490 |
< |
putface(openmod, buf, "ref", &newp, 3, 7, 4, 0, fp); |
| 491 |
< |
putface(openmod, buf, "opp", &newp, 5, 6, 2, 1, fp); |
| 492 |
< |
putface(openmod, buf, "end1", &newp, 2, 6, 7, 3, fp); |
| 493 |
< |
putface(openmod, buf, "end2", &newp, 4, 5, 1, 0, fp); |
| 490 |
> |
putface(openmod, buf, "ref", &newp, 4, 5, 1, 0, fp); |
| 491 |
> |
putface(openmod, buf, "opp", &newp, 2, 6, 7, 3, fp); |
| 492 |
> |
putface(openmod, buf, "end1", &newp, 5, 6, 2, 1, fp); |
| 493 |
> |
putface(openmod, buf, "end2", &newp, 3, 7, 4, 0, fp); |
| 494 |
|
putface(openmod, buf, "bot", &newp, 1, 2, 3, 0, fp); |
| 495 |
|
putface(openmod, buf, "top", &newp, 7, 6, 5, 4, fp); |
| 496 |
|
} |
| 542 |
|
return; |
| 543 |
|
bn = blkname(bp); |
| 544 |
|
if (ff & 1<<F_REF) |
| 545 |
< |
putface(m, bn, "ref", &bp->p, 3, 7, 4, 0, fp); |
| 545 |
> |
putface(m, bn, "ref", &bp->p, 4, 5, 1, 0, fp); |
| 546 |
|
if (ff & 1<<F_OPP) |
| 547 |
< |
putface(m, bn, "opp", &bp->p, 5, 6, 2, 1, fp); |
| 547 |
> |
putface(m, bn, "opp", &bp->p, 2, 6, 7, 3, fp); |
| 548 |
|
if (ff & 1<<F_END) { |
| 549 |
< |
putface(m, bn, "end1", &bp->p, 2, 6, 7, 3, fp); |
| 550 |
< |
putface(m, bn, "end2", &bp->p, 4, 5, 1, 0, fp); |
| 549 |
> |
putface(m, bn, "end1", &bp->p, 5, 6, 2, 1, fp); |
| 550 |
> |
putface(m, bn, "end2", &bp->p, 3, 7, 4, 0, fp); |
| 551 |
|
} |
| 552 |
|
if (ff & 1<<F_BOT) |
| 553 |
|
putface(m, bn, "bot", &bp->p, 1, 2, 3, 0, fp); |