]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/gizmo/vtkGizmo.java
Eliminated NullPointerException in vtkGizmo.deattachActors().
[simantics/3d.git] / org.simantics.g3d.vtk / src / org / simantics / g3d / vtk / gizmo / vtkGizmo.java
index dacbc00808e029b2a4b4b9328bf03abf6ee8caec..2c70a68eefe8acf04ad14cb93345be927d3ff6be 100644 (file)
@@ -74,8 +74,10 @@ public abstract class vtkGizmo implements Gizmo<vtkProp, VtkView> {
        protected void deattachActors() {
                view.lock();
                vtkRenderer ren1 = view.getRenderer();
-               for (vtkProp p : gizmo) {
-                       ren1.RemoveActor(p);
+               if (ren1 != null) {
+                       for (vtkProp p : gizmo) {
+                               ren1.RemoveActor(p);
+                       }
                }
                view.unlock();
        }
@@ -89,35 +91,35 @@ public abstract class vtkGizmo implements Gizmo<vtkProp, VtkView> {
                return false;
        }
        
-        public void setPosition(Tuple3d position) {
-                this.position = position;
-                for (vtkProp p : gizmo) {
-                        ((vtkProp3D)p).SetPosition(position.x, position.y, position.z);
-                }
-        }
-        
-        public void setRotation(AxisAngle4d q) {
-                this.orientation = q;
-                for (vtkProp p : gizmo) {
-                        ((vtkProp3D)p).SetOrientation(0,0,0);
-                        ((vtkProp3D)p).RotateWXYZ(MathTools.radToDeg(q.angle), q.x, q.y, q.z);
-                }
-        }
-       
-        
-        public void setScale(Tuple3d s) {
-                this.scale = s;
-                for (vtkProp p : gizmo) {
-                        ((vtkProp3D)p).SetScale(s.x, s.y, s.z);
-                }
-        }
-        
-        public void setScale(double s) {
-                this.scale = new Vector3d(s,s,s);
-                for (vtkProp p : gizmo) {
-                        ((vtkProp3D)p).SetScale(s, s, s);
-                }
-        }
+       public void setPosition(Tuple3d position) {
+               this.position = position;
+               for (vtkProp p : gizmo) {
+                       ((vtkProp3D)p).SetPosition(position.x, position.y, position.z);
+               }
+       }
+       
+       public void setRotation(AxisAngle4d q) {
+               this.orientation = q;
+               for (vtkProp p : gizmo) {
+                       ((vtkProp3D)p).SetOrientation(0,0,0);
+                       ((vtkProp3D)p).RotateWXYZ(MathTools.radToDeg(q.angle), q.x, q.y, q.z);
+               }
+       }
+       
+       
+       public void setScale(Tuple3d s) {
+               this.scale = s;
+               for (vtkProp p : gizmo) {
+                       ((vtkProp3D)p).SetScale(s.x, s.y, s.z);
+               }
+       }
+       
+       public void setScale(double s) {
+               this.scale = new Vector3d(s,s,s);
+               for (vtkProp p : gizmo) {
+                       ((vtkProp3D)p).SetScale(s, s, s);
+               }
+       }
        
        public abstract Collection<vtkProp> getGizmo();