Package ucar.nc2.iosp

Class LayoutBBTiled

java.lang.Object
ucar.nc2.iosp.LayoutBBTiled
All Implemented Interfaces:
Layout, LayoutBB

public class LayoutBBTiled extends Object implements LayoutBB
For datasets where the data are stored in chunks, and must be processed, eg compressed or filtered. The data is read, processed, and placed in a ByteBuffer. Chunks have an offset into the ByteBuffer. "Tiled" means that all chunks are assumed to be equal size. Chunks do not necessarily cover the array, missing data is possible.
Since:
Jan 9, 2008
  • Constructor Details

    • LayoutBBTiled

      public LayoutBBTiled(LayoutBBTiled.DataChunkIterator chunkIterator, int[] chunkSize, int elemSize, Section wantSection)
      Constructor.
      Parameters:
      chunkIterator - iterator over all data chunks
      chunkSize - all chunks assumed to be the same size
      elemSize - size of an element in bytes.
      wantSection - the wanted section of data, contains a List of Range objects. Must be complete.
  • Method Details

    • getTotalNelems

      public long getTotalNelems()
      Description copied from interface: LayoutBB
      Get total number of elements in the wanted subset.
      Specified by:
      getTotalNelems in interface Layout
      Specified by:
      getTotalNelems in interface LayoutBB
      Returns:
      total number of elements in the wanted subset.
    • getElemSize

      public int getElemSize()
      Description copied from interface: LayoutBB
      Get size of each element in bytes.
      Specified by:
      getElemSize in interface Layout
      Specified by:
      getElemSize in interface LayoutBB
      Returns:
      size of each element in bytes.
    • hasNext

      public boolean hasNext()
      Description copied from interface: LayoutBB
      Is there more to do
      Specified by:
      hasNext in interface Layout
      Specified by:
      hasNext in interface LayoutBB
      Returns:
      true if theres more to do
    • next

      public LayoutBB.Chunk next()
      Description copied from interface: LayoutBB
      Get the next chunk
      Specified by:
      next in interface Layout
      Specified by:
      next in interface LayoutBB
      Returns:
      next chunk, or null if !hasNext()
    • toString

      public String toString()
      Overrides:
      toString in class Object