visad
Class LinearNDSet

java.lang.Object
  extended by visad.ThingImpl
      extended by visad.DataImpl
          extended by visad.Set
              extended by visad.SimpleSet
                  extended by visad.SampledSet
                      extended by visad.GriddedSet
                          extended by visad.LinearNDSet
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Data, GriddedSetIface, LinearSet, SampledSetIface, SetIface, SimpleSetIface, Thing
Direct Known Subclasses:
IntegerNDSet

public class LinearNDSet
extends GriddedSet
implements LinearSet

LinearNDSet represents a finite set of samples of R^Dimension in a cross product of arithmetic progressions.

The order of the samples is the rasterization of the orders of the 1D components, with the first component increasing fastest. For more detail, see the example in Linear2DSet.java.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class visad.DataImpl
DataImpl.Syncher
 
Field Summary
 
Fields inherited from interface visad.Data
ABS, ACOS, ACOS_DEGREES, ADD, ASIN, ASIN_DEGREES, ATAN, ATAN_DEGREES, ATAN2, ATAN2_DEGREES, CEIL, COS, COS_DEGREES, DEGREES_TO_RADIANS, DEPENDENT, DIVIDE, EXP, FLOOR, INDEPENDENT, INV_ATAN2, INV_ATAN2_DEGREES, INV_DIVIDE, INV_POW, INV_REMAINDER, INV_SUBTRACT, LOG, MAX, MIN, MULTIPLY, NEAREST_NEIGHBOR, NEGATE, NO_ERRORS, NOP, POW, RADIANS_TO_DEGREES, REMAINDER, RINT, ROUND, SIN, SIN_DEGREES, SQRT, SUBTRACT, TAN, TAN_DEGREES, WEIGHTED_AVERAGE
 
Constructor Summary
LinearNDSet(MathType type, double[] firsts, double[] lasts, int[] lengths)
          construct an N-dimensional set as the product of N arithmetic progressions (lengths[i] samples between firsts[i] and lasts[i]), with null errors, CoordinateSystem and Units are defaults from type
