Lines Matching defs:jarc
66 for( Arc_ptr jarc = bin.removearc(); jarc; jarc = bin.removearc() ) {
68 REAL tdiff = jarc->tail()[param] - value;
69 REAL hdiff = jarc->head()[param] - value;
73 right.addarc( jarc );
75 tailonright.addarc( jarc );
78 switch( arc_split(jarc, param, value, 0) ) {
80 tailonright.addarc( jarc );
81 headonleft.addarc( jarc->next );
84 assert( jarc->head()[param] > value );
85 right.addarc( jarc );
86 tailonright.addarc( jtemp = jarc->next );
90 assert( jarc->head()[param] <= value );
91 tailonright .addarc( jarc );
92 headonleft.addarc( jtemp = jarc->next );
96 right.addarc( jarc );
97 tailonright.addarc( jtemp = jarc->next );
104 headonright.addarc( jarc );
106 unknown.addarc( jarc );
108 headonleft.addarc( jarc );
113 switch( arc_split(jarc, param, value, 1) ) {
115 tailonleft.addarc( jarc );
116 headonright.addarc( jarc->next );
119 assert( jarc->head()[param] < value );
120 left.addarc( jarc );
121 tailonleft.addarc( jtemp = jarc->next );
125 assert( jarc->head()[param] >= value );
126 tailonleft.addarc( jarc );
127 headonright.addarc( jtemp = jarc->next );
131 left.addarc( jarc );
132 tailonleft.addarc( jtemp = jarc->next );
137 tailonleft.addarc( jarc );
139 left.addarc( jarc );
175 Subdivider::arc_split( Arc_ptr jarc, int param, REAL value, int dir )
177 int maxvertex = jarc->pwlArc->npts;
179 TrimVertex* v = jarc->pwlArc->pts;
182 switch( pwlarc_intersect( jarc->pwlArc, param, value, dir, loc ) ) {
186 jarc1 = new(arcpool) Arc( jarc, new( pwlarcpool) PwlArc( maxvertex-loc[1], &v[loc[1]] ) );
187 jarc->pwlArc->npts = loc[1] + 1;
188 jarc1->next = jarc->next;
190 jarc->next = jarc1;
191 jarc1->prev = jarc;
192 assert(jarc->check() != 0);
225 newjunk[k+1].nuid = jarc->nuid;
234 jarc->pwlArc->pts=vcopy;
236 v[i].nuid = jarc->nuid;
237 v[j].nuid = jarc->nuid;
247 jarc1 = new(arcpool) Arc( jarc,
250 jarc->pwlArc->npts = j+2;
251 jarc1->next = jarc->next;
253 jarc->next = jarc1;
254 jarc1->prev = jarc;
255 assert(jarc->check() != 0);
264 v[i].nuid = jarc->nuid;
265 v[j].nuid = jarc->nuid;
275 jarc1 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( 2, newjunk+1 ) );
276 jarc->pwlArc->npts = 2;
277 jarc->pwlArc->pts = newjunk;
278 jarc1->next = jarc->next;
280 jarc->next = jarc1;
281 jarc1->prev = jarc;
282 assert(jarc->check() != 0);
288 jarc1 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( 2, newjunk ) );
289 jarc2 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( 2, newjunk+1 ) );
290 jarc->pwlArc->npts = maxvertex-1;
291 jarc2->next = jarc->next;
293 jarc->next = jarc1;
294 jarc1->prev = jarc;
297 assert(jarc->check() != 0);
302 jarc1 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( 2, newjunk+1 ) );
303 jarc2 = new(arcpool) Arc( jarc,
304 new(pwlarcpool) PwlArc( maxvertex-1, &jarc->pwlArc->pts[1] ) );
305 jarc->pwlArc->npts = 2;
306 jarc->pwlArc->pts = newjunk;
307 jarc2->next = jarc->next;
309 jarc->next = jarc1;
310 jarc1->prev = jarc;
313 assert(jarc->check() != 0);
318 jarc1 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( 2, newjunk ) );
319 jarc2 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( 2, newjunk+1 ) );
320 jarc3 = new(arcpool) Arc( jarc, new(pwlarcpool) PwlArc( maxvertex-i, v+i ) );
321 jarc->pwlArc->npts = j + 1;
322 jarc3->next = jarc->next;
324 jarc->next = jarc1;
325 jarc1->prev = jarc;
330 assert(jarc->check() != 0);
399 * arc_classify - determine which side of a line a jarc lies
405 arc_classify( Arc_ptr jarc, int param, REAL value )
409 tdiff = jarc->tail()[0] - value;
410 hdiff = jarc->head()[0] - value;
412 tdiff = jarc->tail()[1] - value;
413 hdiff = jarc->head()[1] - value;