exclusiveLineSort method

Future<List<Line>> exclusiveLineSort(
  1. List<Line> lineList
)

***** ***** ***** ***** ***** EXCLUSIVE_FUNCTIONS ***** ***** ***** ***** ***** *****


Algorithm set to handle a special sort

Implementation

///Algorithm set to handle a special sort
Future<List<Line>> exclusiveLineSort(List<Line> lineList) async {
  List<Line> resultLines = [];
  // print("****************** ****************** ****************** ******************");
  // print(lineList.join(" "));
  for (int i = 0; i < lineList.length; i) {
    List<Line> subLines = [];
    Line line = leastXFinder(lineList);
    var maxX = line.cornerList![3].x;
    if (line.cornerList![0].x >= maxX) {
      subLines.add(lineList[i]);
      lineList.remove(lineList[i]);
    } else {
      for (int i = lineList.length - 1; i >= 0; i--) {
        if (lineList[i].cornerList![0].x < maxX) {
          subLines.add(lineList[i]);
          lineList.remove(lineList[i]);
        }
      }
    }
    // print(subLines.join(" "));
    // print("******------******");
    subLines.sort((a, b) => b.cornerList![0].y.compareTo(a.cornerList![0].y));
    sortedResult = sortedResult + subLines.join(" ") + " => ";
    // sortedResultYAxis = sortedResultYAxis +
    //     subLines.map((e) => "(${e.cornerList![0].y.toStringAsFixed(2)})${e.text}").toList().join(" ") +
    //     " => ";
    // sortedResultXAxis = sortedResultXAxis +
    //     subLines.map((e) => "(${e.cornerList![0].x.toStringAsFixed(2)})${e.text}").toList().join(" ") +
    //     " => ";
    // sortedResultSlope = sortedResultSlope +
    //     subLines.map((e) => "(${slopeOfLine(e).toStringAsFixed(2)})${e.text}").toList().join(" ") +
    //     " => ";
    resultLines = resultLines + subLines;
  }
  sortedResult = sortedResult + "\n\n";
  // sortedResultYAxis = sortedResultYAxis + "\n\n";
  // sortedResultXAxis = sortedResultXAxis + "\n\n";
  // sortedResultSlope = sortedResultSlope + "\n\n";
  return resultLines;
}