LinearNDSet(MathType type, double[] firsts, double[] lasts, int[] lengths, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
          construct an N-dimensional set as the product of N arithmetic progressions (lengths[i] samples between firsts[i] and lasts[i]), coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null
LinearNDSet(MathType type, Linear1DSet[] l)
          construct an N-dimensional set as the product of N Linear1DSets, with null errors, CoordinateSystem and Units are defaults from type
LinearNDSet(MathType type, Linear1DSet[] l, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
          construct an N-dimensional set as the product of N Linear1DSets; coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null
 
Method Summary
 java.lang.Object cloneButType(MathType type)
          copy this Set, but give it a new MathType; this is safe, since constructor checks consistency of DomainCoordinateSystem and SetUnits with Type
static LinearSet create(MathType type, double[] firsts, double[] lasts, int[] lengths)
          General Factory method for creating the proper linear set (Linear1DSet, Linear2DSet, etc.).
static LinearSet create(MathType type, double[] firsts, double[] lasts, int[] lengths, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
           
 boolean equals(java.lang.Object set)
          test for equality
 double[] getFirsts()
           
 double[] getLasts()
           
 Linear1DSet getLinear1DComponent(int i)
          Get the indexed component.
 float[][] getSamples(boolean copy)
          Returns the samples of this instance or a copy of the samples.
 float[][] gridToValue(float[][] grid)
          transform an array of non-integer grid coordinates to an array of values in R^DomainDimension
 int hashCode()
          Returns the hash code for this instance.
 float[][] indexToValue(int[] index)
          convert an array of 1-D indices to an array of values in R^DomainDimension
 boolean isMissing()
          a method to tell whether data object has a missing value
 java.lang.String longString(java.lang.String pre)
          generates a longer string than generated by toString, indented by pre (a string of blanks)
static void main(java.lang.String[] args)
          run 'java visad.LinearNDSet' to test the LinearNDSet class
 float[][] valueToGrid(float[][] value)
          transform an array of values in R^DomainDimension to an array of non-integer grid coordinates
 
Methods inherited from class visad.GriddedSet
create, create, getLength, getLengths, getNeighbors, getNeighbors, getWedge, makeSpatial, valueToIndex, valueToInterp
 
Methods inherited from class visad.SampledSet
clone, computeRanges, computeRanges, cram_missing, getHi, getLow, getNeighbors, getSamples, make1DGeometry, make3DGeometry, makePointGeometry, setGeometryArray, setGeometryArray
 
Methods inherited from class visad.SimpleSet
getManifoldDimension
 
Methods inherited from class visad.Set
__getitem__, __len__, addEqualsCache, addNotEqualsCache, copyDoubles, copyFloats, doubleToFloat, doubleToIndex, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getSetErrors, getSetUnits, indexToDouble, longString, make2DGeometry, makeIsoLines, makeIsoSurface, merge1DSets, testEqualsCache, testNotEqualsCache, unitAndCSHashCode
 
Methods inherited from class visad.DataImpl
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __sub__, __sub__, abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, toString, unary, unary
 
Methods inherited from class visad.ThingImpl
addReference, removeReference
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.SampledSetIface
getHi, getLow
 
Methods inherited from interface visad.SetIface
cram_missing, doubleToIndex, equalUnitAndCS, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getManifoldDimension, getNeighbors, getSamples, getSetErrors, getSetUnits, indexToDouble, make1DGeometry, make2DGeometry, make3DGeometry, makeIsoLines, makeIsoSurface, makePointGeometry, merge1DSets
 
Methods inherited from interface visad.Data
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary, unary
 
Methods inherited from interface visad.Thing
addReference, removeReference
 

Constructor Detail

LinearNDSet

public LinearNDSet(MathType type,
                   Linear1DSet[] l)
            throws VisADException
construct an N-dimensional set as the product of N Linear1DSets, with null errors, CoordinateSystem and Units are defaults from type

Throws:
VisADException

LinearNDSet

public LinearNDSet(MathType type,
                   double[] firsts,
                   double[] lasts,
                   int[] lengths)
            throws VisADException
construct an N-dimensional set as the product of N arithmetic progressions (lengths[i] samples between firsts[i] and lasts[i]), with null errors, CoordinateSystem and Units are defaults from type

Throws:
VisADException

LinearNDSet

public LinearNDSet(MathType type,
                   Linear1DSet[] l,
                   CoordinateSystem coord_sys,
                   Unit[] units,
                   ErrorEstimate[] errors)
            throws VisADException
construct an N-dimensional set as the product of N Linear1DSets; coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null

Throws:
VisADException

LinearNDSet

public LinearNDSet(MathType type,
                   double[] firsts,
                   double[] lasts,
                   int[] lengths,
                   CoordinateSystem coord_sys,
                   Unit[] units,
                   ErrorEstimate[] errors)
            throws VisADException
construct an N-dimensional set as the product of N arithmetic progressions (lengths[i] samples between firsts[i] and lasts[i]), coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null

Throws:
VisADException
Method Detail

create

public static LinearSet create(MathType type,
                               double[] firsts,
                               double[] lasts,
                               int[] lengths)
                        throws VisADException
General Factory method for creating the proper linear set (Linear1DSet, Linear2DSet, etc.).

Throws:
VisADException

create

public static LinearSet create(MathType type,
                               double[] firsts,
                               double[] lasts,
                               int[] lengths,
                               CoordinateSystem coord_sys,
                               Unit[] units,
                               ErrorEstimate[] errors)
                        throws VisADException
Throws:
VisADException

indexToValue

public float[][] indexToValue(int[] index)
                       throws VisADException
convert an array of 1-D indices to an array of values in R^DomainDimension

Specified by:
indexToValue in interface SetIface
Overrides:
indexToValue in class GriddedSet
Parameters:
index - The array of 1-D indices.
Returns:
The values of the set corresponding to the input indices. Element [i][j] is the i-th coordinate of the sample at index index[j].
Throws:
VisADException - VisAD failure.

gridToValue

public float[][] gridToValue(float[][] grid)
                      throws VisADException
transform an array of non-integer grid coordinates to an array of values in R^DomainDimension

Specified by:
gridToValue in interface GriddedSetIface
Overrides:
gridToValue in class GriddedSet
Parameters:
grid - The coordinates of the interpolation grid points for which interpolated sample values are desired. grid[i][j] is the i-th grid coordinate of the j-th interpolation point.
Returns:
The interpolated samples of the set. Element [i][j] is the i-th coordinate of the j-th interpolation point.
Throws:
VisADException - VisAD failure.

valueToGrid

public float[][] valueToGrid(float[][] value)
                      throws VisADException
transform an array of values in R^DomainDimension to an array of non-integer grid coordinates

Specified by:
valueToGrid in interface GriddedSetIface
Overrides:
valueToGrid in class GriddedSet
Parameters:
value - The array of points for which non-integer grid coordinates are desired. value[i][j] is the i-th coordinate of the j-th point.
Returns:
The array of grid coordinates corresponding to the points. Element [i][j] is the i-th non-integer grid coordinate of the j-th point.
Throws:
VisADException - VisAD failure.

isMissing

public boolean isMissing()
Description copied from interface: Data
a method to tell whether data object has a missing value

Specified by:
isMissing in interface Data
Overrides:
isMissing in class SampledSet

getFirsts

public double[] getFirsts()
                   throws VisADException
Throws:
VisADException

getLasts

public double[] getLasts()
                  throws VisADException
Throws:
VisADException

getSamples

public float[][] getSamples(boolean copy)
                     throws VisADException
Description copied from class: SampledSet

Returns the samples of this instance or a copy of the samples.

Note that, if the actual sample array is returned, then it is possible to modify the values of this instance -- breaking the immutability aspect of this class. Don't do this unless you enjoy debugging.

Specified by:
getSamples in interface SetIface
Overrides:
getSamples in class SampledSet
Parameters:
copy - Whether or not a copy of the sample array should be returned.
Returns:
The sample array is copy is false; otherwise, a copy of the sample array.
Throws:
VisADException - VisAD failure.

equals

public boolean equals(java.lang.Object set)
Description copied from class: Set
test for equality

Specified by:
equals in interface SetIface
Overrides:
equals in class GriddedSet

hashCode

public int hashCode()
Returns the hash code for this instance.

Overrides:
hashCode in class GriddedSet
Returns:
The hash code for this instance.

getLinear1DComponent

public Linear1DSet getLinear1DComponent(int i)
Get the indexed component.

Specified by:
getLinear1DComponent in interface LinearSet
Parameters:
i - Index of component
Returns:
The requested component
Throws:
java.lang.ArrayIndexOutOfBoundsException - If an invalid index is specified.

cloneButType

public java.lang.Object cloneButType(MathType type)
                              throws VisADException
Description copied from class: Set
copy this Set, but give it a new MathType; this is safe, since constructor checks consistency of DomainCoordinateSystem and SetUnits with Type

Specified by:
cloneButType in interface SetIface
Overrides:
cloneButType in class GriddedSet
Parameters:
type - The MathType for the clone.
Returns:
A clone of this set with the new MathType.
Throws:
VisADException - VisAD failure.

longString

public java.lang.String longString(java.lang.String pre)
                            throws VisADException
Description copied from class: DataImpl
generates a longer string than generated by toString, indented by pre (a string of blanks)

Specified by:
longString in interface Data
Overrides:
longString in class GriddedSet
Throws:
VisADException

main

public static void main(java.lang.String[] args)
                 throws VisADException
run 'java visad.LinearNDSet' to test the LinearNDSet class

Throws:
VisADException