public static Color getPlacemarkColor(Placemark placemark) { return getPlacemarkColor(placemark, SnapApp.getDefault().getSelectedProductSceneView()); }
public static Color getPlacemarkColor(Placemark placemark, ProductSceneView view) { final String styleCss = placemark.getStyleCss(); if (styleCss.contains(DefaultFigureStyle.FILL_COLOR.getName())) { return DefaultFigureStyle.createFromCss(styleCss).getFillColor(); } final Figure[] figures = getFigures(view); for (Figure figure : figures) { if (figure instanceof SimpleFeaturePointFigure) { final SimpleFeature simpleFeature = ((SimpleFeaturePointFigure) figure).getSimpleFeature(); if (simpleFeature.getID().equals(placemark.getName())) { return figure.getNormalStyle().getFillColor(); } } } return Color.BLUE; }
private List<XYSeries> createXYSeriesFromPin(Placemark pin, int seriesIndex, List<DisplayableSpectrum> spectra, JFreeChart chart) { List<XYSeries> pinSeries = new ArrayList<>(); Color pinColor = PlacemarkUtils.getPlacemarkColor(pin, currentView); for (DisplayableSpectrum spectrum : spectra) { XYSeries series = new XYSeries(spectrum.getName() + "_" + pin.getLabel());
@Override public LegendItemCollection getLegendItems() { LegendItemCollection itemCollection = new LegendItemCollection(); final Placemark[] displayedPins = getDisplayedPins(); final List<DisplayableSpectrum> spectra = getSelectedSpectra(); for (Placemark pin : displayedPins) { Paint pinPaint = PlacemarkUtils.getPlacemarkColor(pin, currentView); spectra.stream().filter(DisplayableSpectrum::hasSelectedBands).forEach(spectrum -> { String legendLabel = pin.getLabel() + "_" + spectrum.getName(); LegendItem item = createLegendItem(spectrum, pinPaint, legendLabel); itemCollection.add(item); }); } if (isShowingCursorSpectrum() && showsValidCursorSpectra()) { spectra.stream().filter(DisplayableSpectrum::hasSelectedBands).forEach(spectrum -> { Paint defaultPaint = Color.BLACK; LegendItem item = createLegendItem(spectrum, defaultPaint, spectrum.getName()); itemCollection.add(item); }); } return itemCollection; }
return lat; case colorIndex: return PlacemarkUtils.getPlacemarkColor(placemark); case labelIndex: return placemark.getLabel();