Esempio n. 1
0
        private void AddCurrCell()
        {
            if ((m_curr_cell.Area | m_curr_cell.Cover) != 0)
            {
                if (m_num_used_cells >= (int)cell_block_scale_e.cell_block_limit)
                {
                    return;
                }

                AllocateCellsIfRequired();
                m_cells.Data()[m_num_used_cells].Set(m_curr_cell);
                m_num_used_cells++;

#if false
                if (m_num_used_cells == 281)
                {
                    int a = 12;
                }

                DebugFile.Print(m_num_used_cells.ToString()
                                + ". x=" + m_curr_cell.m_x.ToString()
                                + " y=" + m_curr_cell.m_y.ToString()
                                + " area=" + m_curr_cell.m_area.ToString()
                                + " cover=" + m_curr_cell.m_cover.ToString()
                                + "\n");
#endif
            }
        }
Esempio n. 2
0
 public void ScanlineCells(uint y, out CellAA[] CellData, out uint Offset)
 {
     CellData = m_sorted_cells.Data();
     Offset   = m_sorted_y[(int)y - m_min_y].start;
 }
Esempio n. 3
0
 public uint ScanlineNumCells(uint y)
 {
     return((uint)m_sorted_y.Data()[(int)y - m_min_y].num);
 }