#include "contour.h" NODE *add_in_slow (int r, int c, int rr, int cc, NODE *zero, int *node_ct) { int dor, doc; bseg_put (&bseen, &on, rr, cc); if (rr < minr) minr = rr; if (rr > maxr) maxr = rr; if (cc < minc) minc = cc; if (cc > maxc) maxc = cc; if(*node_ct == array_size) { zero = (NODE *)G_realloc(zero,(array_size + AR_INCR) * sizeof(NODE)); array_size += AR_INCR; } dor = ABS(rr - r); doc = ABS(cc - c); zero[*node_ct].r = rr; zero[*node_ct].c = cc; zero[*node_ct].d = MIN(dor,doc) * 1.414 + ABS(dor-doc); *node_ct = *node_ct + 1; return(zero); } NODE *add_in (int r, int c, int rr, int cc, NODE *zero, int *node_ct) { int dor, doc; FLAG_SET (seen,rr,cc); if (rr < minr) minr = rr; if (rr > maxr) maxr = rr; if (cc < minc) minc = cc; if (cc > maxc) maxc = cc; if(*node_ct == array_size) { zero = (NODE *)G_realloc(zero,(array_size + AR_INCR) * sizeof(NODE)); array_size += AR_INCR; } dor = ABS(rr - r); doc = ABS(cc - c); zero[*node_ct].r = rr; zero[*node_ct].c = cc; zero[*node_ct].d = MIN(dor,doc) * 1.414 + ABS(dor-doc); *node_ct = *node_ct + 1; return(zero); }