SHARE
TWEET

C++ Vector 3D

a guest Jul 15th, 2015 11 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.         }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top