示例#1
0
        public void SetMaxColRow(int _iC, int _iR)
        {
            if (m_iMaxCol == _iC && m_iMaxRow == _iR)
            {
                return;
            }

            m_iMaxCol     = _iC;
            m_iMaxRow     = _iR;
            TChip[,] chps = new TChip[_iC, _iR];
            int iCol = Math.Min(_iC, m_tChips.GetLength(0));
            int iRow = Math.Min(_iR, m_tChips.GetLength(1));

            for (int r = 0; r < _iR; r++)
            {
                for (int c = 0; c < _iC; c++)
                {
                    chps[c, r] = new TChip();
                }
            }


            for (int r = 0; r < iRow; r++)
            {
                for (int c = 0; c < iCol; c++)
                {
                    chps[c, r] = m_tChips[c, r];
                }
            }

            m_tChips = chps;
            OnChange();
        }
示例#2
0
文件: Array.cs 项目: zoro-008/Works
        public void FlipXY()
        {
            TChip[,] chps = new TChip[m_iMaxCol, m_iMaxRow];

            for (int i = 0; i < m_iMaxRow; i++)
            {
                for (int j = 0; j < m_iMaxCol; j++)
                {
                    chps[j, i] = m_tChips[m_iMaxCol - 1 - j, m_iMaxRow - 1 - i];
                }
            }
            Array.Copy(chps, 0, m_tChips, 0, m_tChips.Length);

            OnChange();
        }
示例#3
0
文件: Array.cs 项目: zoro-008/Works
        public void TurnCw270()
        {
            TChip[,] chps = new TChip[m_iMaxCol, m_iMaxRow];

            for (int i = 0; i < m_iMaxCol; i++)
            {
                for (int j = 0; j < m_iMaxRow; j++)
                {
                    //r,c
                    chps[j, i] = m_tChips[m_iMaxCol - 1 - i, j];
                }
            }

            SetMaxColRow(m_iMaxCol, m_iMaxRow);
            Array.Copy(chps, 0, m_tChips, 0, m_tChips.Length);

            OnChange();
        }
示例#4
0
文件: Array.cs 项目: zoro-008/Works
        public void SetMaxColRow(int _iC, int _iR)
        {
            if (m_iMaxCol == _iC && m_iMaxRow == _iR)
            {
                return;
            }

            m_iMaxCol     = _iC;
            m_iMaxRow     = _iR;
            TChip[,] chps = new TChip[_iC, _iR];
            bool [,] mask = new bool [_iC, _iR];
            bool [,] Work = new bool [_iC, _iR];
            int iCol = Math.Min(_iC, m_tChips.GetLength(0));
            int iRow = Math.Min(_iR, m_tChips.GetLength(1));

            for (int r = 0; r < _iR; r++)
            {
                for (int c = 0; c < _iC; c++)
                {
                    chps[c, r] = new TChip();
                }
            }


            for (int r = 0; r < iRow; r++)
            {
                for (int c = 0; c < iCol; c++)
                {
                    chps[c, r] = m_tChips [c, r];
                    mask[c, r] = m_bNotUse[c, r];
                    Work[c, r] = m_bWorkChip[c, r];
                }
            }

            m_tChips    = chps;
            m_bNotUse   = mask;
            m_bWorkChip = Work;
            OnChange();
        }
示例#5
0
文件: Array.cs 项目: zoro-008/Works
        public void TurnCw90()  //시계 방향.
        {
            //버퍼 생성.
            TChip[,] chps = new TChip[m_iMaxRow, m_iMaxCol];

            //데이터 버퍼로 옮김.
            for (int i = 0; i < m_iMaxCol; i++)
            {
                for (int j = 0; j < m_iMaxRow; j++)
                {
                    chps[j, i] = m_tChips[i, m_iMaxRow - 1 - j];
                }
            }



            //맥스 세팅.
            SetMaxColRow(m_iMaxRow, m_iMaxCol);

            Array.Copy(chps, 0, m_tChips, 0, m_tChips.Length);

            OnChange();
        }