68 intersections.
show(
"intersections" );
69 right.show(
"right" );
94 for( lptr=
list; lptr !=
last; lptr++ ) {
95 if( ((*lptr)->head()[0] <=
value) && ((*lptr)->tail()[0] <=
value) )
98 right.addarc( *lptr );
104 for( lptr=
list; lptr<
last; lptr+=2 )
106 for( lptr=
list; lptr<
last; lptr+=2 )
108 for( lptr=
list; lptr !=
last; lptr++ ) {
109 if( ((*lptr)->head()[1] <=
value) && ((*lptr)->tail()[1] <=
value) )
110 left.addarc( *lptr );
112 right.addarc( *lptr );
116 if(
list != arclist )
delete[]
list;
124 assert( jarc1->check( ) != 0 );
125 assert( jarc2->check( ) != 0 );
126 assert( jarc1->next->check( ) != 0 );
127 assert( jarc2->next->check( ) != 0 );
132 if( ! ( jarc1->tail()[0] < (jarc1)->head()[0] ) ) {
134 _glu_dprintf(
"s difference %f\n", (jarc1)->
tail()[0] - (jarc1)->
head()[0] );
139 if( ! ( jarc2->tail()[0] > (jarc2)->head()[0] ) ) {
141 _glu_dprintf(
"s difference %f\n", (jarc2)->
tail()[0] - (jarc2)->
head()[0] );
150 up->nuid =
down->nuid = 0;
154 up->prev = jarc1->prev;
155 down->prev = jarc2->prev;
167 jarc2->prev = jarc1->prev;
169 jarc2->prev->next = jarc2;
170 jarc1->prev->next = jarc1;
182 assert( jarc1->check( ) != 0);
183 assert( jarc2->check( ) != 0);
186 if( ! jarc1->getitail() )
189 if( ! jarc2->getitail() )
192 REAL s = jarc1->tail()[0];
193 REAL t1 = jarc1->tail()[1];
194 REAL t2 = jarc2->tail()[1];
209 link( jarc1, jarc2, newright, newleft );
210 left.addarc( newright );
211 right.addarc( newleft );
214 assert( jarc1->check( ) != 0 );
215 assert( jarc2->check( ) != 0 );
216 assert( jarc1->next->check( ) != 0);
217 assert( jarc2->next->check( ) != 0);
223 assert( jarc1->check( ) != 0 );
224 assert( jarc2->check( ) != 0 );
225 assert( jarc1->next->check( ) != 0 );
226 assert( jarc2->next->check( ) != 0 );
231 if( ! ( jarc1->tail()[1] < (jarc1)->head()[1] ) ) {
233 _glu_dprintf(
"t difference %f\n", jarc1->tail()[1] - (jarc1)->head()[1] );
238 if( ! ( jarc2->tail()[1] > (jarc2)->head()[1] ) ) {
240 _glu_dprintf(
"t difference %f\n", jarc2->tail()[1] - (jarc2)->head()[1] );
254 assert( jarc1->check( ) != 0 );
255 assert( jarc2->check( ) != 0 );
256 assert( jarc1->next->check( ) != 0 );
257 assert( jarc2->next->check( ) != 0 );
260 if( ! jarc1->getitail() )
263 if( ! jarc2->getitail() )
266 REAL s1 = jarc1->tail()[0];
267 REAL s2 = jarc2->tail()[0];
268 REAL t = jarc1->tail()[1];
283 link( jarc1, jarc2, newtop, newbot );
285 top.addarc( newbot );
288 assert( jarc1->check( ) != 0 );
289 assert( jarc2->check( ) != 0 );
290 assert( jarc1->next->check( ) != 0 );
291 assert( jarc2->next->check( ) != 0 );
struct outqueuenode * tail
struct outqueuenode * head
void qsort(Arc **a, int n)
void pwl_right(Arc_ptr, REAL, REAL, REAL, REAL)
void pwl_top(Arc_ptr, REAL, REAL, REAL, REAL)
void pwl_bottom(Arc_ptr, REAL, REAL, REAL, REAL)
void bezier(Arc_ptr, REAL, REAL, REAL, REAL)
void pwl_left(Arc_ptr, REAL, REAL, REAL, REAL)
void check_t(Arc_ptr, Arc_ptr)
void join_s(Bin &, Bin &, Arc_ptr, Arc_ptr)
ArcTessellator arctessellator
void check_s(Arc_ptr, Arc_ptr)
void partition(Bin &, Bin &, Bin &, Bin &, Bin &, int, REAL)
int isBezierArcType(void)
void link(Arc_ptr, Arc_ptr, Arc_ptr, Arc_ptr)
void join_t(Bin &, Bin &, Arc_ptr, Arc_ptr)
void simple_link(Arc_ptr, Arc_ptr)
void split(Bin &, Bin &, Bin &, int, REAL)
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble GLdouble top
static struct _PeImage bin