void QTessellatorPrivate::addIntersections() { if (scanline.size) { QDEBUG() << "INTERSECTIONS"; // check marked edges for intersections #ifdef DEBUG for (int i = 0; i < scanline.size; ++i) { Edge *e = scanline.edges[i]; QDEBUG() << " " << i << e->edge << "isect=(" << e->intersect_left << e->intersect_right << ')'; } #endif for (int i = 0; i < scanline.size - 1; ++i) { Edge *e1 = scanline.edges[i]; Edge *e2 = scanline.edges[i + 1]; // check for intersection if (e1->intersect_right || e2->intersect_left) addIntersection(e1, e2); } } #if 0 if (intersections.constBegin().key().y == y) { QDEBUG() << "----------------> intersection on same line"; scanline.clearMarks(); scanline.processIntersections(y, &intersections); goto redo; } #endif }