Package ucar.nc2.iosp

Class LayoutRegularSegmented

java.lang.Object
ucar.nc2.iosp.LayoutRegularSegmented
All Implemented Interfaces:
Layout

public class LayoutRegularSegmented extends Object implements Layout
LayoutRegularSegmented has data stored in segments that are regularly spaced. This is now Netcdf-3 "record variables" are laid out.
Since:
Dec 31, 2007
  • Constructor Details

    • LayoutRegularSegmented

      public LayoutRegularSegmented(long startPos, int elemSize, long recSize, int[] srcShape, Section wantSection) throws InvalidRangeException
      Constructor.
      Parameters:
      startPos - starting address of the entire data array.
      elemSize - size of an element in bytes.
      recSize - size of outer stride in bytes
      srcShape - shape of the entire data array. must have rank > 0
      wantSection - the wanted section of data
      Throws:
      InvalidRangeException - if ranges are misformed
  • Method Details

    • getTotalNelems

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

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

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

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

      public IndexChunker.Chunk nextOuter()