X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius2.git;a=blobdiff_plain;f=output.c;h=f64b22cedc1623cc6769c5b5ad57580a0f00bd8c;hp=262991a41d978e0b02200a22ca6de92a3ed16830;hb=6df67fc7061e6fae41fec8c05b9e49e4e393c733;hpb=cf1b738d035a22d539a44ca50925fb23cdb7588c diff --git a/output.c b/output.c index 262991a..f64b22c 100644 --- a/output.c +++ b/output.c @@ -197,7 +197,7 @@ static double outvertex_coord_check(double value) { static void compute_outvertices(void) { int v0,k,side,ab,x,y; - FOR_VERTEX(v0) { + FOR_VERTEX(v0, INNER) { for (ab=0; ab<2; ab++) { int v1= EDGE_END2(v0, ab?5:0); int v2= EDGE_END2(v0, ab?0:1); @@ -211,7 +211,7 @@ static void compute_outvertices(void) { K Ok(ovAB[v0][ab][1], centroid[k] - normal[k]); } } - FOR_VERTEX(v0) { + FOR_VERTEX(v0, INNER) { int vw= EDGE_END2(v0,3); int vnw= EDGE_END2(v0,2); int vsw= EDGE_END2(v0,4); @@ -234,7 +234,7 @@ static void compute_outvertices(void) { K Ok(ovC[v0][side], in[v0][k] + adjust[k]); } } - FOR_RIM_VERTEX(y,x,v0) { + FOR_RIM_VERTEX(y,x,v0, INNER) { double rim[D3], inner[D3], radius_cos[D3], radius_sin[D3]; int vback, vfwd, around; @@ -275,7 +275,7 @@ static void compute_outvertices(void) { sin(angle) * radius_sin[k]); } } - FOR_RIM_VERTEX(y,x,v0) { + FOR_RIM_VERTEX(y,x,v0, INNER) { int vfwd= EDGE_END2(v0,0); assert(vfwd >= 0); int aroung; @@ -315,7 +315,7 @@ static OutVertex *invertex2outvertexcd(v0,side) { static void outfacets(void) { int v0,e,side,aroung; - FOR_VERTEX(v0) { + FOR_VERTEX(v0, INNER) { OutVertex *defs=0, *defs1=0; int rimy=-1; int_map *defs1aroundmap= 0; @@ -498,6 +498,7 @@ int main(int argc, const char *const *argv) { errno= 0; r= fread(&in,sizeof(in),1,stdin); if (r!=1) diee("fread"); + mgraph_prepare(); blank_outvertices(); compute_outvertices(); transform_outvertices();