示例#1
0
文件: Zcorn.cs 项目: oilman007/PEXEL
        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());
            }
        }
示例#2
0
文件: Zcorn.cs 项目: oilman007/PEXEL
 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();
             }
         }
     }
 }
示例#3
0
文件: Zcorn.cs 项目: oilman007/PEXEL
        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;
            }
        }