visad
Class ProductSet

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.ProductSet
All Implemented Interfaces:
Serializable, Cloneable, Data, SampledSetIface, SetIface, SimpleSetIface, Thing

public class ProductSet
extends SampledSet

ProductSet is the cross-product of an array of SampledSets.

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
ProductSet(MathType type, SampledSet[] sets)
          create the product of the sets array, with null errors, CoordinateSystem and Units are defaults from type
ProductSet(MathType type, SampledSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
          create the product of the sets array; coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null
ProductSet(SampledSet[] sets)
          construct a ProductSet with an array of SampledSets
 
Method Summary
 Object clone()
          Clones this instance.
 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
 boolean equals(Object set)
          test for equality
 float[][] getSamples(boolean copy)
          copied from Set
 SampledSet[] getSets()
          Returns the SampledSets that constitute this instance.
 int hashCode()
          Returns the hash code of this instance.
 float[][] indexToValue(int[] index)
          convert an array of 1-D indices to an array of values in R^DomainDimension
 SampledSet inverseProduct(SampledSet set)
           
 boolean isMissing()
           
 String longString(String pre)
           
static void main(String[] argv)
           
 Set makeSpatial(SetType type, float[][] samples)
          this should return Gridded3DSet or Irregular3DSet; no need for make*DGeometry or makeIso* in this class
 SampledSet product()
           
 SampledSet product(SampledSet set)
           
 int[] valueToIndex(float[][] value)
          convert an array of values in R^DomainDimension to an array of 1-D indices
 void valueToInterp(float[][] value, int[][] indices, float[][] 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)
 
Methods inherited from class visad.SampledSet
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, doubleToIndex, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getNeighbors, getNeighbors, getSetErrors, getSetUnits, getWedge, indexToDouble, 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.SetIface
doubleToIndex, equalUnitAndCS, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getManifoldDimension, getNeighbors, getNeighbors, getSetErrors, getSetUnits, getWedge, indexToDouble, make2DGeometry, makeIsoLines, makeIsoSurface, 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, 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

ProductSet

public ProductSet(SampledSet[] sets)
           throws VisADException
construct a ProductSet with an array of SampledSets

Throws:
VisADException

ProductSet

public ProductSet(MathType type,
                  SampledSet[] sets)
           throws VisADException
create the product of the sets array, with null errors, CoordinateSystem and Units are defaults from type

Throws:
VisADException

ProductSet

public ProductSet(MathType type,
                  SampledSet[] sets,
                  CoordinateSystem coord_sys,
                  Unit[] units,
                  ErrorEstimate[] errors)
           throws VisADException
create the product of the sets array; coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null

Throws:
VisADException
Method Detail

getSets

public SampledSet[] getSets()
Returns the SampledSets that constitute this instance. The returned array may be modified without affecting this instance.

Returns:
The SampledSets that constitute this instance.

product

public SampledSet product()
                   throws VisADException
Throws:
VisADException

product

public SampledSet product(SampledSet set)
                   throws VisADException
Throws:
VisADException

inverseProduct

public SampledSet inverseProduct(SampledSet set)
                          throws VisADException
Throws:
VisADException

makeSpatial

public Set makeSpatial(SetType type,
                       float[][] samples)
                throws VisADException
this should return Gridded3DSet or Irregular3DSet; no need for make*DGeometry or makeIso* in this class

Specified by:
makeSpatial in interface SetIface
Overrides:
makeSpatial in class Set
Throws:
VisADException

getSamples

public float[][] getSamples(boolean copy)
                     throws VisADException
copied from Set

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.

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
Specified by:
indexToValue in class Set
Parameters:
index - array of integer indices
Returns:
float[domain_dimension][indices.length] array of Set values
Throws:
VisADException - a VisAD error occurred

valueToIndex

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

Specified by:
valueToIndex in interface SetIface
Specified by:
valueToIndex in class Set
Parameters:
value - float[domain_dimension][number_of_values] array of Set values
Returns:
array of integer indices
Throws:
VisADException - a VisAD error occurred

valueToInterp

public void valueToInterp(float[][] value,
                          int[][] indices,
                          float[][] 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:
valueToInterp in interface SimpleSetIface
Specified by:
valueToInterp in class SimpleSet
Parameters:
value - An array of points. value[i][j] is the i-th coordinate of the j-th points.
indices - Indices of the neighboring samples in the set. If the j-th points lies within the set, then returned element [i][j] is the index of the i-th neighboring sample in the set; otherwise, returned array [j] is null.
weights - Weights for interpolating the neighboring samples in the set. If the j-th points lies within the set, then returned element [i][j] is the weight of the i-th neighboring sample in the set; otherwise, returned array [j] is null.
Throws:
VisADException - VisAD failure.

clone

public Object clone()
Clones this instance.

Overrides:
clone in class SampledSet
Returns:
A clone of this instance.

cloneButType

public 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
Specified by:
cloneButType in class Set
Parameters:
type - The MathType for the clone.
Returns:
A clone of this set with the new MathType.
Throws:
VisADException - VisAD failure.

equals

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

Specified by:
equals in interface SetIface
Specified by:
equals in class Set

hashCode

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

Overrides:
hashCode in class Object
Returns:
The hash code of this instance.

isMissing

public boolean isMissing()
Specified by:
isMissing in interface Data
Overrides:
isMissing in class SampledSet
Returns:
true or false

longString

public String longString(String pre)
                  throws VisADException
Specified by:
longString in interface Data
Overrides:
longString in class Set
Parameters:
pre - String added to start of each line
Returns:
a longer String than returned by toString(), indented by pre (a string of blanks)
Throws:
VisADException

main

public static void main(String[] argv)
                 throws VisADException
Throws:
VisADException