visad
Class IrregularSet

java.lang.Object
  extended byvisad.ThingImpl
      extended byvisad.DataImpl
          extended byvisad.Set
              extended byvisad.SimpleSet
                  extended byvisad.SampledSet
                      extended byvisad.IrregularSet
All Implemented Interfaces:
Cloneable, Data, SampledSetIface, Serializable, SetIface, SimpleSetIface, Thing
Direct Known Subclasses:
Irregular1DSet, Irregular2DSet, Irregular3DSet

public class IrregularSet
extends SampledSet

IrregularSet is implemented by those Set sub-classes whose samples do not form any ordered pattern. It is a M-dimensional array of points in R^N where ManifoldDimension = M <= N = DomainDimension.

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 inherited from class visad.DataImpl
DataImpl.Syncher
 
Nested classes inherited from class visad.ThingImpl
ThingImpl.RemotePair
 
Field Summary
 Delaunay Delan
           
(package private)  int[] newToOld
          maps sorted samples indices to old samples indices
(package private)  int[] oldToNew
          maps old samples indices to sorted samples indices
 
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
IrregularSet(MathType type, float[][] samples)
          construct an IrregularSet
IrregularSet(MathType type, float[][] samples, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
          construct an IrregularSet with non-default CoordinateSystem
IrregularSet(MathType type, float[][] samples, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, Delaunay delan)
          construct an IrregularSet with non-default CoordinateSystem and non-default Delaunay
IrregularSet(MathType type, float[][] samples, Delaunay delan)
          construct an IrregularSet with non-default Delaunay
IrregularSet(MathType type, float[][] samples, int manifold_dimension, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, Delaunay delan)
          construct an IrregularSet with ManifoldDimension != DomainDimension, with non-default CoordinateSystem, and with non-default Delaunay
IrregularSet(MathType type, float[][] samples, int manifold_dimension, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, Delaunay delan, boolean copy)
           
 
Method Summary
 Object clone()
          Clones this instance.
 Object cloneButType(MathType type)
          Clones this set -- changing the MathType.
 boolean equals(Object set)
          test for equality
 void getNeighbors(int[][] neighbors)
          Returns the indexes of neighboring samples for all samples.
 float[][] indexToValue(int[] index)
          convert an array of 1-D indices to an array of values in R^DomainDimension
 String longString(String pre)
           
 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 no interpolation is possible
 
Methods inherited from class visad.SampledSet
computeRanges, computeRanges, cram_missing, cram_samples, getHi, getLow, getNeighbors, getSamples, getSamples, init_samples, init_samples, isMissing, 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, getSetErrors, getSetUnits, getWedge, indexToDouble, longString, main, make2DGeometry, makeIsoLines, makeIsoSurface, makeSpatial, 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, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.SetIface
doubleToIndex, equalUnitAndCS, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getManifoldDimension, getNeighbors, getSetErrors, getSetUnits, getWedge, indexToDouble, make2DGeometry, makeIsoLines, makeIsoSurface, makeSpatial, 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

Delan

public Delaunay Delan

oldToNew

int[] oldToNew
maps old samples indices to sorted samples indices


newToOld

int[] newToOld
maps sorted samples indices to old samples indices

Constructor Detail

IrregularSet

public IrregularSet(MathType type,
                    float[][] samples)
             throws VisADException
construct an IrregularSet


IrregularSet

public IrregularSet(MathType type,
                    float[][] samples,
                    CoordinateSystem coord_sys,
                    Unit[] units,
                    ErrorEstimate[] errors)
             throws VisADException
construct an IrregularSet with non-default CoordinateSystem


IrregularSet

public IrregularSet(MathType type,
                    float[][] samples,
                    Delaunay delan)
             throws VisADException
construct an IrregularSet with non-default Delaunay


IrregularSet

public IrregularSet(MathType type,
                    float[][] samples,
                    CoordinateSystem coord_sys,
                    Unit[] units,
                    ErrorEstimate[] errors,
                    Delaunay delan)
             throws VisADException
construct an IrregularSet with non-default CoordinateSystem and non-default Delaunay


IrregularSet

public IrregularSet(MathType type,
                    float[][] samples,
                    int manifold_dimension,
                    CoordinateSystem coord_sys,
                    Unit[] units,
                    ErrorEstimate[] errors,
                    Delaunay delan)
             throws VisADException
construct an IrregularSet with ManifoldDimension != DomainDimension, with non-default CoordinateSystem, and with non-default Delaunay


IrregularSet

public IrregularSet(MathType type,
                    float[][] samples,
                    int manifold_dimension,
                    CoordinateSystem coord_sys,
                    Unit[] units,
                    ErrorEstimate[] errors,
                    Delaunay delan,
                    boolean copy)
             throws VisADException
Method Detail

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 no interpolation is possible

Specified by:
valueToInterp in interface SimpleSetIface
Specified by:
valueToInterp in class SimpleSet
Throws:
VisADException

getNeighbors

public void getNeighbors(int[][] neighbors)
                  throws VisADException
Returns the indexes of neighboring samples for all samples.

Specified by:
getNeighbors in interface SetIface
Overrides:
getNeighbors in class Set
Parameters:
neighbors - The indexes of the neighboring points. On input, neighbors.length must be greater than or equal to getLength(). On output, neighbors[i][j] will be the index of the jth neighboring sample of sample i.
Throws:
VisADException - if a VisAD failure occurs.

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

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

longString

public String longString(String pre)
                  throws VisADException
Specified by:
longString in interface Data
Overrides:
longString in class Set
Throws:
VisADException