public TimeSeriesGraph addVectorGraph(final VectorDataNode vectorNode, final GraphData graphData, final VectorGraph.TYPE type) { final TimeSeriesGraph graph = new VectorGraph(vectorNode, type); final DefaultDiagramGraphStyle style = (DefaultDiagramGraphStyle) graph.getStyle(); final FigureStyle figureStyle = DefaultFigureStyle.createFromCss(vectorNode.getDefaultStyleCss()); style.setOutlineColor(graphData.getColor()); style.setOutlineStroke(new BasicStroke(3.5f)); style.setFillPaint(figureStyle.getFillPaint()); addGraph(graph); return graph; }
featureFigure = getFigureFactory().createSimpleFeatureFigure(simpleFeature, vectorDataNode.getDefaultStyleCss()); figureCollection.addFigure(featureFigure);
private void insertPlacemark(ProductSceneView view) { Product product = view.getProduct(); final String[] uniqueNameAndLabel = PlacemarkNameFactory.createUniqueNameAndLabel(placemarkDescriptor, product); final String name = uniqueNameAndLabel[0]; final String label = uniqueNameAndLabel[1]; PixelPos rasterPos = new PixelPos(view.getCurrentPixelX() + 0.5f, view.getCurrentPixelY() + 0.5f); Point2D modelPos = view.getRaster().getImageToModelTransform().transform(rasterPos, new Point2D.Double()); Point2D scenePos = new Point2D.Double(); try { view.getRaster().getModelToSceneTransform().transform(modelPos, scenePos); final AffineTransform sceneToImage = Product.findImageToModelTransform(product.getSceneGeoCoding()).createInverse(); rasterPos = (PixelPos) sceneToImage.transform(modelPos, new PixelPos()); } catch (TransformException | NoninvertibleTransformException e) { Dialogs.showError("Could not place pin in image due to transformation exception: " + e.getMessage()); return; } final Placemark newPlacemark = Placemark.createPointPlacemark(placemarkDescriptor, name, label, "", rasterPos, null, product.getSceneGeoCoding()); PlacemarkGroup placemarkGroup = placemarkDescriptor.getPlacemarkGroup(product); String defaultStyleCss = placemarkGroup.getVectorDataNode().getDefaultStyleCss(); if(newPlacemark.getStyleCss().isEmpty()) { newPlacemark.setStyleCss(defaultStyleCss); } placemarkGroup.add(newPlacemark); UndoRedo.Manager undoManager = SnapApp.getDefault().getUndoManager(product); if (undoManager != null) { undoManager.addEdit(UndoablePlacemarkActionFactory.createUndoablePlacemarkInsertion(product, newPlacemark, placemarkDescriptor)); } }
public void vectorDataLayerSelected(VectorDataLayer vectorDataLayer) { Debug.trace("VectorDataFigureEditor.vectorDataLayerSelected: " + vectorDataLayer.getName()); this.vectorDataNode = vectorDataLayer.getVectorDataNode(); setFigureCollection(vectorDataLayer.getFigureCollection()); setFigureFactory(vectorDataLayer.getFigureFactory()); final DefaultFigureStyle style = new DefaultFigureStyle(); style.fromCssString(vectorDataLayer.getVectorDataNode().getDefaultStyleCss()); setDefaultLineStyle(style); setDefaultPolygonStyle(style); }
public TrackLayer(VectorDataLayerType vectorDataLayerType, VectorDataNode vectorDataNode, SceneTransformProvider provider, PropertySet configuration) { super(vectorDataLayerType, vectorDataNode, provider, configuration); String styleCss = vectorDataNode.getDefaultStyleCss(); DefaultFigureStyle style = new DefaultFigureStyle(styleCss); style.fromCssString(styleCss); style.setSymbolName("circle"); style.setStrokeColor(STROKE_COLOR); style.setStrokeWidth(STROKE_WIDTH); style.setStrokeOpacity(STROKE_OPACITY); style.setFillColor(FILL_COLOR); style.setFillOpacity(FILL_OPACITY); strokePaint = style.getStrokePaint(); vectorDataNode.setDefaultStyleCss(style.toCssString()); sceneTransformProvider = provider; }
@Override public VectorDataNode readVectorDataNode(File file, Product product, ProgressMonitor pm) throws IOException { DefaultFeatureCollection featureCollection = FeatureUtils.loadShapefileForProduct(file, product, crsProvider, pm); Style[] styles = SLDUtils.loadSLD(file); ProductNodeGroup<VectorDataNode> vectorDataGroup = product.getVectorDataGroup(); String name = VectorDataNodeImporter.findUniqueVectorDataNodeName(featureCollection.getSchema().getName().getLocalPart(), vectorDataGroup); if (styles.length > 0) { SimpleFeatureType featureType = SLDUtils.createStyledFeatureType(featureCollection.getSchema()); VectorDataNode vectorDataNode = new VectorDataNode(name, featureType); DefaultFeatureCollection styledCollection = vectorDataNode.getFeatureCollection(); String defaultCSS = vectorDataNode.getDefaultStyleCss(); SLDUtils.applyStyle(styles[0], defaultCSS, featureCollection, styledCollection); return vectorDataNode; } else { return new VectorDataNode(name, featureCollection); } } }
targetVectorDataNode.setDefaultStyleCss(sourceVectorDataNode.getDefaultStyleCss()); targetVectorDataNode.setDescription(sourceVectorDataNode.getDescription()); targetVectorDataNode.setOwner(targetProduct);