Lines Matching defs:jarc
58 Arc_ptr jarc;
59 for( jarc=bin.firstarc(); jarc; jarc=bin.nextarc() ) {
60 if( ! jarc->isTessellated() ) {
63 tessellate( jarc, geo_stepsize );
64 if( jarc->isDisconnected() || jarc->next->isDisconnected() )
69 for( jarc=bin.firstarc(); jarc; jarc=bin.nextarc() ) {
70 monotonize( jarc, bin );
74 for( jarc=bin.firstarc(); jarc; jarc=bin.nextarc() ) {
75 assert( isMonotone( jarc ) != 0 );
83 Subdivider::tessellate( Arc_ptr jarc, REAL geo_stepsize )
85 BezierArc *b = jarc->bezierArc;
91 if( jarc->bezierArc->order != 2 )
92 arctessellator.tessellateNonlinear( jarc, geo_stepsize, arc_stepsize, 1 );
94 arctessellator.tessellateLinear( jarc, geo_stepsize, arc_stepsize, 1 );
99 if( jarc->bezierArc->order != 2 )
100 arctessellator.tessellateNonlinear( jarc, geo_stepsize, arc_stepsize, 0 );
102 arctessellator.tessellateLinear( jarc, geo_stepsize, arc_stepsize, 0 );
114 Subdivider::monotonize( Arc_ptr jarc, Bin& bin )
116 TrimVertex *firstvert = jarc->pwlArc->pts;
117 TrimVertex *lastvert = firstvert + (jarc->pwlArc->npts - 1);
118 long uid = jarc->nuid;
119 arc_side side = jarc->getside();
178 jarc->pwlArc->npts = vert - firstvert + 1;
179 jarc = (new(arcpool) Arc( side, uid ))->append( jarc );
180 jarc->pwlArc = new(pwlarcpool) PwlArc();
181 bin.addarc( jarc );
183 firstvert = jarc->pwlArc->pts = vert;
187 jarc->pwlArc->npts = vert - firstvert + 1;
190 /* remove jarc from circularly linked list */
191 jarc->prev->next = jarc->next;
192 jarc->next->prev = jarc->prev;
194 assert( jarc->prev->check( ) != 0 );
195 assert( jarc->next->check( ) != 0 );
197 /* remove jarc from bin */
198 bin.remove_this_arc( jarc );
200 jarc->pwlArc->deleteMe( pwlarcpool ); jarc->pwlArc = 0;
201 jarc->deleteMe( arcpool );
210 Subdivider::isMonotone( Arc_ptr jarc )
212 TrimVertex *firstvert = jarc->pwlArc->pts;
213 TrimVertex *lastvert = firstvert + (jarc->pwlArc->npts - 1);