## visad
Class ProductSet

    java.lang.Object
      visad.ThingImpl
          visad.DataImpl
              visad.Set
                  visad.SimpleSet
                      visad.SampledSet
                          visad.ProductSet

All Implemented Interfaces:
  Cloneable, Data, SampledSetIface, Serializable, 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 inherited from class visad.DataImpl
`DataImpl.Syncher`

Nested classes inherited from class visad.ThingImpl
`ThingImpl.RemotePair`

Field Summary
`(package private) SampledSet[]` `Sets`

Fields inherited from class visad.SampledSet
`Hi, Low, Samples`

Fields inherited from class visad.SimpleSet
`ManifoldDimension`

Fields inherited from class visad.Set
`DomainCoordinateSystem, DomainDimension, hashCode, hashCodeSet, Length, SetErrors, SetUnits`

Fields inherited from class visad.DataImpl
`Type`

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
`(package private)` `ProductSet(MathType type, SampledSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean copy)`
`` `ProductSet(SampledSet[] sets)` construct a ProductSet with an array of SampledSets

Method Summary
`Object` `clone()` Clones this instance.
`Object` `cloneButType(MathType type)` Clones this set -- changing the MathType.
`boolean` `equals(Object set)` test for equality
`float[][]` `getSamples(boolean copy)` copied from Set
`SampledSet[]` `getSets()` Returns the `SampledSet`s 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)` Simple DataImpl test, invoked as 'java visad.DataImpl'.
`Set` `makeSpatial(SetType type, float[][] samples)` this should return Gridded3DSet or Irregular3DSet; no need for make*DGeometry or makeIso* in this class
`(package private) static MathType` `makeType(SampledSet[] sets)`
`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, cram_samples, getHi, getLow, getNeighbors, getSamples, init_samples, init_samples, make1DGeometry, make3DGeometry, makePointGeometry, setGeometryArray, setGeometryArray`

Methods inherited from class visad.SimpleSet
`getManifoldDimension, setAnimationSampling`

Methods inherited from class visad.Set

`__getitem__, __len__, addEqualsCache, addNotEqualsCache, adjustType, copyDoubles, copyFloats, doubleToFloat, doubleToIndex, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, 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, computeReferenceRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, invertOp, local, log, log, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, setParent, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, toString, unary`

Methods inherited from class visad.ThingImpl
`adaptedAddReference, adaptedRemoveReference, addReference, removeReference`

Methods inherited from class java.lang.Object
`finalize, 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`

Field Detail

### Sets

    SampledSet[] Sets

Constructor Detail

### ProductSet

    public ProductSet(SampledSet[] sets)
               throws VisADException

  construct a ProductSet with an array of SampledSets

### 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

### 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

### ProductSet

    ProductSet(MathType type,
               SampledSet[] sets,
               CoordinateSystem coord_sys,
               Unit[] units,
               ErrorEstimate[] errors,
               boolean copy)
         throws VisADException

Method Detail

### getSets

    public SampledSet[] getSets()

  Returns the `SampledSet`s that constitute this instance. The returned array may be modified without affecting this instance.

  Returns:
    The `SampledSet`s that constitute this instance.

### makeType

    static MathType makeType(SampledSet[] sets)
                      throws VisADException

  Throws:
    `VisADException`

### 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`

### 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`
  Throws:
    `VisADException`

### 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 interface: `SetIface`
  Clones this set -- changing the MathType.

  Specified by:
    `cloneButType` in interface `SetIface`
  Specified by:
    `cloneButType` in class `Set`
  Throws:
    `VisADException`

### 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.

### isMissing

    public boolean isMissing()

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

### longString

    public String longString(String pre)
                      throws VisADException

  Specified by:
    `longString` in interface `Data`
  Overrides:
    `longString` in class `Set`
  Throws:
    `VisADException`

### main

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

  Description copied from class: `DataImpl`
  Simple DataImpl test, invoked as 'java visad.DataImpl'.

  Throws:
    `VisADException`