Advertisement
Guest User

C++ Vector 3D

a guest
Jul 15th, 2015
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 1.70 KB | None | 0 0
  1. std::vector<std::vector<std::vector<Block>>> m_blockArray;
  2. //Initialized Block array
  3.     for (int x = 0; x < 16; x++)
  4.     {
  5.         m_blockArray.push_back(vector<vector<Block>>());
  6.         for (int y = 0; y < 100; y++)
  7.         {
  8.             m_blockArray[x].push_back(vector<Block>());
  9.             for (int z = 0; z < 16; z++)
  10.             {
  11.                 m_blockArray[x][y].push_back(Block());
  12.                 m_blockArray[x][y][z].Block_load(D3DDevice, debug);
  13.  
  14.                 //m_blockArray[x][y][z].Block_load(D3DDevice, debug, x*2.0f, y*2.0f, z*2.0f);
  15.                 /*if (rand() % 100 < 55)
  16.                     m_blockArray[x][y][z].Block_setCubeType(CubeType::air);*/
  17.             }
  18.         }
  19.     }
  20.  
  21.     //Calculate hidden face
  22.     for (int x = 0; x < 16; x++)
  23.     {
  24.         for (int y = 0; y < 100; y++)
  25.         {
  26.             for (int z = 0; z < 16; z++)
  27.             {  
  28.                 if (m_blockArray[x][y + 1][z].Block_getCubeType() == CubeType::block && y + 1 < 16) //Top  //First loop error
  29.                     m_blockArray[x][y][z].BlockModel_setBlockFaceTop(false);
  30.  
  31.                 if (m_blockArray[x][y - 1][z].Block_getCubeType() == CubeType::block && y - 1 >= 0) //Bottom
  32.                     m_blockArray[x][y][z].BlockModel_setBlockFaceBottom(false);
  33.                
  34.                 if (m_blockArray[x][y][z - 1].Block_getCubeType() == CubeType::block && z - 1 >= 0) //One
  35.                     m_blockArray[x][y][z].BlockModel_setBlockFaceOne(false);
  36.  
  37.                 if (m_blockArray[x + 1][y][z].Block_getCubeType() == CubeType::block && x + 1 < 16) //Two
  38.                     m_blockArray[x][y][z].BlockModel_setBlockFaceTwo(false);
  39.  
  40.                 if (m_blockArray[x][y][z + 1].Block_getCubeType() == CubeType::block && z + 1 < 16) //Third
  41.                     m_blockArray[x][y][z].BlockModel_setBlockFaceThird(false);
  42.  
  43.                 if (m_blockArray[x - 1][y][z].Block_getCubeType() == CubeType::block && x - 1 >= 0) //Four
  44.                     m_blockArray[x][y][z].BlockModel_setBlockFaceFour(false);
  45.             }
  46.         }
  47.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement