X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.csg%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fcsg%2Feditor%2FCSGNodeMap.java;fp=org.simantics.g3d.csg%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fcsg%2Feditor%2FCSGNodeMap.java;h=48b710f606895b789ed8e8c7a7d52104c0d777dc;hb=b93886889422a3111b05a6944b3bcb2cdd8c416a;hp=bcd28db4dd214fce84f9ac717c3171c18642715c;hpb=01441002a94a1f4ad2b078d63cb719ce617bd6cf;p=simantics%2F3d.git diff --git a/org.simantics.g3d.csg/src/org/simantics/g3d/csg/editor/CSGNodeMap.java b/org.simantics.g3d.csg/src/org/simantics/g3d/csg/editor/CSGNodeMap.java index bcd28db4..48b710f6 100644 --- a/org.simantics.g3d.csg/src/org/simantics/g3d/csg/editor/CSGNodeMap.java +++ b/org.simantics.g3d.csg/src/org/simantics/g3d/csg/editor/CSGNodeMap.java @@ -88,11 +88,8 @@ public class CSGNodeMap extends AbstractVTKNodeMap { 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 { private boolean hasActor(ICSGnode node) { - List list = nodeToActor.getValues(node); + Collection list = getRenderObjects(node); if (list == null || list.size() == 0) return false; return true; @@ -111,16 +108,11 @@ public class CSGNodeMap extends AbstractVTKNodeMap { if (Thread.currentThread() != view.getThreadQueue().getThread()) throw new RuntimeException("Illegal thread."); - List list = nodeToActor.getValues(node); - if (list != null) { - for (vtkProp obj : list) { - actorToNode.remove(obj); - } - nodeToActor.remove(node); + Collection list = getRenderObjects(node); + if (list.size() > 0) { + removeMap(node); view.lock(); - node.stopVisualize(); - view.unlock(); } }