'Specifies new zoom in data coordinates. Zoom is provided in form of plot translation
and scale, not camera transformation. This might not be what you want (``OWLinProj3D``
disables this behavior for example). Plot3D remembers translation and scale.
``zoom_out`` can be use to restore the previous zoom level.
:param min: Lower left corner of the new zoom volume.
:type QVector3D
:param max: Upper right corner of the new zoom volume.
:type QVector3D'

def set_new_zoom(self, min, max):

    self._zoom_stack.append((self.plot_scale, self.plot_translation))
    center = ((max + min) / 2.0)
    new_translation = (- center)
    self._zoomed_size = ((max - min) + QVector3D(1e-05, 1e-05, 1e-05))
    new_scale = vec_div(QVector3D(1, 1, 1), self._zoomed_size)
    self._animate_new_scale_translation(new_scale, new_translation)
