visad
Class ProductSet

java.lang.Object
  extended byvisad.ThingImpl
      extended byvisad.DataImpl
          extended byvisad.Set
              extended byvisad.SimpleSet
                  extended byvisad.SampledSet
                      extended byvisad.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 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)
          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 SampledSets that constitute this instance. The returned array may be modified without affecting this instance.

Returns:
The SampledSets 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