visad
Class Linear1DSet

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.Gridded1DSet
                              extended by visad.Linear1DSet
All Implemented Interfaces:
Serializable, Cloneable, Data, Gridded1DSetIface, GriddedDoubleSet, GriddedSetIface, LinearSet, SampledSetIface, Set1DIface, SetIface, SimpleSetIface, Thing
Direct Known Subclasses:
Integer1DSet

public class Linear1DSet
extends Gridded1DSet
implements LinearSet, GriddedDoubleSet

Linear1DSet represents a finite set of samples of R in an arithmetic progression.

The samples are ordered from First to Last.

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
Linear1DSet(double first, double last, int length)
          Construct a 1-D arithmetic progression with null errors and generic type
Linear1DSet(MathType type, double first, double last, int length)
          Construct a 1-D arithmetic progression with the specified type and null errors.
Linear1DSet(MathType type, double first, double last, int length, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
          Construct a 1-D arithmetic progression with the specified type, coord_sys, units and errors.
Linear1DSet(MathType type, double first, double last, int length, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache)
          Construct a 1-D arithmetic progression with the specified type, coord_sys, units and errors.
 
Method Summary
 Object cloneButType(MathType type)
          Return a clone of this object with a new MathType.
 double[][] doubleToGrid(double[][] value)
          transform an array of values in R to an array of non-integer grid coordinates
 int[] doubleToIndex(double[][] value)
           
 void doubleToInterp(double[][] value, int[][] indices, double[][] weights)
          for each of an array of values in R^DomainDimension, compute an array of 1-D indices and an array of weights, to be used for interpolation; indices[i] and weights[i] are null if i-th value is outside grid (i.e., if no interpolation is possible)
 boolean equals(Object set)
          Check to see if this Linear1DSet is equal to the Object in question.
 double[][] getDoubles(boolean copy)
          Return the array of values as doubles in R space corresponding to this arithmetic progression.
 double getFirst()
          Get the first value in this arithmetic progression.
 double getInvstep()
          Get the inverse of the step (1.0/getStep()).
 double getLast()
          Get the last value in this arithmetic progression.
 Linear1DSet getLinear1DComponent(int i)
          Get the indexed component (X is at 0 and is the only valid index)
 float[][] getSamples(boolean copy)
          Return the array of values in R space corresponding to this arithmetic progression.
 double getStep()
          Get the interval between values in this progression
 double[][] gridToDouble(double[][] grid)
          transform an array of non-integer grid coordinates to an array of values in R
 float[][] gridToValue(float[][] grid)
          transform an array of non-integer grid coordinates to an array of values in R
 int hashCode()
          Returns the hash code for this instance.
 double[][] indexToDouble(int[] index)
          Convert an array of 1-D indices to an array of double values in the set corresponding to those indices.
 float[][] indexToValue(int[] index)
          Convert an array of 1-D indices to an array of values in the set corresponding to those indices.
 boolean isMissing()
          Check to see if this is an empty progression
 String longString(String pre)
          Extended version of the toString() method.
 float[][] valueToGrid(float[][] value)
          transform an array of values in R to an array of non-integer grid coordinates
 
Methods inherited from class visad.Gridded1DSet
create, getHiX, getLengthX, getLowX, isAscending, main, valueToIndex
 
Methods inherited from class visad.GriddedSet
create, create, create, create, getLength, getLengths, getNeighbors, getNeighbors, getWedge, makeSpatial, valueToInterp
 
Methods inherited from class visad.SampledSet
clone, computeRanges, computeRanges, cram_missing, finalize, getHi, getLow, getMySamples, getNeighbors, getSamples, make1DGeometry, make3DGeometry, makePointGeometry, setCacheSizeThreshold, setGeometryArray, setGeometryArray, setMySamples
 
Methods inherited from class visad.SimpleSet
getManifoldDimension
 
Methods inherited from class visad.Set
__getitem__, __len__, addEqualsCache, addNotEqualsCache, copyDoubles, copyFloats, doubleToFloat, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, getDoubles, getLength, getSetErrors, getSetUnits, longString, make2DGeometry, makeIsoLines, makeIsoSurface, merge1DSets, testEqualsCache, testNotEqualsCache, unary, unitAndCSHashCode
 
Methods inherited from class visad.DataImpl
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __radd__, __rdiv__, __rmod__, __rmul__, __rpow__, __rsub__, __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
 
Methods inherited from class visad.ThingImpl
addReference, removeReference
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.GriddedSetIface
getLength, getLengths
 
Methods inherited from interface visad.SampledSetIface
getHi, getLow
 
Methods inherited from interface visad.SimpleSetIface
valueToInterp
 
Methods inherited from interface visad.SetIface
cram_missing, equalUnitAndCS, getCoordinateSystem, getDimension, getDoubles, getLength, getManifoldDimension, getNeighbors, getNeighbors, getNeighbors, getSamples, getSetErrors, getSetUnits, getWedge, make1DGeometry, make2DGeometry, make3DGeometry, makeIsoLines, makeIsoSurface, makePointGeometry, makeSpatial, merge1DSets, valueToIndex
 
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

Linear1DSet

public Linear1DSet(double first,
                   double last,
                   int length)
            throws VisADException
Construct a 1-D arithmetic progression with null errors and generic type

Parameters:
first - first value in progression
last - last value in progression
length - number of samples in progression (R)
Throws:
VisADException - problem creating set

Linear1DSet

public Linear1DSet(MathType type,
                   double first,
                   double last,
                   int length)
            throws VisADException
Construct a 1-D arithmetic progression with the specified type and null errors.

Parameters:
type - MathType for this Linear1DSet.
first - first value in progression
last - last value in progression
length - number of samples in progression (R)
Throws:
VisADException - problem creating set

Linear1DSet

public Linear1DSet(MathType type,
                   double first,
                   double last,
                   int length,
                   CoordinateSystem coord_sys,
                   Unit[] units,
                   ErrorEstimate[] errors)
            throws VisADException
Construct a 1-D arithmetic progression with the specified type, coord_sys, units and errors.

Parameters:
type - MathType for this Linear2DSet.
first - first value in progression
last - last value in progression
length - number of samples in progression (R)
coord_sys - CoordinateSystem for this set. May be null, but if not, must be consistent with type.
units - Unit-s for the values in sets. May be null, but must be convertible with default of type if specified.
errors - ErrorEstimate-s for values in sets, may be null
Throws:
VisADException - problem creating VisAD objects.

Linear1DSet

public Linear1DSet(MathType type,
                   double first,
                   double last,
                   int length,
                   CoordinateSystem coord_sys,
                   Unit[] units,
                   ErrorEstimate[] errors,
                   boolean cache)
            throws VisADException
Construct a 1-D arithmetic progression with the specified type, coord_sys, units and errors.

Parameters:
type - MathType for this Linear2DSet.
first - first value in progression
last - last value in progression
length - number of samples in progression (R)
coord_sys - CoordinateSystem for this set. May be null, but if not, must be consistent with type.
units - Unit-s for the values in sets. May be null, but must be convertible with default of type if specified.
errors - ErrorEstimate-s for values in sets, may be null
cache - if true, enumerate and cache the samples. This will result in a larger memory footprint, but will reduce the time to return samples from calls to SampledSet.getSamples()
Throws:
VisADException - problem creating VisAD objects.
Method Detail

indexToValue

public float[][] indexToValue(int[] index)
                       throws VisADException
Convert an array of 1-D indices to an array of values in the set corresponding to those indices.

Specified by:
indexToValue in interface SetIface
Overrides:
indexToValue in class Gridded1DSet
Parameters:
index - array of indices of values in R^1 space.
Returns:
values in R^1 space corresponding to indices.
Throws:
VisADException - problem converting indices to values.

indexToDouble

public double[][] indexToDouble(int[] index)
                         throws VisADException
Convert an array of 1-D indices to an array of double values in the set corresponding to those indices.

Specified by:
indexToDouble in interface GriddedDoubleSet
Specified by:
indexToDouble in interface SetIface
Overrides:
indexToDouble in class Set
Parameters:
index - array of indices of values in R space.
Returns:
values in R space corresponding to indices.
Throws:
VisADException - problem converting indices to values.

doubleToIndex

public int[] doubleToIndex(double[][] value)
                    throws VisADException
Specified by:
doubleToIndex in interface GriddedDoubleSet
Specified by:
doubleToIndex in interface SetIface
Overrides:
doubleToIndex in class Set
Throws:
VisADException

gridToValue

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

Specified by:
gridToValue in interface GriddedSetIface
Overrides:
gridToValue in class Gridded1DSet
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.

gridToDouble

public double[][] gridToDouble(double[][] grid)
                        throws VisADException
transform an array of non-integer grid coordinates to an array of values in R

Specified by:
gridToDouble in interface GriddedDoubleSet
Throws:
VisADException

valueToGrid

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

Specified by:
valueToGrid in interface GriddedSetIface
Overrides:
valueToGrid in class Gridded1DSet
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.

doubleToGrid

public double[][] doubleToGrid(double[][] value)
                        throws VisADException
transform an array of values in R to an array of non-integer grid coordinates

Specified by:
doubleToGrid in interface GriddedDoubleSet
Throws:
VisADException

doubleToInterp

public void doubleToInterp(double[][] value,
                           int[][] indices,
                           double[][] weights)
                    throws VisADException
for each of an array of values in R^DomainDimension, compute an array of 1-D indices and an array of weights, to be used for interpolation; indices[i] and weights[i] are null if i-th value is outside grid (i.e., if no interpolation is possible)

Specified by:
doubleToInterp in interface GriddedDoubleSet
Throws:
VisADException

getFirst

public double getFirst()
Get the first value in this arithmetic progression.

Returns:
first value

getLast

public double getLast()
Get the last value in this arithmetic progression.

Returns:
last value

getStep

public double getStep()
Get the interval between values in this progression

Returns:
step interval of progression

getInvstep

public double getInvstep()
Get the inverse of the step (1.0/getStep()).

Returns:
inverse of step interval of progression

isMissing

public boolean isMissing()
Check to see if this is an empty progression

Specified by:
isMissing in interface Data
Overrides:
isMissing in class SampledSet
Returns:
always false.

getDoubles

public double[][] getDoubles(boolean copy)
                      throws VisADException
Return the array of values as doubles in R space corresponding to this arithmetic progression.

Specified by:
getDoubles in interface GriddedDoubleSet
Specified by:
getDoubles in interface SetIface
Overrides:
getDoubles in class Set
Parameters:
copy - if true, return a copy of the samples.
Returns:
array of values in R space.
Throws:
VisADException - problem creating samples.

getSamples

public float[][] getSamples(boolean copy)
                     throws VisADException
Return the array of values in R space corresponding to this arithmetic progression.

Specified by:
getSamples in interface SetIface
Overrides:
getSamples in class SampledSet
Parameters:
copy - if true, return a copy of the samples.
Returns:
array of values in R space.
Throws:
VisADException - problem creating samples.

equals

public boolean equals(Object set)
Check to see if this Linear1DSet is equal to the Object in question.

Specified by:
equals in interface SetIface
Overrides:
equals in class GriddedSet
Parameters:
set - Object in question
Returns:
true if set is a Linear1DSet and the type, first, last and lengths of the progressions are equal.

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 (X is at 0 and is the only valid index)

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

cloneButType

public Object cloneButType(MathType type)
                    throws VisADException
Return a clone of this object with a new MathType.

Specified by:
cloneButType in interface SetIface
Overrides:
cloneButType in class Gridded1DSet
Parameters:
type - new MathType.
Returns:
new Linear1DSet with type.
Throws:
VisADException - if type is not compatible with MathType of this.

longString

public String longString(String pre)
                  throws VisADException
Extended version of the toString() method.

Specified by:
longString in interface Data
Overrides:
longString in class GriddedSet
Parameters:
pre - prefix for string.
Returns:
wordy string describing this Linear1DSet.
Throws:
VisADException