3 import java.awt.event.InputEvent;
4 import java.awt.event.KeyEvent;
5 import java.awt.event.MouseEvent;
6 import java.awt.event.MouseWheelEvent;
9 * vtkRenderWindowPanel is a vtkCanvas which allows additional vtkRenderers to
10 * be added. vtkPanel and vtkCanvas force you to add actors to the internal
11 * vtkRenderer. vtkRenderWindowPanel always renders, even if the internal
12 * renderer has no visible actors.
16 public class vtkRenderWindowPanel extends vtkCanvas {
17 private static final long serialVersionUID = 1L;
19 public vtkRenderWindowPanel() {
20 cam = new vtkCamera();
24 public vtkRenderWindowPanel(vtkRenderWindow win) {
26 cam = new vtkCamera();
30 public synchronized void Render() {
35 // set the window id and the active camera
38 rw.SetSize(getWidth(), getHeight());
41 // notify observers that we have a renderwindow created
42 // windowSetObservable.notifyObservers();
52 public void mousePressed(MouseEvent e) {
54 rw.SetDesiredUpdateRate(5.0);
58 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
59 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
61 iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
63 if ((e.getModifiers() & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
64 iren.LeftButtonPressEvent();
67 else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {
68 iren.MiddleButtonPressEvent();
71 else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
72 iren.RightButtonPressEvent();
78 public void mouseDragged(MouseEvent e) {
79 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
80 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
82 iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
85 iren.MouseMoveEvent();
89 public void mouseWheelMoved(MouseWheelEvent e) {
90 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
91 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
94 if (e.getWheelRotation() > 0) {
95 iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
96 iren.MouseWheelBackwardEvent();
98 else if (e.getWheelRotation() < 0) {
99 iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
100 iren.MouseWheelForwardEvent();
105 public void keyPressed(KeyEvent e) {
106 char keyChar = e.getKeyChar();
108 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
109 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
111 iren.SetEventInformationFlipY(lastX, lastY, ctrlPressed, shiftPressed, keyChar, 0, String.valueOf(keyChar));
114 iren.KeyPressEvent();