Changeset 33311 in osm for applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelation.java
- Timestamp:
- 2017-05-13T14:56:51+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/reltoolbox/src/relcontext/ChosenRelation.java
r33265 r33311 17 17 import org.openstreetmap.josm.data.osm.Node; 18 18 import org.openstreetmap.josm.data.osm.OsmPrimitive; 19 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;20 19 import org.openstreetmap.josm.data.osm.Relation; 21 20 import org.openstreetmap.josm.data.osm.Way; … … 150 149 g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f * opacity)); 151 150 152 drawRelations(g, mv, bbox, chosenRelation, new HashSet<>()); 151 drawRelations(g, mv, bbox, chosenRelation, new HashSet<Relation>()); 153 152 154 153 g.setComposite(oldComposite); … … 160 159 visitedRelations.add(rel); 161 160 for (OsmPrimitive element : rel.getMemberPrimitives()) { 162 if (element.getType() == OsmPrimitiveType.NODE) { 163 Node node = (Node) element; 164 Point center = mv.getPoint(node); 165 g.drawOval(center.x - 4, center.y - 4, 9, 9); 166 } else if (element.getType() == OsmPrimitiveType.WAY) { 167 Way way = (Way) element; 168 if (way.getNodesCount() >= 2) { 169 GeneralPath b = new GeneralPath(); 170 Point p = mv.getPoint(way.getNode(0)); 171 b.moveTo(p.x, p.y); 172 for (int i = 1; i < way.getNodesCount(); i++) { 173 p = mv.getPoint(way.getNode(i)); 174 b.lineTo(p.x, p.y); 175 } 176 g.draw(b); 177 } 178 } else if (element.getType() == OsmPrimitiveType.RELATION) { 179 Color oldColor = g.getColor(); 180 g.setColor(Color.magenta); 181 drawRelations(g, mv, bbox, (Relation) element, visitedRelations); 182 g.setColor(oldColor); 161 if (null != element.getType()) switch(element.getType()) { 162 case NODE: 163 Node node = (Node) element; 164 Point center = mv.getPoint(node); 165 g.drawOval(center.x - 4, center.y - 4, 9, 9); 166 break; 167 case WAY: 168 Way way = (Way) element; 169 if (way.getNodesCount() >= 2) { 170 GeneralPath b = new GeneralPath(); 171 Point p = mv.getPoint(way.getNode(0)); 172 b.moveTo(p.x, p.y); 173 for (int i = 1; i < way.getNodesCount(); i++) { 174 p = mv.getPoint(way.getNode(i)); 175 b.lineTo(p.x, p.y); 176 } 177 g.draw(b); 178 } break; 179 case RELATION: 180 Color oldColor = g.getColor(); 181 g.setColor(Color.magenta); 182 drawRelations(g, mv, bbox, (Relation) element, visitedRelations); 183 g.setColor(oldColor); 184 break; 185 default: 186 break; 183 187 } 184 // todo: closedway, multipolygon - ?185 188 } 186 189 }
Note:
See TracChangeset
for help on using the changeset viewer.
