public BestPointSet(BestPointSet inBest) { point = new NodePointLayer(inBest.point, inBest.point.layer); layer = inBest.layer; isOneLayer = inBest.isOneLayer; }
private List<BestPointSet> SortBestPoints(List<BestPointSet> inLst) { bool isExcept = conflictManager.IsExceptionContain(inLst); for (int i = 0; i < inLst.Count; i++) { for (int j = i + 1; j < inLst.Count; j++) { if (isExcept && conflictManager.IsBestExecept(inLst[j].point) && conflictManager.IsBestExecept(inLst[i].point)) { if (inLst[j].point.priority > inLst[i].point.priority) { BestPointSet nd = new BestPointSet(inLst[j]); inLst[j] = new BestPointSet(inLst[i]); inLst[i] = nd; } } else if (isExcept && conflictManager.IsBestExecept(inLst[j].point) && (!conflictManager.IsBestHeight(inLst[i].point))) { BestPointSet nd = new BestPointSet(inLst[j]); inLst[j] = new BestPointSet(inLst[i]); inLst[i] = nd; } else if (inLst[j].point.priority > inLst[i].point.priority) { BestPointSet nd = new BestPointSet(inLst[j]); inLst[j] = new BestPointSet(inLst[i]); inLst[i] = nd; } } } return inLst; }
private List<int> DefineSameLayers(PairInt inCnt, BestPointSet pointUnit, List<BestPointSet> bestPoint) { List<int> bestLayers = new List<int>(); foreach (BestPointSet pntSet in bestPoint) { if (pntSet.isOneLayer && (NodePoint)pntSet.point == (NodePoint)pointUnit.point) bestLayers.Add(pntSet.point.layer); } return bestLayers; }