From: Ian Jackson Date: Mon, 18 Feb 2008 01:03:51 +0000 (+0000) Subject: fix up rim join mistakes X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius2.git;a=commitdiff_plain;h=2806248d44e4bf1ba361b60b521ed6056627eb83;ds=sidebyside fix up rim join mistakes --- diff --git a/output.c b/output.c index f8fdd3b..7a12628 100644 --- a/output.c +++ b/output.c @@ -148,7 +148,7 @@ static void outfacet(int rev, const OutVertex *a, const OutVertex *b, const OutVertex *c); typedef int int_map(int); -static int defs_aroundmap_swap(int around) { return NDEF-around; } +static int defs_aroundmap_swap(int around) { return NDEF-1-around; } static int int_identity_function(int i) { return i; } static void normalise_thick(double a[D3]) { @@ -277,11 +277,13 @@ static void compute_outvertices(void) { FOR_RIM_VERTEX(y,x,v0) { int vfwd= EDGE_END2(v0,0); assert(vfwd >= 0); - int around; - for (around=0; around=0); gs= ovG [v0 & XMASK][rimy]; defs= ovDEF[v0 & XMASK][rimy]; - defs1= ovDEF[v1 & XMASK][rimy]; + defs1= ovDEF[v1 & XMASK][!!(v1 & ~XMASK)]; defs1aroundmap= vertices_span_join_p(v0,v1) ? defs_aroundmap_swap : int_identity_function;