protected Iterator getShapes ( java . awt . Graphics2D g , AffineTransform normal2device ) { if ( shapeList != null ) return shapeList . iterator ( ) ; if ( Debug . isSet ( "projection/LatLonShift" ) ) System . out . println ( "projection/LatLonShift GisFeatureRenderer.getShapes called" ) ; ProjectionImpl dataProject = getDataProjection ( ) ; // a list of GisFeatureAdapter-s List featList = getFeatures ( ) ; shapeList = new ArrayList ( featList . size ( ) ) ; Iterator iter = featList . iterator ( ) ; while ( iter . hasNext ( ) ) { AbstractGisFeature feature = ( AbstractGisFeature ) iter . next ( ) ; Shape shape ; if ( dataProject == null ) shape = feature . getShape ( ) ; else if ( dataProject . isLatLon ( ) ) { // always got to run it through if its lat/lon shape = feature . getProjectedShape ( displayProject ) ; //System.out.println("getShapes dataProject.isLatLon() "+displayProject); } else if ( dataProject == displayProject ) { shape = feature . getShape ( ) ; //System.out.println("getShapes dataProject == displayProject"); } else { shape = feature . getProjectedShape ( dataProject , displayProject ) ; //System.out.println("getShapes dataProject != displayProject"); } shapeList . add ( shape ) ; } return shapeList . iterator ( ) ; }
get the set of shapes to draw convert projections if need be