Method: GtkVTKRenderWindow#Zoom

Defined in:
lib/VTK/gtk/GtkVTKRenderWindow.rb

#Zoom(x, y) ⇒ Object



477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
# File 'lib/VTK/gtk/GtkVTKRenderWindow.rb', line 477

def Zoom(x,y)
  if @CurrentRenderer

    renderer = @CurrentRenderer
    camera = @CurrentCamera

    zoomFactor = 1.02**(0.5*(@LastY - y))
    @CurrentZoom = @CurrentZoom * zoomFactor

    if camera.GetParallelProjection
      parallelScale = camera.GetParallelScale/zoomFactor
      camera.SetParallelScale(parallelScale)
    else
      camera.Dolly(zoomFactor)
      renderer.ResetCameraClippingRange
    end

    @LastX = x
    @LastY = y

    self.Render
  end
end