X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius2.git;a=blobdiff_plain;f=output.c;h=f64b22cedc1623cc6769c5b5ad57580a0f00bd8c;hp=7a126289ea1331932cd64349f33f24150902398c;hb=6df67fc7061e6fae41fec8c05b9e49e4e393c733;hpb=2806248d44e4bf1ba361b60b521ed6056627eb83 diff --git a/output.c b/output.c index 7a12628..f64b22c 100644 --- a/output.c +++ b/output.c @@ -12,6 +12,7 @@ */ /* * ./output-64 t.stl + * ./output-125 t.stl 0.1 50 * meshlab t.stl */ /* @@ -196,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); @@ -210,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); @@ -233,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; @@ -274,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; @@ -314,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; @@ -373,8 +374,11 @@ static void blank_outvertices(void) { static void transform_outvertex_array(int n, OutVertex ovX[n]) { int i, k; - for (i=0; i