public static Zcorn Read(BinaryReader reader) { byte version = reader.ReadByte(); switch (version) { case Version0: { int icount = reader.ReadInt32(); int jcount = reader.ReadInt32(); int kcount = reader.ReadInt32(); ZcornItem[,,] items = new ZcornItem[icount, jcount, kcount]; for (int i = 0; i < icount; ++i) { for (int j = 0; j < jcount; ++j) { for (int k = 0; k < kcount; ++k) { items[i, j, k] = ZcornItem.Read(reader); } } } return(new Zcorn(items)); } default: return(new Zcorn()); } }
void Init(int nx, int ny, int nz) { Items = new ZcornItem[nx, ny, nz]; for (int k = 0; k < nz; ++k) { for (int j = 0; j < ny; ++j) { for (int i = 0; i < nx; ++i) { Items[i, j, k] = new ZcornItem(); } } } }
public Zcorn(int nx, int ny, int nz, double zSize, double depth) { Init(nx, ny, nz); double z = depth; for (int k = 0; k < nz; ++k) { double zTop = z; double zBottom = z + zSize; for (int j = 0; j < ny; ++j) { for (int i = 0; i < nx; ++i) { Items[i, j, k] = new ZcornItem(zTop, zTop, zTop, zTop, zBottom, zBottom, zBottom, zBottom); } } z += zSize; } }