Package ucar.nc2.iosp
Class LayoutRegular
- java.lang.Object
-
- ucar.nc2.iosp.LayoutRegular
-
- All Implemented Interfaces:
Layout
public class LayoutRegular extends Object implements Layout
Indexer into data that has a "regular" layout, like netcdf-3 and hdf5 compact and contiguous storage. The data is contiguous, with outer dimension varying fastest. Given a Section, this calculates the set of contiguous "chunks" of the wanted data into the stored data. The wanted section is always a subset of the data section (see RegularSectionLayout where thats not the case).- Since:
- Jan 3, 2008
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ucar.nc2.iosp.Layout
Layout.Chunk
-
-
Constructor Summary
Constructors Constructor Description LayoutRegular(long startPos, int elemSize, int[] varShape, Section wantSection)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getElemSize()
Get size of each element in bytes.long
getTotalNelems()
Get total number of elements in the wanted subset.boolean
hasNext()
Is there more to doLayout.Chunk
next()
Get the next chunk
-
-
-
Constructor Detail
-
LayoutRegular
public LayoutRegular(long startPos, int elemSize, int[] varShape, @Nullable Section wantSection) throws InvalidRangeException
Constructor.- Parameters:
startPos
- starting address of the entire data array.elemSize
- size of an element in bytes.varShape
- shape of the entire data array.wantSection
- the wanted section of data, contains a List of Range objects.- Throws:
InvalidRangeException
- if ranges are misformed
-
-
Method Detail
-
getTotalNelems
public long getTotalNelems()
Description copied from interface:Layout
Get total number of elements in the wanted subset.- Specified by:
getTotalNelems
in interfaceLayout
- 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 interfaceLayout
- Returns:
- size of each element in bytes.
-
hasNext
public boolean hasNext()
Description copied from interface:Layout
Is there more to do
-
next
public Layout.Chunk next()
Description copied from interface:Layout
Get the next chunk
-
-