@Override public void actionPerformed(ActionEvent e) { final Layer selectedLayer = appContext.getSelectedProductSceneView().getSelectedLayer(); Layer rootLayer = appContext.getSelectedProductSceneView().getRootLayer(); if (selectedLayer != null && rootLayer != selectedLayer) { moveUp(selectedLayer); } }
/** * Returns the currently visible product node. */ @Override public ProductNode getVisibleProductNode() { if (isRGB()) { return getProduct(); } return getRaster(); }
private void drawPixelBorder(final Graphics g, final int x, final int y, final int l) { if (g instanceof Graphics2D) { Graphics2D g2d = (Graphics2D) g; AffineTransform i2m = getBaseImageLayer().getImageToModelTransform(l); AffineTransform m2v = getLayerCanvas().getViewport().getModelToViewTransform(); Rectangle imageRect = new Rectangle(x, y, 1, 1); Shape modelRect = i2m.createTransformedShape(imageRect); Shape transformedShape = m2v.createTransformedShape(modelRect); g2d.draw(transformedShape); } }
public VectorDataFigureEditor(ProductSceneView productSceneView) { super(productSceneView.getLayerCanvas(), productSceneView.getLayerCanvas().getViewport(), productSceneView.getUndoContext(), ProductSceneView.NullFigureCollection.INSTANCE, null); this.productSceneView = productSceneView; }
/** * @return The (first) selected pin. * * @since BEAM 4.7 */ public Placemark getSelectedPin() { return getSelectedPlacemark(getProduct().getPinGroup()); }
private void setCurrentView(ProductSceneView view) { if (currentView == view) { return; } if (currentView != null) { currentView.removePixelPositionListener(pixelPositionListener); currentView.removePropertyChangeListener(ProductSceneView.PROPERTY_NAME_SELECTED_PIN, pinSelectionChangeListener); currentView.getProduct().removeProductNodeListener(pinChangedListener); } else { pixelInfoView.clearProductNodeRefs(); } currentView = view; if (currentView != null) { currentView.addPixelPositionListener(pixelPositionListener); currentView.addPropertyChangeListener(ProductSceneView.PROPERTY_NAME_SELECTED_PIN, pinSelectionChangeListener); currentView.getProduct().addProductNodeListener(pinChangedListener); updatePixelInfo(); } }
private void setCurrentView(ProductSceneView newView) { if (currentView == newView) { return; } if (currentView != null) { currentView.removePixelPositionListener(pixelPosListener); removeMouseWheelListener(); if (timeSeries != null) { timeSeries.removeTimeSeriesListener(timeSeriesMatrixTSL); } } currentView = newView; if (isTimeSeriesView(currentView)) { currentView.addPixelPositionListener(pixelPosListener); timeSeries = TimeSeriesMapper.getInstance().getTimeSeries(currentView.getProduct()); timeSeries.addTimeSeriesListener(timeSeriesMatrixTSL); addMouseWheelListener(); final RasterDataNode raster = currentView.getRaster(); if (raster instanceof Band) { matrixModel.setBand((Band) raster); matrixModel.setMatrixSize((Integer) matrixSizeSpinner.getValue()); matrixCellRenderer.setInvalidColor(currentView.getLayerCanvas().getBackground()); updateDateLabel((Band) currentView.getRaster()); } } else { timeSeries = null; matrixModel.setMatrixSize(0); } }
void update(ProductSceneView view, int pixelX, int pixelY, int level, boolean pixelPosValid) { Guardian.assertNotNull("view", view); boolean clearRasterTableSelection = false; RasterDataNode raster = view.getRaster(); final Product product = raster.getProduct(); if (product == currentProduct && view.isRGB()) { resetBandTableModel(); _level = level; _pixelPosValid = pixelPosValid; AffineTransform i2mTransform = currentView.getBaseImageLayer().getImageToModelTransform(level); Point2D modelP = i2mTransform.transform(new Point2D.Double(pixelX + 0.5, pixelY + 0.5), null); AffineTransform m2iTransform = view.getBaseImageLayer().getModelToImageTransform(); Point2D levelZeroP = m2iTransform.transform(modelP, null); levelZeroX = (int) Math.floor(levelZeroP.getX());
ProductSceneView view = new ProductSceneView(sceneImage); Rectangle bounds = viewRef.bounds; if (bounds != null && !bounds.isEmpty()) { view.setBounds(bounds); Viewport viewport = view.getLayerCanvas().getViewport(); viewport.setModelYAxisDown(viewportDef.modelYAxisDown); viewport.setZoomFactor(viewportDef.zoomFactor); viewport.setOffset(viewportDef.offsetX, viewportDef.offsetY); view.setLayerProperties(applicationPreferences); return view;
private void setProductSceneView(final ProductSceneView productSceneView) { ProductSceneView productSceneViewOld = this.productSceneView; if (productSceneViewOld != null) { productSceneViewOld.getProduct().removeProductNodeListener(productNodeListener); productSceneViewOld.removePropertyChangeListener(sceneViewChangeListener); } this.productSceneView = productSceneView; if (this.productSceneView != null) { this.productSceneView.getProduct().addProductNodeListener(productNodeListener); this.productSceneView.addPropertyChangeListener(sceneViewChangeListener); } if (this.productSceneView != null) { setImageInfoCopy(this.productSceneView.getImageInfo()); } installChildForm(productSceneViewOld); updateTitle(); updateToolButtons(); setApplyEnabled(false); }
private Layer findWorldMapLayer(ProductSceneView view) { return LayerUtils.getChildLayer(view.getRootLayer(), LayerUtils.SearchMode.DEEP, new LayerFilter() { @Override public boolean accept(Layer layer) { return layer.getLayerType() instanceof WorldMapLayerType; } }); }
@Override public void actionPerformed(ActionEvent e) { getLayerCanvas().zoomAll(); } });
/** * @return the associated product. */ @Override public Product getProduct() { return getRaster().getProduct(); }
private void maySetCurrentView(ProductSceneView view) { final String viewProductType = view.getProduct().getProductType(); if (view != currentView && !view.isRGB() && viewProductType.equals(AbstractTimeSeries.TIME_SERIES_PRODUCT_TYPE) && TimeSeriesMapper.getInstance().getTimeSeries(view.getProduct()) != null) { setCurrentView(view); } }
final ProductSceneView sceneViewA = new ProductSceneView( new ProductSceneImage(bandA, new PropertyMap(), ProgressMonitor.NULL)); sceneViewA.setBounds(new Rectangle(0, 0, 200, 100)); final ProductSceneView sceneViewB = new ProductSceneView( new ProductSceneImage(bandB, new PropertyMap(), ProgressMonitor.NULL)); sceneViewB.setBounds(new Rectangle(0, 100, 200, 100)); final ProductSceneView sceneViewC = new ProductSceneView( new ProductSceneImage(bandC, new PropertyMap(), ProgressMonitor.NULL)); sceneViewC.setBounds(new Rectangle(200, 0, 200, 100)); final ProductSceneView sceneViewD = new ProductSceneView( new ProductSceneImage(bandD, new PropertyMap(), ProgressMonitor.NULL)); sceneViewD.setBounds(new Rectangle(200, 100, 200, 100)); sceneViewD.getRootLayer().getChildren().add(graticuleLayer); maskCollectionLayer.getChildren().add(createMaskLayer(mlType, productY, "M1")); maskCollectionLayer.getChildren().add(createMaskLayer(mlType, productY, "M2")); sceneViewD.getRootLayer().getChildren().add(maskCollectionLayer);
private void setCurrentView(ProductSceneView view) { ProductSceneView oldView = currentView; currentView = view; if (oldView != currentView) { if (oldView != null) { oldView.removePropertyChangeListener(ProductSceneView.PROPERTY_NAME_SELECTED_PIN, pinSelectionChangeListener); } if (currentView != null) { currentView.addPropertyChangeListener(ProductSceneView.PROPERTY_NAME_SELECTED_PIN, pinSelectionChangeListener); setCurrentProduct(currentView.getProduct()); } updateUIState(); } }
/** * Called after VISAT preferences have changed. * This behaviour is deprecated since we want to uswe separate style editors for each layers. * * @param configuration the configuration. */ public void setLayerProperties(PropertyMap configuration) { setScrollBarsShown(configuration.getPropertyBool(PROPERTY_KEY_IMAGE_SCROLL_BARS_SHOWN, false)); layerCanvas.setAntialiasing(configuration.getPropertyBool(PROPERTY_KEY_GRAPHICS_ANTIALIASING, true)); layerCanvas.setNavControlShown(configuration.getPropertyBool(PROPERTY_KEY_IMAGE_NAV_CONTROL_SHOWN, true)); layerCanvas.setBackground( configuration.getPropertyColor("image.background.color", DEFAULT_IMAGE_BACKGROUND_COLOR)); final ImageLayer imageLayer = getBaseImageLayer(); if (imageLayer != null) { ProductSceneImage.setBaseImageLayerStyle(configuration, imageLayer); } final Layer noDataLayer = getNoDataLayer(false); if (noDataLayer != null) { ProductSceneImage.setNoDataLayerStyle(configuration, noDataLayer); } final Layer collectionLayer = getVectorDataCollectionLayer(false); if (collectionLayer != null) { ProductSceneImage.setFigureLayerStyle(configuration, collectionLayer); } final GraticuleLayer graticuleLayer = getGraticuleLayer(false); if (graticuleLayer != null) { ProductSceneImage.setGraticuleLayerStyle(configuration, graticuleLayer); } }
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) { view.getRootLayer().removeListener(pagePanelLL); view.getFigureEditor().removeSelectionChangeListener(pagePanelSCL); }
@Override public void run() { ProductSceneView view; try { view = createSceneView(viewRef, productManager, applicationPreferences, pm); } catch (Exception e) { throw new IllegalStateException("Could not create scene", e); } views.add(view); for (int i = 0; i < viewRef.getLayerCount(); i++) { LayerRef ref = viewRef.getLayerRef(i); if (isBaseImageLayerRef(view, ref)) { // The BaseImageLayer is not restored by LayerRef, so we have to adjust // transparency and visibility manually view.getBaseImageLayer().setTransparency(ref.transparency); view.getBaseImageLayer().setVisible(ref.visible); } else { try { addLayerRef(view, view.getRootLayer(), ref, productManager); } catch (Exception e) { problems.add(e); } } } } });