コード例 #1
0
ファイル: PylonGridDetector.cs プロジェクト: rusio/pylongrid
 private List<Head> GroupHeadPylons()
 {
     List<Head> heads = new List<Head>();
     for (int gridRow = 1; gridRow < _GridRows - 1; gridRow++) {
         for (int gridCol = 1; gridCol < _GridCols - 1; gridCol++) {
             PylonGroup pylonGroup = new PylonGroup();
             GroupHeadPylon(gridRow, gridCol, ref pylonGroup);
             if (pylonGroup.PylonCount > 0) {
                 Head head = pylonGroup.ToHead();
                 heads.Add(head);
             }
         }
     }
     return heads;
 }
コード例 #2
0
ファイル: PylonGridDetector.cs プロジェクト: rusio/pylongrid
        private void GroupHeadPylon(int gridRow, int gridCol, ref PylonGroup pylonGroup)
        {
            Pylon pylon = _Grid[gridRow, gridCol];
            if (!pylon.IsHead || pylon.IsGrouped)
                return;

            pylonGroup.Register(pylon);

            GroupHeadPylon(gridRow - 1, gridCol, ref pylonGroup);
            GroupHeadPylon(gridRow + 1, gridCol, ref pylonGroup);
            GroupHeadPylon(gridRow, gridCol - 1, ref pylonGroup);
            GroupHeadPylon(gridRow, gridCol + 1, ref pylonGroup);
        }