Example of using the CADRG reader to read frames and create layers

Note
This example is given for compatibility reason for versions of JViews Maps. It is recommended that you use the IlvRasterCADRGReader and the free tile mechanism to take advantage of image reprojection and pixel-on-demand features.
The code that follows demonstrates how to use the classes described in Classes for reading the CADRG format.
The complete source code for this example is in the following file:
/**
 * Examples of how to use the CADRG reader package. 
 */
public class CADRGReader {
  IlvManager manager = new IlvManager();

  /**
   *  Reads a single CADRG frame.
   */
  public void readSingleFrame(String frameFileName) 
  throws IlvMapFormatException, 
         IOException, 
         IlvMapRenderException, 
         IlvCoordinateTransformationException {

    //Instantiate a reader.
    IlvCADRGFrameReader freader = new IlvCADRGFrameReader(frameFileName,
      false);
    // Retrieve the default renderer.
    IlvFeatureRenderer renderer = freader.getDefaultFeatureRenderer();
    ((IlvDefaultImageRenderer)renderer).getImageRenderingStyle().
      setHighQualityRendering(true);
    // Create a dummy transformation. CADRG files cannot be reprojected.
    IlvCoordinateTransformation tr =
       IlvCoordinateTransformation.CreateTransformation(null, null);
    // Retrieve the first map feature.
    IlvMapFeature feature = freader.getNextFeature();
    while (feature != null) {
      // Create corresponding graphic object.
      IlvGraphic graphic = renderer.makeGraphic(feature, tr);
      // Adds it to a manager.
      manager.addObject(graphic, false);
      // Loop on features.
      feature = freader.getNextFeature();
    }
  }
    
  /**
   * Create an IlvCADRGLayer for each coverage.
   * Each layer being a load-on-demand layer.
   */
  public void readFromToc(String aDotToc) 
  throws FileNotFoundException, 
         IlvMapFormatException, 
         IOException {

    // Create table of content reader.
    IlvCADRGTocReader tocReader = new IlvCADRGTocReader(aDotToc);
    // Retrieve coverages.
    IlvCADRGCoverage coverages[] = tocReader.getCoverages();
    // Create a layer for each coverage, add it to the manager.
    for(int i = 0; i < coverages.length; i++) {
      IlvCADRGLayer layer = new IlvCADRGLayer(coverages[i]);
      manager.addLayer(layer, -1);
    }
  }