Method: GtkVTKRenderWindow#PickActor

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

#PickActor(x, y) ⇒ Object



533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
# File 'lib/VTK/gtk/GtkVTKRenderWindow.rb', line 533

def PickActor(x,y)
  if @CurrentRenderer

    renderer = @CurrentRenderer
    picker = @Picker

    windowY = self.get_window.height
    picker.Pick(x,(windowY - y - 1),0.0,renderer)
    assembly = picker.GetAssembly

    if (@PickedAssembly != nil && @PrePickedProperty != nil)
      @PickedAssembly.SetProperty(@PrePickedProperty)
      # release hold of the property
      @PrePickedProperty.UnRegister(@PrePickedProperty)
      @PrePickedProperty = nil
    end

    if (assembly != nil)
      @PickedAssembly = assembly
      @PrePickedProperty = @PickedAssembly.GetProperty
      # hold onto the property
      @PrePickedProperty.Register(@PrePickedProperty)
      @PickedAssembly.SetProperty(@PickedProperty)
    end

    self.Render
  end
end