]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/awt/InteractiveVtkPanel.java
Eliminated NullPointerException in vtkGizmo.deattachActors().
[simantics/3d.git] / org.simantics.g3d.vtk / src / org / simantics / g3d / vtk / awt / InteractiveVtkPanel.java
index df91a5d4c7960d1735e311aadcaa7754b5b57583..d697070cfbae165dfb49ff7cf3efe5a3dd28c738 100644 (file)
@@ -16,6 +16,7 @@ import java.awt.event.MouseEvent;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.eclipse.core.runtime.Platform;
 import org.simantics.g3d.scenegraph.RenderListener;
 import org.simantics.g3d.vtk.action.vtkAction;
 import org.simantics.g3d.vtk.common.VtkView;
@@ -29,6 +30,7 @@ import vtk.vtkAssemblyPath;
 import vtk.vtkCellPicker;
 import vtk.vtkGenericRenderWindowInteractor;
 import vtk.vtkInteractorStyleTrackballCamera;
+import vtk.vtkObject;
 import vtk.vtkObjectBase;
 import vtk.vtkPanel;
 import vtk.vtkPointPicker;
@@ -42,25 +44,31 @@ import vtk.vtkScenePicker;
 public class InteractiveVtkPanel extends vtkPanel implements VtkView {
        
        protected vtkGenericRenderWindowInteractor iren;
-    
+       
 
        public vtkGenericRenderWindowInteractor getRenderWindowInteractor() {
-        return this.iren;
-    }
+               return this.iren;
+       }
        private static final long serialVersionUID = 2815073937537950615L;
        
        
        public InteractiveVtkPanel() {
                super();
+               
+               if (!Platform.inDevelopmentMode()) {
+                       // This is actually a static method in C++
+                       new vtkObject().GlobalWarningDisplayOff();
+               }
+               
                iren = new vtkGenericRenderWindowInteractor();
                iren.SetRenderWindow(rw);
-        iren.TimerEventResetsTimerOff();
-        iren.SetSize(200, 200);
-        iren.ConfigureEvent();
-        vtkInteractorStyleTrackballCamera style = new vtkInteractorStyleTrackballCamera();
-        iren.SetInteractorStyle(style);
-        addDeletable(style);
-        addDeletable(iren);
+               iren.TimerEventResetsTimerOff();
+               iren.SetSize(200, 200);
+               iren.ConfigureEvent();
+               vtkInteractorStyleTrackballCamera style = new vtkInteractorStyleTrackballCamera();
+               iren.SetInteractorStyle(style);
+               addDeletable(style);
+               addDeletable(iren);
        }
        
        @Override
@@ -119,14 +127,14 @@ public class InteractiveVtkPanel extends vtkPanel implements VtkView {
        }
        
        public void setSize(int x, int y) {
-        if (windowset == 1) {
-            Lock();
-            rw.SetSize(x, y);
-            iren.SetSize(x, y);
-            iren.ConfigureEvent();
-            UnLock();
-        }
-    }
+               if (windowset == 1) {
+                       Lock();
+                       rw.SetSize(x, y);
+                       iren.SetSize(x, y);
+                       iren.ConfigureEvent();
+                       UnLock();
+               }
+       }
 
        private vtkScenePicker scenePicker;