@Override public void render( TextStyling styling, String text, Collection<Geometry> geoms ) { for ( Geometry g : geoms ) { render( styling, text, g ); } }
private void handleGeometryTypes( TextStyling styling, String text, Font font, Geometry geom ) { if ( geom instanceof Point ) { render( styling, font, text, (Point) geom ); } else if ( geom instanceof Surface && styling.linePlacement != null ) { render( styling, font, text, (Surface) geom ); } else if ( geom instanceof Curve && styling.linePlacement != null ) { render( styling, font, text, (Curve) geom ); } else if ( geom instanceof GeometricPrimitive ) { render( styling, font, text, geom.getCentroid() ); } else if ( geom instanceof MultiPoint ) { handleMultiGeometry( styling, text, font, (MultiPoint) geom ); } else if ( geom instanceof MultiCurve<?> && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiCurve<?>) geom ); } else if ( geom instanceof MultiLineString && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiLineString) geom ); } else if ( geom instanceof MultiGeometry<?> ) { for ( Geometry g : (MultiGeometry<?>) geom ) { render( styling, text, g ); } } else { LOG.warn( "Trying to use unsupported geometry type '{}' for text rendering.", geom.getClass().getSimpleName() ); } }
void render( TextStyling styling, Font font, String text, Surface surface ) { for ( SurfacePatch patch : surface.getPatches() ) { if ( patch instanceof PolygonPatch ) { PolygonPatch polygonPatch = (PolygonPatch) patch; for ( Curve curve : polygonPatch.getBoundaryRings() ) { render( styling, font, text, curve ); } } else { throw new IllegalArgumentException( "Cannot render non-planar surfaces." ); } } }
private void handleGeometryTypes( TextStyling styling, String text, Font font, Geometry geom ) { if ( geom == null ) { LOG.warn( "null geometry cannot be handled." ); return; } if ( geom instanceof Point ) { labelList.add( createLabel( styling, font, text, (Point) geom ) ); } else if ( geom instanceof Surface && styling.linePlacement != null ) { textRenderer.render( styling, font, text, (Surface) geom ); } else if ( geom instanceof Curve && styling.linePlacement != null ) { textRenderer.render( styling, font, text, (Curve) geom ); } else if ( geom instanceof Polygon && styling.auto ) { handlePolygonWithAutoPlacement( styling, font, text, (Polygon) geom ); } else if ( geom instanceof GeometricPrimitive ) { labelList.add( createLabel( styling, font, text, geom.getCentroid() ) ); } else if ( geom instanceof MultiPoint ) { handleMultiGeometry( styling, text, font, (MultiPoint) geom ); } else if ( geom instanceof MultiCurve<?> && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiCurve<?>) geom ); } else if ( geom instanceof MultiLineString && styling.linePlacement != null ) { handleMultiGeometry( styling, text, font, (MultiLineString) geom ); } else if ( geom instanceof MultiGeometry<?> ) { handleMultiGeometry( styling, text, font, (MultiGeometry<?>) geom ); } else { LOG.warn( "Trying to use unsupported geometry type '{}' for text rendering.", geom.getClass().getSimpleName() ); } }