X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fgizmo%2FSplitPointSelectionGizmo.java;h=e5d83fb0da7202fa8fd056580da988cebacb0f37;hb=f8e541f1d66cda57802da11aaa715b9f9c1c79a9;hp=336fdbd56fbd2ea3311e82158607cef4d91fdc98;hpb=a460e609147d064dd3da464bcf1626845e0f93b4;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/gizmo/SplitPointSelectionGizmo.java b/org.simantics.plant3d/src/org/simantics/plant3d/gizmo/SplitPointSelectionGizmo.java index 336fdbd5..e5d83fb0 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/gizmo/SplitPointSelectionGizmo.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/gizmo/SplitPointSelectionGizmo.java @@ -1,7 +1,5 @@ package org.simantics.plant3d.gizmo; -import java.awt.event.MouseEvent; -import java.awt.event.MouseMotionListener; import java.util.ArrayList; import java.util.Collection; @@ -11,6 +9,7 @@ import javax.vecmath.Tuple3d; import javax.vecmath.Vector2d; import javax.vecmath.Vector3d; +import org.eclipse.swt.events.MouseMoveListener; import org.simantics.g3d.math.MathTools; import org.simantics.g3d.math.Ray; import org.simantics.g3d.scenegraph.RenderListener; @@ -18,9 +17,10 @@ import org.simantics.g3d.shape.Color4d; import org.simantics.g3d.shape.Cone; import org.simantics.g3d.shape.Cylinder; import org.simantics.g3d.shape.Mesh; -import org.simantics.g3d.vtk.common.InteractiveVtkPanel; +import org.simantics.g3d.vtk.common.VtkView; import org.simantics.g3d.vtk.gizmo.vtkGizmo; import org.simantics.g3d.vtk.shape.MeshActor; +import org.simantics.g3d.vtk.swt.InteractiveVtkComposite; import org.simantics.g3d.vtk.utils.vtkUtil; import vtk.vtkProp; @@ -29,9 +29,10 @@ public class SplitPointSelectionGizmo extends vtkGizmo { MeshActor actor; - InteractiveVtkPanel panel; + VtkView panel; private RenderListener listener; - private MouseMotionListener mouseListener; + //private MouseMotionListener mouseListener; + private MouseMoveListener mouseListener; Point3d start; Point3d end; @@ -44,7 +45,7 @@ public class SplitPointSelectionGizmo extends vtkGizmo { Tuple3d splitPoint = null; - public SplitPointSelectionGizmo(InteractiveVtkPanel panel) { + public SplitPointSelectionGizmo(VtkView panel) { this.panel = panel; int res = 16; @@ -61,11 +62,12 @@ public class SplitPointSelectionGizmo extends vtkGizmo { actor = new MeshActor(); actor.setMesh(tube_x); + panel.addDeletable(actor); this.listener = new RenderListener() { @Override public void preRender() { - Ray ray = vtkUtil.createMouseRay(getRenderer(), mousePos.x, mousePos.y); + Ray ray = vtkUtil.createMouseRay(SplitPointSelectionGizmo.this.panel.getRenderer(), mousePos.x, mousePos.y); //ray.dir.add(ray.pos); //if (MathTools.intersectLineLine(start, end, ray.pos, ray.dir, pa, pb)) { double mu[] = new double[2]; @@ -97,20 +99,30 @@ public class SplitPointSelectionGizmo extends vtkGizmo { } }; - this.mouseListener = new MouseMotionListener() { +// this.mouseListener = new MouseMotionListener() { +// +// @Override +// public void mouseMoved(MouseEvent e) { +// mousePos.x = e.getX(); +// mousePos.y = e.getY(); +// SplitPointSelectionGizmo.this.panel.refresh(); +// } +// +// @Override +// public void mouseDragged(MouseEvent e) { +// mousePos.x = e.getX(); +// mousePos.y = e.getY(); +// SplitPointSelectionGizmo.this.panel.refresh(); +// } +// }; + this.mouseListener = new MouseMoveListener() { @Override - public void mouseMoved(MouseEvent e) { - mousePos.x = e.getX(); - mousePos.y = e.getY(); - SplitPointSelectionGizmo.this.panel.repaint(); - } - - @Override - public void mouseDragged(MouseEvent e) { - mousePos.x = e.getX(); - mousePos.y = e.getY(); - SplitPointSelectionGizmo.this.panel.repaint(); + public void mouseMove(org.eclipse.swt.events.MouseEvent e) { + mousePos.x = e.x; + mousePos.y = e.y; + SplitPointSelectionGizmo.this.panel.refresh(); + } }; @@ -124,16 +136,19 @@ public class SplitPointSelectionGizmo extends vtkGizmo { } @Override - public void attach(Object renderingPart) { + public void attach(VtkView renderingPart) { super.attach(renderingPart); panel.addListener(listener); - panel.addMouseMotionListener(mouseListener); + // FIXME + //panel.addMouseMotionListener(mouseListener); + ((InteractiveVtkComposite)panel).getComponent().addMouseMoveListener(mouseListener); } @Override public void deattach() { panel.removeListener(listener); - panel.removeMouseMotionListener(mouseListener); + // FIXME + //panel.removeMouseMotionListener(mouseListener); super.deattach(); }