Пример #1
0
        public DBSerial Export()
        {
            DBSerial rs = new DBSerial();

            rs.width  = size.X;
            rs.height = size.Y;
            rs.depth  = size.Z;
            int ones = this.OneCount;

            if (ones == 0)
            {
                rs.data = null;
            }
            else if (ones == size.Product)
            {
                rs.data = new byte[] { 255 }
            }
            ;
            else
            {
                int len = grid.Length * 4;
                rs.data = new byte[len];
                Buffer.BlockCopy(grid, 0, rs.data, 0, len);
            }
            return(rs);
        }
Пример #2
0
            public override bool Equals(object obj)
            {
                if (!(obj is DBSerial))
                {
                    return(false);
                }
                DBSerial other = (DBSerial)obj;

                return(width == other.width &&
                       height == other.height &&
                       depth == other.depth &&
                       Helper.AreEqual(data, other.data));
            }
Пример #3
0
 public BitCube(DBSerial serial)
 {
     UpdateSize(new Int3(serial.width, serial.height, serial.depth));
     if (serial.data != null)
     {
         if (serial.data.Length == 1)
         {
             //all ones
             this.SetAllOne();
         }
         else
         {
             if (GridSize.Product * 4 != (serial.data.Length))
             {
                 throw new ArgumentOutOfRangeException("Got " + (serial.data.Length) + " byte(s), but needed " + GridSize + "*4 = " + GridSize.Product * 4);
             }
             Buffer.BlockCopy(serial.data, 0, grid, 0, serial.data.Length);
             oneCount = -1;
         }
     }
 }
Пример #4
0
 public InconsistencyCoverage(DBSerial serial) : base(serial)
 {
 }