public static Symbolizer[] getSymbolizers( Class<? extends Geometry> type, Color baseColor, boolean useTransparency) { StyleBuilder builder = new StyleBuilder(); Symbolizer[] syms = new Symbolizer[1]; if (LineString.class.isAssignableFrom(type) || MultiLineString.class.isAssignableFrom(type)) syms[0] = builder.createLineSymbolizer(baseColor, 2); if (Point.class.isAssignableFrom(type) || MultiPoint.class.isAssignableFrom(type)) { PointSymbolizer point = builder.createPointSymbolizer(builder.createGraphic()); // set graphic size to 10 by default point.getGraphic() .setSize( (Expression) CommonFactoryFinder.getFilterFactory(GeoTools.getDefaultHints()) .literal(10)); // danger assumes a Mark! point.getGraphic().getMarks()[0].setFill(builder.createFill(baseColor)); syms[0] = point; } if (Polygon.class.isAssignableFrom(type) || MultiPolygon.class.isAssignableFrom(type)) { syms[0] = builder.createPolygonSymbolizer( builder.createStroke(baseColor, 2), builder.createFill(baseColor, useTransparency ? .6 : 1.0)); } return syms; }
@Override public void visit(Graphic gr) { if (gr.getAnchorPoint() != null) { gr.getAnchorPoint().accept(this); } if (gr.getDisplacement() != null) { gr.getDisplacement().accept(this); } for (ExternalGraphic eg : gr.getExternalGraphics()) { eg.accept(this); } for (Mark m : gr.getMarks()) { m.accept(this); } }
public void visit(Graphic gr) { Graphic copy = null; Displacement displacementCopy = copy(gr.getDisplacement()); ExternalGraphic[] externalGraphicsCopy = copy(gr.getExternalGraphics()); Mark[] marksCopy = copy(gr.getMarks()); Expression opacityCopy = copy(gr.getOpacity()); Expression rotationCopy = copy(gr.getRotation()); Expression sizeCopy = copy(gr.getSize()); AnchorPoint anchorCopy = copy(gr.getAnchorPoint()); // Looks like Symbols are a "view" of marks and external graphics? // Symbol[] symbolCopys = copy( gr.getSymbols() ); copy = sf.createDefaultGraphic(); copy.setDisplacement(displacementCopy); copy.setAnchorPoint(anchorCopy); copy.setExternalGraphics(externalGraphicsCopy); copy.setMarks(marksCopy); copy.setOpacity(opacityCopy); copy.setRotation(rotationCopy); copy.setSize(sizeCopy); // copy.setSymbols(symbolCopys); if (STRICT) { if (!copy.equals(gr)) { throw new IllegalStateException("Was unable to duplicate provided Graphic:" + gr); } } pages.push(copy); }
Mark[] marks = gr.getMarks(); Mark[] marksCopy = new Mark[marks.length]; length = marks.length;
/** * Looks ups the marks included in the graphics and returns the one that can * be drawn by at least one mark factory * * @param graphic * @param feature * @return */ private Mark getMark(Graphic graphic, Object feature) { if (graphic == null) return null; Mark[] marks = graphic.getMarks(); for (int i = 0; i < marks.length; i++) { final Mark mark = marks[i]; Shape shape = getShape(mark, feature); if (shape != null) return mark; } // if nothing worked, we return a square return null; }
private Mark getMark(Graphic graphic, Object feature) { Mark[] marks = graphic.getMarks(); Mark mark; for (int i = 0; i < marks.length; i++) { String name = marks[i].getWellKnownName().evaluate(feature).toString(); if (wellKnownMarks.contains(name)) { mark = marks[i]; return mark; } } mark = null; return mark; }
public static String[] colors(Rule rule) { Set colorSet = new HashSet(); Symbolizer[] symbolizer = rule.getSymbolizers(); for (int i = 0; i < symbolizer.length; i++) { if (symbolizer[i] instanceof PolygonSymbolizer) { PolygonSymbolizer symb = (PolygonSymbolizer) symbolizer[i]; colorSet.add(symb.getFill().getColor().toString()); } else if (symbolizer[i] instanceof LineSymbolizer) { LineSymbolizer symb = (LineSymbolizer) symbolizer[i]; colorSet.add(symb.getStroke().getColor().toString()); } else if (symbolizer[i] instanceof PointSymbolizer) { PointSymbolizer symb = (PointSymbolizer) symbolizer[i]; colorSet.add(symb.getGraphic().getMarks()[0].getFill().getColor().toString()); } } if (colorSet.size() > 0) { return toStringArray(colorSet.toArray()); } else { return new String[0]; } }
Mark[] markList = g.getMarks();
Mark[] markList = graphic.getMarks();
Mark[] markList = graphic.getMarks();
public static Symbolizer[] getSymbolizers(Class<? extends Geometry> type, Color baseColor, boolean useTransparency) { StyleBuilder builder=new StyleBuilder(); Symbolizer[] syms=new Symbolizer[1]; if( LineString.class.isAssignableFrom(type) || MultiLineString.class.isAssignableFrom(type) ) syms[0]=builder.createLineSymbolizer(baseColor,2); if( Point.class.isAssignableFrom(type) || MultiPoint.class.isAssignableFrom(type)){ PointSymbolizer point = builder.createPointSymbolizer(builder.createGraphic()); // set graphic size to 10 by default point.getGraphic().setSize((Expression) CommonFactoryFinder.getFilterFactory(GeoTools.getDefaultHints()).literal(10)); // danger assumes a Mark! point.getGraphic().getMarks()[0].setFill(builder.createFill(baseColor)); syms[0]=point; } if( Polygon.class.isAssignableFrom(type) || MultiPolygon.class.isAssignableFrom(type)){ syms[0]=builder.createPolygonSymbolizer(builder.createStroke(baseColor,2), builder.createFill(baseColor, useTransparency?.6:1.0)); } return syms; }
Mark[] markList = graphic.getMarks();
Mark[] markList = graphic.getMarks();
public void visit(Graphic gr) { Graphic copy = null; Displacement displacementCopy = copy( gr.getDisplacement() ); ExternalGraphic[] externalGraphicsCopy = copy( gr.getExternalGraphics() ); Mark[] marksCopy = copy( gr.getMarks() ); Expression opacityCopy = copy( gr.getOpacity() ); Expression rotationCopy = copy( gr.getRotation() ); Expression sizeCopy = copy( gr.getSize() ); // Looks like Symbols are a "view" of marks and external graphics? // Symbol[] symbolCopys = copy( gr.getSymbols() ); copy = sf.createDefaultGraphic(); copy.setDisplacement(displacementCopy); copy.setExternalGraphics(externalGraphicsCopy); copy.setMarks(marksCopy); copy.setOpacity((Expression) opacityCopy); copy.setRotation((Expression) rotationCopy); copy.setSize((Expression) sizeCopy); // copy.setSymbols(symbolCopys); if( STRICT ){ if( !copy.equals( gr )){ throw new IllegalStateException("Was unable to duplicate provided Graphic:"+gr ); } } pages.push(copy); }
Mark[] markList = graphic.getMarks();
public void setEdited(Graphic graphic) { if (graphic != null) { guiDisplacement.setEdited(graphic.getDisplacement()); guiGeom.setGeom(graphic.getGeometryPropertyName()); guiOpacity.setExpression(graphic.getOpacity()); guiRotation.setExpression(graphic.getRotation()); guiSize.setExpression(graphic.getSize()); // marks and external graphics are symbols so no need to handle this method //graphic.getSymbols(); guiMark.setEdited(graphic.getMarks()); guiExternal.setEdited(graphic.getExternalGraphics()); } this.graphic = graphic; }
Mark[] marks = gr.getMarks(); Mark[] marksCopy = new Mark[marks.length]; length=marks.length;
private void applyOpacity(Symbolizer symbol, Expression opa) { if (symbol instanceof PolygonSymbolizer) { PolygonSymbolizer sym = (PolygonSymbolizer) symbol; sym.getFill().setOpacity(opa); sym.getStroke().setOpacity(opa); } else if (symbol instanceof PointSymbolizer) { PointSymbolizer sym = (PointSymbolizer) symbol; sym.getGraphic().setOpacity(opa); Mark[] marks = sym.getGraphic().getMarks(); for (int k = 0; k < marks.length; k++) { marks[k].getFill().setOpacity(opa); marks[k].getStroke().setOpacity(opa); } } else if (symbol instanceof LineSymbolizer) { LineSymbolizer sym = (LineSymbolizer) symbol; sym.getStroke().setOpacity(opa); } else if (symbol instanceof RasterSymbolizer) { RasterSymbolizer sym = (RasterSymbolizer) symbol; sym.setOpacity(opa); } } }
@Override public void visit(Graphic gr) { if (gr.getAnchorPoint() != null) { gr.getAnchorPoint().accept(this); } if (gr.getDisplacement() != null) { gr.getDisplacement().accept(this); } for (ExternalGraphic eg : gr.getExternalGraphics()) { eg.accept(this); } if (gr.getGap() != null) { //gr.getGap().accept(visitor, extraData) } if (gr.getInitialGap() != null) { //gr.getInitialGap().accept(visitor, extraData) } for (Mark m : gr.getMarks()) { m.accept(this); } if (gr.getOpacity() != null) { //gr.getOpacity().accept(visitor, extraData) } if (gr.getRotation() != null) { //gr.getRotation().accept(visitor, extraData) } if (gr.getSize() != null) { //gr.getSize().accept(visitor, extraData) } }