public Chunk (int x, int y, int z, int width, ref Grid3f copyGrid) { position = new Vector3(x, y, z); marchingGrid = new Grid3f(width); for (int i = 0; i < width; i++) { for (int f = 0; f < width; f++) { for (int g = 0; g < width; g++) { if (copyGrid.OnGrid(x + i, y + f, z + g)) { val = copyGrid.Get(x + i, y + f, z + g); } else { val = 1; } marchingGrid.Set(i, f, g, val); } } } }
public Map(int _width, int _height = 0, int _depth = 0) { if (_height == 0) { _height = _width; } if (_depth == 0) { _depth = _width; } width = _width; height = _height; depth = _depth; cubeGrid = new Grid3i(width, height, depth); cubeGridCopy = new Grid3i(width, height, depth); marchingGrid = new Grid3f(width + 1, height + 1, depth + 1); marchingGridCopy = new Grid3f(width + 1, height + 1, depth + 1); }
public ClusterMap(int _width, int _height = 0, int _depth = 0) { if (_height == 0) { _height = _width; } if (_depth == 0) { _depth = _width; } width = _width; height = _height; depth = _depth; cubeGrid = new Grid3i(width, height, depth); cubeGridCopy = new Grid3i(width, height, depth); marchingGrid = new Grid3f(width + 1, height + 1, depth + 1); marchingGridCopy = new Grid3f(width + 1, height + 1, depth + 1); chunkList = new List <Chunk>(); }
public void CopyToMarching(ref Grid3f grid) { for (int i = 0; i < width; i++) { for (int f = 0; f < height; f++) { for (int g = 0; g < depth; g++) { if (Get(i, f, g) == 0) { grid.Set(i, f, g, 1); grid.Set(i, f + 1, g, 1); grid.Set(i, f, g + 1, 1); grid.Set(i, f + 1, g + 1, 1); grid.Set(i + 1, f, g, 1); grid.Set(i + 1, f + 1, g, 1); grid.Set(i + 1, f, g + 1, 1); grid.Set(i + 1, f + 1, g + 1, 1); } } } } }
public void CopyTo(ref Grid3f copyTo) { data.CopyTo(copyTo.data, 0); }