]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - vtk/src/vtk/vtkRenderWindowPanel.java
vtk 8.2.0
[simantics/3d.git] / vtk / src / vtk / vtkRenderWindowPanel.java
index c8e9244d9615ed08f5addf299d5225fecd87a2f3..7ce59ac8ec1feca7d8d812e50fd919be55a1b985 100644 (file)
@@ -3,6 +3,7 @@ package vtk;
 import java.awt.event.InputEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
+import java.awt.event.MouseWheelEvent;
 
 /**
  * vtkRenderWindowPanel is a vtkCanvas which allows additional vtkRenderers to
@@ -13,89 +14,105 @@ import java.awt.event.MouseEvent;
  * @author Kitware
  */
 public class vtkRenderWindowPanel extends vtkCanvas {
-    private static final long serialVersionUID = 1L;
-
-    public vtkRenderWindowPanel() {
-        cam = new vtkCamera();
-        lgt = new vtkLight();
+  private static final long serialVersionUID = 1L;
+
+  public vtkRenderWindowPanel() {
+    cam = new vtkCamera();
+    lgt = new vtkLight();
+  }
+
+  public vtkRenderWindowPanel(vtkRenderWindow win) {
+    super(win);
+    cam = new vtkCamera();
+    lgt = new vtkLight();
+  }
+
+  public synchronized void Render() {
+    if (!rendering) {
+      rendering = true;
+      if (rw != null) {
+        if (windowset == 0) {
+          // set the window id and the active camera
+          RenderCreate(rw);
+          Lock();
+          rw.SetSize(getWidth(), getHeight());
+          UnLock();
+          windowset = 1;
+          // notify observers that we have a renderwindow created
+          // windowSetObservable.notifyObservers();
+        }
+        Lock();
+        rw.Render();
+        UnLock();
+      }
+      rendering = false;
     }
+  }
 
-    public vtkRenderWindowPanel(vtkRenderWindow win) {
-        super(win);
-        cam = new vtkCamera();
-        lgt = new vtkLight();
-    }
+  public void mousePressed(MouseEvent e) {
+    Lock();
+    rw.SetDesiredUpdateRate(5.0);
+    lastX = e.getX();
+    lastY = e.getY();
 
-    public synchronized void Render() {
-        if (!rendering) {
-            rendering = true;
-            if (rw != null) {
-                if (windowset == 0) {
-                    // set the window id and the active camera
-                    RenderCreate(rw);
-                    Lock();
-                    rw.SetSize(getWidth(), getHeight());
-                    UnLock();
-                    windowset = 1;
-                    // notify observers that we have a renderwindow created
-                    // windowSetObservable.notifyObservers();
-                }
-                Lock();
-                rw.Render();
-                UnLock();
-            }
-            rendering = false;
-        }
-    }
+    ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
+    shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
 
-    public void mousePressed(MouseEvent e) {
-        Lock();
-        rw.SetDesiredUpdateRate(5.0);
-        lastX = e.getX();
-        lastY = e.getY();
+    iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
 
-        ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
-        shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
+    if ((e.getModifiers() & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
+      iren.LeftButtonPressEvent();
+    }
 
-        iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
+    else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {
+      iren.MiddleButtonPressEvent();
+    }
 
-        if ((e.getModifiers() & InputEvent.BUTTON1_MASK) == InputEvent.BUTTON1_MASK) {
-            iren.LeftButtonPressEvent();
-        }
+    else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
+      iren.RightButtonPressEvent();
+    }
 
-        else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK) {
-            iren.MiddleButtonPressEvent();
-        }
+    UnLock();
+  }
 
-        else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK) {
-            iren.RightButtonPressEvent();
-        }
+  public void mouseDragged(MouseEvent e) {
+    ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
+    shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
 
-        UnLock();
-    }
+    iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
 
-    public void mouseDragged(MouseEvent e) {
-        ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
-        shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
+    Lock();
+    iren.MouseMoveEvent();
+    UnLock();
+  }
 
-        iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
+  public void mouseWheelMoved(MouseWheelEvent e) {
+    ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
+    shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
 
-        Lock();
-        iren.MouseMoveEvent();
-        UnLock();
+    Lock();
+    if (e.getWheelRotation() > 0) {
+      iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
+      iren.MouseWheelBackwardEvent();
+    }
+    else if (e.getWheelRotation() < 0) {
+      iren.SetEventInformationFlipY(e.getX(), e.getY(), ctrlPressed, shiftPressed, '0', 0, "0");
+      iren.MouseWheelForwardEvent();
     }
+    UnLock();
+  }
 
-    public void keyPressed(KeyEvent e) {
-        char keyChar = e.getKeyChar();
+  public void keyPressed(KeyEvent e) {
+    char keyChar = e.getKeyChar();
 
-        ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
-        shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
+    ctrlPressed = (e.getModifiers() & InputEvent.CTRL_MASK) == InputEvent.CTRL_MASK ? 1 : 0;
+    shiftPressed = (e.getModifiers() & InputEvent.SHIFT_MASK) == InputEvent.SHIFT_MASK ? 1 : 0;
 
-        iren.SetEventInformationFlipY(lastX, lastY, ctrlPressed, shiftPressed, keyChar, 0, String.valueOf(keyChar));
+    iren.SetEventInformationFlipY(lastX, lastY, ctrlPressed, shiftPressed, keyChar, 0, String.valueOf(keyChar));
 
-        Lock();
-        iren.KeyPressEvent();
-        iren.CharEvent();
-        UnLock();
-    }
+    Lock();
+    iren.KeyPressEvent();
+    iren.CharEvent();
+    UnLock();
+  }
 }