List<OverlapRemovalNode> GetLeftNeighbours(OverlapRemovalParameters parameters, ScanLine scanLine, OverlapRemovalNode currentNode, bool isHorizontal) { var lstNeighbours = new List<OverlapRemovalNode>(); OverlapRemovalNode nextNode = scanLine.NextLeft(currentNode); for (; null != nextNode; nextNode = scanLine.NextLeft(nextNode)) { // AddNeighbor returns false if we are done adding them. if (!AddNeighbour(parameters, currentNode, nextNode, lstNeighbours, true /* isLeftNeighbor */ , isHorizontal)) { if (!nextNode.DeferredLeftNeighborToV) { break; } } } // endfor NextLeft return lstNeighbours; } // end GetLeftNeighbours