public Layer getRootLayer() { return view.getRootLayer(); }
private List<Layer> getGeometryLayers(ProductSceneView sceneView) { return LayerUtils.getChildLayers(sceneView.getRootLayer(), LayerUtils.SEARCH_DEEP, geometryFilter); }
private Layer findWorldMapLayer(ProductSceneView view) { return LayerUtils.getChildLayer(view.getRootLayer(), LayerUtils.SearchMode.DEEP, layer -> layer.getLayerType() instanceof WorldMapLayerType); }
@Override public void selectionChange(@NullAllowed ProductSceneView oldValue, @NullAllowed ProductSceneView newValue) { if (oldValue != null) { oldValue.getRootLayer().removeListener(layerListener); } if (newValue != null) { newValue.getRootLayer().addListener(layerListener); } updateActionState(); }
static RenderedImage createImage(ProductSceneView view, boolean fullScene, Dimension dimension, boolean alphaChannel, boolean geoReferenced) { final int imageType = alphaChannel ? BufferedImage.TYPE_4BYTE_ABGR : BufferedImage.TYPE_3BYTE_BGR; final BufferedImage bufferedImage = new BufferedImage(dimension.width, dimension.height, imageType); final BufferedImageRendering imageRendering = createRendering(view, fullScene, geoReferenced, bufferedImage); if (!alphaChannel) { final Graphics2D graphics = imageRendering.getGraphics(); graphics.setColor(view.getLayerCanvas().getBackground()); graphics.fillRect(0, 0, dimension.width, dimension.height); } view.getRootLayer().render(imageRendering); return bufferedImage; }
private void removeViewListener(ProductSceneView view) { if (view != null) { view.getRootLayer().removeListener(pagePanelLL); view.getFigureEditor().removeSelectionChangeListener(pagePanelSCL); } }
private void addViewListener(ProductSceneView view) { if (view != null) { view.getRootLayer().addListener(pagePanelLL); view.getFigureEditor().addSelectionChangeListener(pagePanelSCL); } }
private void findLayerForSelection(VectorDataFigureEditor figureEditor, MouseEvent mouseEvent) { LayerWithNearFigureFilter figureFilter = new LayerWithNearFigureFilter(figureEditor, mouseEvent); final ProductSceneView sceneView = figureEditor.getProductSceneView(); final Layer rootLayer = sceneView.getRootLayer(); selectLayer(rootLayer, figureFilter); }
@Override public void deactivate() { super.deactivate(); if (optionsWindow != null) { optionsWindow.setVisible(false); } ProductSceneView view = SnapApp.getDefault().getSelectedProductSceneView(); if (view != null) { view.getRootLayer().removeListener(layerListener); } }
private VectorDataNode getVectorDataNode(ProductSceneView view) { final Layer rootLayer = view.getRootLayer(); final Layer layer = LayerUtils.getChildLayer(rootLayer, LayerUtils.SearchMode.DEEP, VectorDataLayerFilterFactory.createGeometryFilter()); VectorDataNode vectorDataNode = null; if (layer instanceof VectorDataLayer) { VectorDataLayer vdl = (VectorDataLayer) layer; vectorDataNode = vdl.getVectorDataNode(); } return vectorDataNode; } }
/** * @param vectorDataNodes The vector data nodes whose layer shall be made visible. * @since BEAM 4.10 */ public void setLayersVisible(VectorDataNode... vectorDataNodes) { for (VectorDataNode vectorDataNode : vectorDataNodes) { final LayerFilter nodeFilter = VectorDataLayerFilterFactory.createNodeFilter(vectorDataNode); Layer vectorDataLayer = LayerUtils.getChildLayer(getRootLayer(), LayerUtils.SEARCH_DEEP, nodeFilter); if (vectorDataLayer != null) { vectorDataLayer.setVisible(true); } } }
/** * @param vectorDataNode The vector data node, whose layer shall be selected. * @return The layer, or {@code null}. * @since BEAM 4.7 */ public VectorDataLayer selectVectorDataLayer(VectorDataNode vectorDataNode) { LayerFilter layerFilter = new VectorDataLayerFilter(vectorDataNode); VectorDataLayer layer = (VectorDataLayer) LayerUtils.getChildLayer(getRootLayer(), LayerUtils.SEARCH_DEEP, layerFilter); if (layer != null) { setSelectedLayer(layer); } return layer; }
@Override public boolean activate() { if (optionsWindow == null) { optionsWindow = createOptionsWindow(); } optionsWindow.setVisible(true); ProductSceneView view = SnapApp.getDefault().getSelectedProductSceneView(); if (view != null) { view.getRootLayer().addListener(layerListener); } return super.activate(); }
private void setSelectedLayer(String layerId) { if (layerId != null) { ProductSceneView sceneView = SnapApp.getDefault().getSelectedProductSceneView(); if (sceneView != null) { Layer layer = LayerUtils.getChildLayerById(sceneView.getRootLayer(), layerId); if (layer != null) { sceneView.setSelectedLayer(layer); } } } }
@Override protected void setOverlayEnableState(ProductSceneView view) { if (view != null) { Layer rootLayer = view.getRootLayer(); Layer worldMapLayer = findWorldMapLayer(view); if (isSelected()) { if (worldMapLayer == null) { worldMapLayer = createWorldMapLayer(); rootLayer.getChildren().add(worldMapLayer); } worldMapLayer.setVisible(true); } else { worldMapLayer.getParent().getChildren().remove(worldMapLayer); } } }
@Override public void actionPerformed(ActionEvent e) { final Layer selectedLayer = SnapApp.getDefault().getSelectedProductSceneView().getSelectedLayer(); Layer rootLayer = SnapApp.getDefault().getSelectedProductSceneView().getRootLayer(); if (selectedLayer != null && rootLayer != selectedLayer) { moveUp(selectedLayer); } }
@Override public void actionPerformed(ActionEvent e) { Layer selectedLayer = SnapApp.getDefault().getSelectedProductSceneView().getSelectedLayer(); Layer rootLayer = SnapApp.getDefault().getSelectedProductSceneView().getRootLayer(); if (selectedLayer != null && rootLayer != selectedLayer) { moveDown(selectedLayer); } }
@Override public void actionPerformed(ActionEvent e) { final Layer selectedLayer = SnapApp.getDefault().getSelectedProductSceneView().getSelectedLayer(); Layer rootLayer = SnapApp.getDefault().getSelectedProductSceneView().getRootLayer(); if (selectedLayer != null && rootLayer != selectedLayer) { moveRight(selectedLayer); } }
@Override public void actionPerformed(ActionEvent e) { final Layer selectedLayer = SnapApp.getDefault().getSelectedProductSceneView().getSelectedLayer(); Layer rootLayer = SnapApp.getDefault().getSelectedProductSceneView().getRootLayer(); if (selectedLayer != null && rootLayer != selectedLayer) { moveLeft(selectedLayer); } }
private static String selectVectorDataLayer(VectorDataNode vectorDataNode) { Layer oldLayer = null; ProductSceneView sceneView = SnapApp.getDefault().getSelectedProductSceneView(); if (sceneView != null) { oldLayer = sceneView.getSelectedLayer(); // todo find new solution //SnapApp.getDefault().getProductTree().expand(vectorDataNode); sceneView.selectVectorDataLayer(vectorDataNode); LayerFilter nodeFilter = VectorDataLayerFilterFactory.createNodeFilter(vectorDataNode); Layer newSelectedLayer = LayerUtils.getChildLayer(sceneView.getRootLayer(), LayerUtils.SEARCH_DEEP, nodeFilter); if (newSelectedLayer != null) { newSelectedLayer.setVisible(true); } } return oldLayer != null ? oldLayer.getId() : null; }