Lines Matching defs:scanline
257 // Find the first Node above in the scanline that is a shape edge,
274 // Find the first Node below in the scanline that is a shape edge,
291 // Mark all connector segments above in the scanline as being able
306 // Mark all connector segments below in the scanline as being able
1155 // The first pass is adding the event to the scanline, the second is for
1156 // processing the event and the third for removing it from the scanline.
1157 static void processEventVert(Router *router, NodeSet& scanline,
1165 std::pair<NodeSet::iterator, bool> result = scanline.insert(v);
1171 if (it != scanline.begin())
1178 if (++it != scanline.end())
1304 scanline.erase(v->iter);
1310 result = scanline.erase(v);
1321 // The first pass is adding the event to the scanline, the second is for
1322 // processing the event and the third for removing it from the scanline.
1323 static void processEventHori(Router */*router*/, NodeSet& scanline,
1331 std::pair<NodeSet::iterator, bool> result = scanline.insert(v);
1337 if (it != scanline.begin())
1344 if (++it != scanline.end())
1428 scanline.erase(v->iter);
1434 result = scanline.erase(v);
1476 // entries to the scanline that might follow, before process them.
1478 NodeSet scanline;
1484 // If we have finished the current scanline or all events, then we
1485 // process the events on the current scanline in a couple of passes.
1493 processEventVert(router, scanline, segments,
1509 // structure of the scanline.
1511 processEventVert(router, scanline, segments, events[i], pass);
1513 COLA_ASSERT(scanline.empty());
1553 // If we have finished the current scanline or all events, then we
1554 // process the events on the current scanline in a couple of passes.
1562 processEventHori(router, scanline, vertSegments,
1587 // structure of the scanline.
1589 processEventHori(router, scanline, vertSegments, events[i], pass);
1591 COLA_ASSERT(scanline.empty());
1624 // Four calls to this function are made at each position by the scanline:
1626 // 2) Remove Close event objects from the scanline.
1627 // 3) Add Open event objects to the scanline.
1630 static void processShiftEvent(Router */*router*/, NodeSet& scanline,
1639 std::pair<NodeSet::iterator, bool> result = scanline.insert(v);
1645 if (it != scanline.begin())
1652 if (++it != scanline.end())
1698 result = scanline.erase(v);
1844 // entries to the scanline that might follow, before process them.
1845 NodeSet scanline;
1851 // If we have finished the current scanline or all events, then we
1852 // process the events on the current scanline in a couple of passes.
1860 processShiftEvent(router, scanline, segmentList, events[j],
1876 // structure of the scanline.
1878 processShiftEvent(router, scanline, segmentList, events[i],
1881 COLA_ASSERT(scanline.empty());