import org.simantics.g3d.scenegraph.RenderListener;
import org.simantics.g3d.tools.PluginTools;
-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.utils.vtkUtil;
import org.simantics.plant3d.Activator;
-import org.simantics.plant3d.scenegraph.InlineComponent;
import org.simantics.plant3d.scenegraph.PipelineComponent;
import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.PositionType;
Vector3d prev = new Vector3d();
Vector3d next = new Vector3d();
- InteractiveVtkPanel panel;
+ VtkView panel;
private RenderListener listener;
- public TerminalSelectionGizmo(InteractiveVtkPanel panel) {
+ public TerminalSelectionGizmo(VtkView panel) {
this.panel = panel;
this.listener = new RenderListener() {
};
}
+ vtkRenderer getRenderer() {
+ return panel.getRenderer();
+ }
+
+
@Override
- public void attach(Object renderingPart) {
+ public void attach(VtkView renderingPart) {
if (nextProp == null) {
loadData();
}
protected void attachActors() {
+ panel.lock();
vtkRenderer ren = getRenderer();
if (showPrev) {
- ren.AddActor(prevProp);
+ ren.AddActor2D(prevProp);
}
if (showNext) {
- ren.AddActor(nextProp);
+ ren.AddActor2D(nextProp);
}
if (showMiddle) {
- ren.AddActor(middleProp);
+ ren.AddActor2D(middleProp);
}
-
+ panel.unlock();
}
@Override
protected void deattachActors() {
panel.removeListener(listener);
+ panel.lock();
vtkRenderer ren = getRenderer();
ren.RemoveActor(prevProp);
ren.RemoveActor(nextProp);
ren.RemoveActor(middleProp);
+ panel.unlock();
}
public void setComponent(PipelineComponent component, Set<PositionType> allowed) {
throw new RuntimeException("Cannot resolve required image files.");
vtkPoints points = new vtkPoints();
- points.InsertNextPoint(-8, -8, 0.0);
- points.InsertNextPoint( 8, -8, 0.0);
- points.InsertNextPoint( 8, 8, 0.0);
- points.InsertNextPoint(-8, 8, 0.0);
+ double pw = 8;
+ points.InsertNextPoint(-pw, -pw, 0.0);
+ points.InsertNextPoint( pw, -pw, 0.0);
+ points.InsertNextPoint( pw, pw, 0.0);
+ points.InsertNextPoint(-pw, pw, 0.0);
vtkCellArray cellArray = new vtkCellArray();
middleProp.SetPickable(1);
+ middleProp.SetWidth(pw);
+ middleProp.SetHeight(pw);
+
+ prevProp.SetWidth(pw);
+ prevProp.SetHeight(pw);
+
+ nextProp.SetWidth(pw);
+ nextProp.SetHeight(pw);
+
plusReader.GetOutputPort().Delete();
plusReader.Delete();
middleReader.GetOutputPort().Delete();