public void RemoveVolume(VoxelVolume volume, QbMatrix matrix, Dictionary <double, VoxelUndoData> modifiedVoxels) { double hash; VoxelUndoData voxel = new VoxelUndoData(); for (int z = volume.minz; z <= volume.maxz; z++) { for (int y = volume.miny; y <= volume.maxy; y++) { for (int x = volume.minx; x <= volume.maxx; x++) { hash = matrix.GetHash(x, y, z); if (modifiedVoxels.TryGetValue(hash, out voxel)) { matrix.Color(x, y, z, voxel.colorindex, false, true); modifiedVoxels.Remove(hash); } } } } }
public void AddVolume(VoxelVolume volume, QbMatrix matrix, ref Colort color, Dictionary <double, VoxelUndoData> modifiedVoxels) { double hash; Voxel voxel = null; for (int z = volume.minz; z <= volume.maxz; z++) { for (int y = volume.miny; y <= volume.maxy; y++) { for (int x = volume.minx; x <= volume.maxx; x++) { hash = matrix.GetHash(x, y, z); if (!modifiedVoxels.ContainsKey(hash) && matrix.voxels.TryGetValue(hash, out voxel) && voxel.alphamask > 1) { modifiedVoxels.Add(hash, new VoxelUndoData(matrix.voxels[hash].colorindex, 0)); matrix.Color(x, y, z, color); } } } } }
public void AddVolume(VoxelVolume volume, QbMatrix matrix, ref Colort color, Dictionary<double, VoxelUndoData> modifiedVoxels) { double hash; Voxel voxel = null; for (int z = volume.minz; z <= volume.maxz; z++) for (int y = volume.miny; y <= volume.maxy; y++) for (int x = volume.minx; x <= volume.maxx; x++) { hash = matrix.GetHash(x, y, z); if (!modifiedVoxels.ContainsKey(hash) && matrix.voxels.TryGetValue(hash, out voxel) && voxel.alphamask > 1) { modifiedVoxels.Add(hash, new VoxelUndoData(matrix.voxels[hash].colorindex, 0)); matrix.Color(x, y, z, color); } } }
public void RemoveVolume(VoxelVolume volume, QbMatrix matrix, Dictionary<double, VoxelUndoData> modifiedVoxels) { double hash; VoxelUndoData voxel = new VoxelUndoData(); for (int z = volume.minz; z <= volume.maxz; z++) for (int y = volume.miny; y <= volume.maxy; y++) for (int x = volume.minx; x <= volume.maxx; x++) { hash = matrix.GetHash(x, y, z); if (modifiedVoxels.TryGetValue(hash, out voxel)) { matrix.Color(x, y, z, voxel.colorindex, false, true); modifiedVoxels.Remove(hash); } } }