/* Copyright (C) 2001, 2006 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved. */ package gov.nasa.worldwind.layers; import gov.nasa.worldwind.WorldWind; import gov.nasa.worldwind.avlist.AVList; import gov.nasa.worldwind.util.LevelSet; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; /** * @author Patrick Murris * @version $Id:$ */ public abstract class ProceduralTiledImageLayer extends BasicTiledImageLayer { public ProceduralTiledImageLayer(LevelSet levelSet) { super(levelSet); } public ProceduralTiledImageLayer(AVList params) { super(params); } abstract BufferedImage createTileImage(TextureTile tile, BufferedImage image); protected void downloadTexture(final TextureTile tile, DownloadPostProcessor postProcessor) { final File outFile = WorldWind.getDataFileStore().newFile(tile.getPath()); if (outFile == null) return; if (outFile.exists()) return; System.out.println("Procedural tile " + tile); // Create and save tile texture image BufferedImage image = new BufferedImage(tile.getLevel().getTileWidth(), tile.getLevel().getTileHeight(), BufferedImage.TYPE_4BYTE_ABGR); image = createTileImage(tile, image); try { ImageIO.write(image, "png", outFile); } catch (IOException e) {} } }