]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.csg/src/org/simantics/g3d/csg/editor/CSGNodeMap.java
Allow multiple radii for turns.
[simantics/3d.git] / org.simantics.g3d.csg / src / org / simantics / g3d / csg / editor / CSGNodeMap.java
index bcd28db4dd214fce84f9ac717c3171c18642715c..48b710f606895b789ed8e8c7a7d52104c0d777dc 100644 (file)
@@ -88,11 +88,8 @@ public class CSGNodeMap extends AbstractVTKNodeMap<Resource,ICSGnode> {
                view.lock();
                
                node.visualize(view);
-
-               for (vtkProp3D act : node.getActors()) {
-                       nodeToActor.add(node, act);
-                       actorToNode.put(act, node);
-               }
+               
+               map(node, node.getActors());
 
                view.unlock();
 
@@ -101,7 +98,7 @@ public class CSGNodeMap extends AbstractVTKNodeMap<Resource,ICSGnode> {
        
        
        private boolean hasActor(ICSGnode node) {
-               List<vtkProp> list = nodeToActor.getValues(node);
+               Collection<vtkProp> list = getRenderObjects(node);
                if (list == null || list.size() == 0)
                        return false;
                return true;
@@ -111,16 +108,11 @@ public class CSGNodeMap extends AbstractVTKNodeMap<Resource,ICSGnode> {
                if (Thread.currentThread() != view.getThreadQueue().getThread())
                        throw new RuntimeException("Illegal thread.");
 
-               List<vtkProp> list = nodeToActor.getValues(node);
-               if (list != null) {
-                       for (vtkProp obj : list) {
-                               actorToNode.remove(obj);        
-                       }
-                       nodeToActor.remove(node);
+               Collection<vtkProp> list = getRenderObjects(node);
+               if (list.size() > 0) {
+                   removeMap(node);
                        view.lock();
-                       
                        node.stopVisualize();
-                       
                        view.unlock();
                }
        }