3 import java.awt.event.InputEvent;
4 import java.awt.event.KeyEvent;
5 import java.awt.event.MouseEvent;
8 * vtkRenderWindowPanel is a vtkCanvas which allows additional vtkRenderers to
9 * be added. vtkPanel and vtkCanvas force you to add actors to the internal
10 * vtkRenderer. vtkRenderWindowPanel always renders, even if the internal
11 * renderer has no visible actors.
15 public class vtkRenderWindowPanel extends vtkCanvas {
16 private static final long serialVersionUID = 1L;
18 public vtkRenderWindowPanel() {
19 cam = new vtkCamera();
23 public vtkRenderWindowPanel(vtkRenderWindow win) {
25 cam = new vtkCamera();
29 public synchronized void Render() {
34 // set the window id and the active camera
37 rw.SetSize(getWidth(), getHeight());
40 // notify observers that we have a renderwindow created
41 // windowSetObservable.notifyObservers();
51 public void mousePressed(MouseEvent e) {
53 rw.SetDesiredUpdateRate(5.0);
57 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
58 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
60 iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
62 if ((e.getModifiers() & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
63 iren.LeftButtonPressEvent();
66 else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {
67 iren.MiddleButtonPressEvent();
70 else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
71 iren.RightButtonPressEvent();
77 public void mouseDragged(MouseEvent e) {
78 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
79 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
81 iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
84 iren.MouseMoveEvent();
88 public void keyPressed(KeyEvent e) {
89 char keyChar = e.getKeyChar();
91 ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
92 shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
94 iren.SetEventInformationFlipY(lastX, lastY, ctrlPressed, shiftPressed, keyChar, 0, String.valueOf(keyChar));