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
* @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();
+ }
}