public void visit(LineSymbolizer line) { LineSymbolizer copy = sf.getDefaultLineSymbolizer(); copy.setGeometry(copy(line.getGeometry())); copy.setUnitOfMeasure(line.getUnitOfMeasure()); copy.setStroke(copy(line.getStroke())); copy.getOptions().putAll(line.getOptions()); copy.setPerpendicularOffset(line.getPerpendicularOffset()); if (STRICT && !copy.equals(line)) { throw new IllegalStateException( "Was unable to duplicate provided LineSymbolizer:" + line); } pages.push(copy); }
public LineSymbolizer createLineSymbolizer(Stroke stroke, String geometryPropertyName) { LineSymbolizer lSymb = new LineSymbolizerImpl(); lSymb.setGeometryPropertyName(geometryPropertyName); lSymb.setStroke(stroke); return lSymb; }
public LineSymbolizerBuilder reset(LineSymbolizer original) { if (original == null) { return unset(); } geometry = original.getGeometry(); strokeBuilder.reset(original.getStroke()); uom = original.getUnitOfMeasure(); perpendicularOffset = original.getPerpendicularOffset(); return this; }
/** * Retrieves the Stroke from a LineSymbolizer. * * @param sym the symbolizer * @return the Stroke or null if not found. */ public static Stroke stroke(LineSymbolizer sym) { if (sym == null) { return null; } return sym.getStroke(); }
@Override public void visit(LineSymbolizer line) { super.visit(line); LineSymbolizer copy = (LineSymbolizer) pages.peek(); Unit<Length> uom = copy.getUnitOfMeasure(); Stroke copyStroke = copy.getStroke(); rescaleStroke(copyStroke, uom); copy.setPerpendicularOffset(rescale(copy.getPerpendicularOffset(), uom)); copy.setUnitOfMeasure(Units.PIXEL); }
@Test public void testRescaleLocalPixelInMetersSymbolizer() throws Exception { Stroke stroke = sb.createStroke(Color.RED, 2, new float[] {5, 10}); stroke.setWidth(ff.literal("2px")); LineSymbolizer ls = sb.createLineSymbolizer(stroke); ls.setUnitOfMeasure(SI.METRE); ls.accept(visitor); LineSymbolizer clone = (LineSymbolizer) visitor.getCopy(); assertEquals("4px", clone.getStroke().getWidth().evaluate(null, String.class)); }
public LineSymbolizer build() { if (unset) { return null; // builder was constructed but never used } Stroke stroke = strokeBuilder.build(); if (stroke == null) { stroke = Stroke.DEFAULT; } LineSymbolizer ls = sf.createLineSymbolizer(stroke, null); if (geometry != null) { ls.setGeometry(geometry); } if (uom != null) { ls.setUnitOfMeasure(uom); } if (perpendicularOffset != null) { ls.setPerpendicularOffset(perpendicularOffset); } ls.getOptions().putAll(options); if (parent == null) { reset(); } return ls; }
/** * Sets the Colour for the given Line symbolizer * * @param symbolizer * @param colour */ public static void setLineColour(LineSymbolizer symbolizer, Color colour) { if (symbolizer == null || colour == null) { return; } Stroke stroke = symbolizer.getStroke(); if (stroke == null) { stroke = sf.createStroke(ff.literal(colour), Stroke.DEFAULT.getWidth()); symbolizer.setStroke(stroke); } else { stroke.setColor(ff.literal(colour)); } }
@Override protected void encode(LineSymbolizer sym) { inline(new StrokeEncoder(sym.getStroke())); put("offset", sym.getPerpendicularOffset()); super.encode(sym); } }
/** @see org.geotools.styling.StyleVisitor#visit(org.geotools.styling.LineSymbolizer) */ public void visit(LineSymbolizer line) { if (symbolizerGeometriesVisitEnabled) { if (line.getGeometry() != null) { line.getGeometry().accept(this, null); } else { this.defaultGeometryUsed = true; // they want the default geometry (see GEOS-469) } } if (line.getPerpendicularOffset() != null) { line.getPerpendicularOffset().accept(this, null); } if (line.getStroke() != null) { line.getStroke().accept(this); } }
@Test public void testRescaleLocalPixelInPixelSymbolizer() throws Exception { Stroke stroke = sb.createStroke(Color.RED, 2, new float[] {5, 10}); stroke.setWidth(ff.literal("2px")); LineSymbolizer ls = sb.createLineSymbolizer(stroke); ls.accept(visitor); LineSymbolizer clone = (LineSymbolizer) visitor.getCopy(); assertEquals("4", clone.getStroke().getWidth().evaluate(null, String.class)); }
Style2D createLineStyle(Object feature, LineSymbolizer symbolizer, Range scaleRange) { // see if we have some information about the composite float opacity = 1f; if (symbolizer.getStroke() != null) { opacity = evalOpacity(symbolizer.getStroke().getOpacity(), feature); } Composite composite = getComposite(symbolizer.getOptions(), opacity); if (composite == null) { composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); } LineStyle2D style = new LineStyle2D(); setScaleRange(style, scaleRange); style.setStroke(getStroke(symbolizer.getStroke(), feature)); style.setGraphicStroke( getGraphicStroke(symbolizer, symbolizer.getStroke(), feature, scaleRange)); style.setContour(getStrokePaint(symbolizer.getStroke(), feature)); style.setContourComposite(composite); style.setPerpendicularOffset( evalToDouble(symbolizer.getPerpendicularOffset(), feature, 0d)); return style; }
/** * @see org.geotools.styling.StyleVisitor#visit(org.geotools.styling.LineSymbolizer) */ public void visit(LineSymbolizer line) { if (line.getGeometry() != null) { line.getGeometry().accept(this, null); } else { this.defaultGeometryUsed = true; // they want the default geometry (see GEOS-469) } if (line.getStroke() != null) { line.getStroke().accept(this); } }
@Override public void visit(LineSymbolizer line) { if (line.getDescription() != null) { line.getDescription().accept(this); } if (line.getGeometry() != null) { //line.getGeometry().accept(visitor, extraData) } if (line.getPerpendicularOffset() != null) { //line.getPerpendicularOffset().accept(visitor, extraData) } if (line.getStroke() != null) { line.getStroke().accept(this); } }
if (geometry instanceof PropertyName) { PropertyName propertyName = (PropertyName) geometry; ls.setGeometryPropertyName(propertyName.getPropertyName()); } else { ls.setGeometry(geometry); ls.setStroke((Stroke) node.getChildValue(Stroke.class)); ls.getOptions() .put(param.getName(), param.getExpression().evaluate(null, String.class));
@Override protected void stroke(Stroke stroke) { sym.setStroke(stroke); } });
@Override public void visit(LineSymbolizer line) { String name = line.getGeometryPropertyName(); Stroke stroke = update(line.getStroke()); LineSymbolizer copy = sf.createLineSymbolizer(stroke, name); pages.push(copy); }
@Override public void visit(LineSymbolizer line) { if (line.getDescription() != null) { line.getDescription().accept(this); } if (line.getStroke() != null) { line.getStroke().accept(this); } }
@Override public void visit(LineSymbolizer sym) { this.defaultUnit = sym.getUnitOfMeasure(); try { super.visit(sym); LineSymbolizer copy = (LineSymbolizer) pages.peek(); copy.setPerpendicularOffset(rescale(copy.getPerpendicularOffset())); } finally { this.defaultUnit = null; } }
org.opengis.style.Stroke rescaledStroke = rescaledLineSymb.getStroke(); Expression rescaledWidth = rescaledStroke.getWidth(); double rescaledWidthValue = rescaledWidth.evaluate(feature, Double.class); assertNotSame(SI.METRE, rescaledLineSymb.getUnitOfMeasure()); assertNotSame(rescaledLineSymb, lineSymb); } catch (Exception e2) {