@Override protected FigureFactory getFigureFactory() { return new SimpleFeatureFigureFactory(featureType, sceneTransformProvider); }
public SimpleFeatureFigure createSimpleFeatureFigure(SimpleFeature simpleFeature, String defaultStyleCss) { final String css = getStyleCss(simpleFeature, defaultStyleCss); final FigureStyle normalStyle = DefaultFigureStyle.createFromCss(css); final FigureStyle selectedStyle = deriveSelectedStyle(normalStyle); final Object geometry = simpleFeature.getDefaultGeometry(); if (geometry instanceof Point) { return new SimpleFeaturePointFigure(simpleFeature, sceneTransformProvider, normalStyle, selectedStyle); } else { return new SimpleFeatureShapeFigure(simpleFeature, sceneTransformProvider, normalStyle, selectedStyle); } }
@Override public PointFigure createPointFigure(Point2D point, FigureStyle style) { final Point point1 = toJtsGeom.createPoint(point); return createPointFigure(point1, style); }
private ShapeFigure createShapeFigure(Geometry geometry, FigureStyle style) { return new SimpleFeatureShapeFigure(createSimpleFeature(geometry), sceneTransformProvider, style, deriveSelectedStyle(style)); }
@Test public void testGetStyleCss_EmptyDefault() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "symbol:cross;fill:100,100,100"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, ""); assertEquals("symbol:cross;fill:100,100,100", styleCss); } }
String css = placemark.getStyleCss(); final FigureStyle normalStyle = DefaultFigureStyle.createFromCss(css); final FigureStyle selectedStyle = getFigureFactory().deriveSelectedStyle(normalStyle); featureFigure.setNormalStyle(normalStyle); featureFigure.setSelectedStyle(selectedStyle); featureFigure = getFigureFactory().createSimpleFeatureFigure(simpleFeature, vectorDataNode.getDefaultStyleCss()); figureCollection.addFigure(featureFigure);
@Override public ShapeFigure createPolygonFigure(Shape shape, FigureStyle style) { Geometry geometry = toJtsGeom.createPolygon(shape); try { geometry = sceneTransformProvider.getModelToSceneTransform().transform(geometry); } catch (TransformException e) { return null; } return createShapeFigure(geometry, style); }
private PointFigure createPointFigure(Point geometry, FigureStyle style) { return new SimpleFeaturePointFigure(createSimpleFeature(geometry), sceneTransformProvider, style); }
@Test public void testGetStyleCss_WithAdditionalStyles() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "fill:120,120,120;stroke:0,10,0"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin"); assertEquals("fill:120,120,120;stroke:0,10,0;symbol:pin", styleCss); }
@Override public ShapeFigure createLineFigure(Shape shape, FigureStyle style) { MultiLineString multiLineString = toJtsGeom.createMultiLineString(shape); Geometry geometry = multiLineString; if (multiLineString.getNumGeometries() == 1) { geometry = multiLineString.getGeometryN(0); } final Geometry geometryInSceneCoords; try { geometryInSceneCoords = sceneTransformProvider.getModelToSceneTransform().transform(geometry); } catch (TransformException e) { return null; } return createShapeFigure(geometryInSceneCoords, style); }
@Test public void testGetStyleCss_WithOverride() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "symbol:cross;fill:100,100,100"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin;fill:0,0,0"); assertEquals("symbol:cross;fill:100,100,100", styleCss); }
protected VectorDataLayer(VectorDataLayerType vectorDataLayerType, VectorDataNode vectorDataNode, SceneTransformProvider provider, PropertySet configuration) { super(vectorDataLayerType, configuration); setUniqueId(); this.vectorDataNode = vectorDataNode; setName(vectorDataNode.getName()); figureFactory = new SimpleFeatureFigureFactory(vectorDataNode.getFeatureType(), provider); figureCollection = new DefaultFigureCollection(); updateFigureCollection(); vectorDataChangeHandler = new VectorDataChangeHandler(); vectorDataNode.getProduct().addProductNodeListener(vectorDataChangeHandler); figureCollection.addChangeListener(new FigureChangeHandler()); }
@Test public void testGetStyleCss_WithOverrideAndDefaultValue() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "fill:120,120,120;stroke:0,10,0"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin;fill:0,0,0"); assertEquals("fill:120,120,120;stroke:0,10,0;symbol:pin", styleCss); }
@Test public void testGetStyleCss_KeepDefault() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, ""); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin;fill:0,0,0"); assertEquals("symbol:pin;fill:0,0,0", styleCss); }