@Override public void render( final PointStyling styling, final Geometry geom ) { if ( geom == null ) { LOG.debug( "Trying to render null geometry." ); return; } if ( geom instanceof Point ) { final Point pointInWorldCrs = (Point) rendererContext.geomHelper.transform( geom ); rendererContext.pointRenderer.render( styling, pointInWorldCrs.get0(), pointInWorldCrs.get1() ); return; } final Geometry clippedGeometry = transformToWorldCrsAndClip( geom ); if ( clippedGeometry == null ) { return; } if ( clippedGeometry instanceof Surface ) { rendererContext.polygonRenderer.render( styling, (Surface) clippedGeometry ); } else if ( clippedGeometry instanceof Curve ) { rendererContext.curveRenderer.render( styling, (Curve) clippedGeometry ); } else if ( clippedGeometry instanceof MultiGeometry<?> ) { final MultiGeometry<?> mc = (MultiGeometry<?>) clippedGeometry; for ( final Geometry g : mc ) { render( styling, g ); } } }
RendererContext( double pixelSize, double res, Graphics2D graphics, Java2DRenderer renderer, Envelope bbox, int width, AffineTransform worldToScreen ) { this.graphics = graphics; if ( bbox != null ) { geomHelper = new GeometryHelper( bbox, width, worldToScreen ); clipper = new GeometryClipper( bbox, width ); } uomCalculator = new UomCalculator( pixelSize, res ); fillRenderer = new Java2DFillRenderer( uomCalculator, graphics ); strokeRenderer = new Java2DStrokeRenderer( graphics, uomCalculator, fillRenderer ); svgRenderer = new SvgRenderer(); polygonRenderer = new PolygonRenderer( geomHelper, fillRenderer, strokeRenderer, graphics, renderer ); curveRenderer = new CurveRenderer( renderer ); pointRenderer = new PointRenderer( renderer.worldToScreen, this ); }