package org.geotiff.image.jai; /* * JAI GeoTIFF extensions. * Copyright (c) 2000 Niles Ritter. */ import org.libtiff.jai.codec.XTIFFDirectory; import org.libtiff.jai.operator.XTIFFDescriptor; /** * The GeoTIFFDescriptor is a single class that is both an OperationDescriptor * and a RenderedImageFactory for the overridden "tiff" operation. * * @author Niles Ritter */ public class GeoTIFFDescriptor extends XTIFFDescriptor { /** * The public Constructor. */ public GeoTIFFDescriptor() { super(); } private static boolean alreadyCalled = false; /** * A convenience method for registering the "geotiff" methods into JAI. This * needs only be called once before using GeoTIFF methods. */ public synchronized static void register() { if (!alreadyCalled) { // Create the objects GeoTIFFDescriptor odesc = new GeoTIFFDescriptor(); XTIFFDescriptor.register(odesc); // Tell XTIFF to create a GeoTIFF directory instead of XTIFF. XTIFFDirectory.setFactory(new GeoTIFFFactory()); alreadyCalled = true; } } }