/*$************************************************************************************************ ** ** $Id: GridPacking.java,v 1.2 2006/07/13 06:28:31 poth Exp $ ** ** $Source: /home/deegree/jail/deegreerepository/deegree/src/org/opengis/coverage/grid/Attic/GridPacking.java,v $ ** ** Copyright (C) 2003 Open GIS Consortium, Inc. All Rights Reserved. http://www.opengis.org/Legal/ ** *************************************************************************************************/ package org.opengis.coverage.grid; // OpenGIS direct dependencies /** * Describes the packing of data values within grid coverages. * It includes the packing scheme of data values with less then 8 bits per value * within a byte, byte packing (Little Endian / Big Endian) for values with more * than 8 bits and the packing of the values within the dimensions. * * @UML abstract GC_GridPacking * @author <A HREF="http://www.opengis.org">OpenGIS® consortium</A> * @version <A HREF="http://www.opengis.org/docs/01-004.pdf">Grid Coverage specification 1.0</A> */ public interface GridPacking { /** * Order of bytes packed in values for sample dimensions with greater than 8 bits. * * @UML mandatory byteInValuePacking */ ByteInValuePacking getByteInValuePacking(); /** * Order of values packed in a byte for sample dimensions with less than 8 bits. * This include * {@link org.opengis.coverage.SampleDimensionType#UNSIGNED_1BIT UNSIGNED_1BIT}, * {@link org.opengis.coverage.SampleDimensionType#UNSIGNED_2BITS UNSIGNED_2BITS} and * {@link org.opengis.coverage.SampleDimensionType#UNSIGNED_4BITS UNSIGNED_4BITS} data types. * * @UML mandatory valueInBytePacking */ ValueInBytePacking getValueInBytePacking(); /** * Gives the ordinate index for the band. * This index indicates how to form a band-specific coordinate from a grid coordinate * and a sample dimension number. This indicates the order in which the grid values * are stored in streamed data. This packing order is used when grid values are * retrieved using the <code>getPackedDataBlock</code> or set using * <code>setPackedDataBlock</code> operations on {@link GridCoverage}. * * bandPacking of * <UL> * <li>0 : the full band-specific coordinate is (b, n1, n2...)</li> * <li>1 : the full band-specific coordinate is (n1, b, n2...)</li> * <li>2 : the full band-specific coordinate is (n1, n2, b...)</li> * </UL> * Where * <UL> * <li>b is band</li> * <li>n1 is dimension 1</li> * <li>n2 is dimension 2</li> * </UL> * For 2 dimensional grids, band packing of 0 is referred to as band sequential, * 1 line interleaved and 2 pixel interleaved. * * @UML mandatory bandPacking * * @see java.awt.image.BandedSampleModel * @see java.awt.image.PixelInterleavedSampleModel */ int getBandPacking(); } /* ******************************************************************** Changes to this class. What the people have been up to: $Log: GridPacking.java,v $ Revision 1.2 2006/07/13 06:28:31 poth comment footer added ********************************************************************** */