NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
> BranchGroup branch = renderer.getBranch(); > // now the Shape3D you want is the child or > // grandchild or greatgrandchild of branch > // (I'm not sure which offhand) > // > // you can't re-use that Shape3D unless you > // invoke branch.detach() to take it out of > // the live Java3D scenegraph Hi, thanks for your help, I found a Shap3D there, but I have problems detaching it: public void displayChanged(DisplayEvent e) { if (e.getId() == DisplayEvent.TRANSFORM_DONE) { System.out.println("displaychanged"); BranchGroup branchGroup = renderer.getBranch(); branchGroup.detach(); Enumeration enum = branchGroup.getAllChildren(); System.out.println(branchGroup); while(enum.hasMoreElements()) { Object o; o = enum.nextElement(); if (o instanceof BranchGroup) { System.out.println((BranchGroup) o); } if (o instanceof Shape3D) { System.out.println((Shape3D) o); Shape3D shape3d = (Shape3D) o; // GIS3DView machen und fuellen GIS3DView gis3dView = new GIS3DView(true); Layer3D layer3d = new Layer3D(); layer3d.addShape(shape3d); gis3dView.addLayer(layer3d); GisTermService s = GisTerm.lookupService("GisTerm"); JTabbedPane p = gisTerm.getTabbedPane(); p.add("VisAD",gis3dView); p.setSelectedComponent(gis3dView); } } } I get the following exception: displaychanged javax.media.j3d.BranchGroup@5f4bfc javax.media.j3d.Shape3D@75b4d1 javax.media.j3d.MultipleParentException: Group.addChild: child already has a par ent at javax.media.j3d.GroupRetained.checkValidChild(GroupRetained.java:374) at javax.media.j3d.GroupRetained.addChild(GroupRetained.java:383) at javax.media.j3d.Group.addChild(Group.java:261) at gis.services.gis3D.Layer3D.addShape(Layer3D.java:140) at app.gwvis.TerrainListener.displayChanged(TerrainListener.java:51) at visad.DisplayImpl.notifyListeners(DisplayImpl.java:430) at visad.DisplayImpl.notifyListeners(DisplayImpl.java:413) at visad.DisplayImpl.doAction(DisplayImpl.java:1025) at visad.ActionImpl.run(ActionImpl.java:198) at visad.util.ThreadPool$ThreadMinnow.run(ThreadPool.java:86) ... Thanks for your help again Desiree
visad
archives: