예제 #1
0
 public BestPointSet(BestPointSet inBest)
 {
     point      = new NodePointLayer(inBest.point, inBest.point.layer);
     layer      = inBest.layer;
     isOneLayer = inBest.isOneLayer;
 }
예제 #2
0
 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;
 }
예제 #3
0
 public BestPointSet(BestPointSet inBest)
 {
     point = new NodePointLayer(inBest.point, inBest.point.layer);
     layer = inBest.layer;
     isOneLayer = inBest.isOneLayer;
 }
예제 #4
0
 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;
 }