exclusiveLineSort method
***** ***** ***** ***** ***** 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;
}