public void ApplyToAll(Func<Voxel, Vector3I, Voxel> f)
{
int i = 0;
Vector3I v = Vector3I.Zero;
for(v.Y = 0; v.Y < HEIGHT; v.Y++) {
for(v.Z = 0; v.Z < DEPTH; v.Z++) {
for(v.X = 0; v.X < WIDTH; v.X++) {
voxels[i] = f(voxels[i], v);
i++;
}
}
}
}