visad
Class RealTuple

java.lang.Object
  extended by visad.ThingImpl
      extended by visad.DataImpl
          extended by visad.Tuple
              extended by visad.RealTuple
All Implemented Interfaces:
Serializable, Cloneable, Data, RealTupleIface, Thing, TupleIface
Direct Known Subclasses:
DoubleTuple, EarthLocationLite, EarthLocationTuple, LatLonTuple, UTMCoordinate

public class RealTuple
extends Tuple
implements RealTupleIface

RealTuple is the VisAD data class for vectors in R^n for n>0. RealTuple objects are immutable.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class visad.DataImpl
DataImpl.Syncher
 
Field Summary
 
Fields inherited from class visad.Tuple
cloneCnt
 
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
RealTuple(Real[] reals)
          construct a RealTuple according to an array of Real objects
RealTuple(RealTupleType type)
          construct a RealTuple object with the missing value
RealTuple(RealTupleType type, double[] values)
          Construct a RealTuple according to a RealTupleType and a double array
RealTuple(RealTupleType type, Real[] reals, CoordinateSystem coord_sys)
          construct a RealTuple according to an array of Real objects; coordinate_system may be null; otherwise coordinate_system.getReference() must equal type.getCoordinateSystem.getReference()
RealTuple(RealTupleType type, Real[] reals, CoordinateSystem coord_sys, Unit[] units, boolean checkUnits)
          Construct a RealTuple according to an array of Real objects; coordinate_system may be null; otherwise coordinate_system.getReference() must equal type.getCoordinateSystem.getReference()
 
Method Summary
 void addReference(ThingReference listener)
          Adds a listener for changes to this instance.
 Data binary(Data data, int op, MathType new_type, int sampling_mode, int error_mode)
          Pointwise binary operation between this and data.
 Object clone()
          Clones this instance.
 DataShadow computeRanges(ShadowType type, DataShadow shadow)
          Recursive version of computeRanges(), called down through Data object tree.
 CoordinateSystem getCoordinateSystem()
          get CoordinateSystem
 ErrorEstimate[] getErrors()
          get ErrorEstimates of Real components
 Unit[] getTupleUnits()
          get Units of Real components
 double[] getValues()
          Get the values of the Real components
 String longString(String pre)
           
static void main(String[] args)
          run 'java visad.RealTuple' to test the RealTuple class
 void removeReference(ThingReference listener)
          Removes a listener for changes to this instance.
 String toString()
          Provide a String representation of this RealTuple.
 Data unary(int op, MathType new_type, int sampling_mode, int error_mode)
          Pointwise unary operation applied to this.
 
Methods inherited from class visad.Tuple
__getitem__, __len__, adjustSamplingError, buildTupleType, equals, getComponent, getComponents, getComponents, getDimension, getLength, getRealComponents, hashCode, isMissing, makeTuple
 
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, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, 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, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.TupleIface
adjustSamplingError, getComponent, getDimension, getRealComponents, isMissing
 
Methods inherited from interface visad.Data
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, 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
 

Constructor Detail

RealTuple

public RealTuple(RealTupleType type)
construct a RealTuple object with the missing value

Parameters:
type - RealTupleType of this RealTuple

RealTuple

public RealTuple(RealTupleType type,
                 Real[] reals,
                 CoordinateSystem coord_sys)
          throws VisADException,
                 RemoteException
construct a RealTuple according to an array of Real objects; coordinate_system may be null; otherwise coordinate_system.getReference() must equal type.getCoordinateSystem.getReference()

Parameters:
type - RealTupleType of this RealTuple
reals - array of reals
coord_sys - CoordinateSystem for this RealTuple
Throws:
VisADException
RemoteException

RealTuple

public RealTuple(RealTupleType type,
                 Real[] reals,
                 CoordinateSystem coord_sys,
                 Unit[] units,
                 boolean checkUnits)
          throws VisADException,
                 RemoteException
Construct a RealTuple according to an array of Real objects; coordinate_system may be null; otherwise coordinate_system.getReference() must equal type.getCoordinateSystem.getReference()

Parameters:
type - RealTupleType of this RealTuple
reals - array of reals
coord_sys - CoordinateSystem for this RealTuple
units - array of Units corresponding to the array of Reals.
checkUnits - true to make sure the units of the Reals are convertible with the RealType units. NB: setting this to false can cause problems if the units are not convertible. Only do this if you know what you are doing.
Throws:
VisADException
RemoteException

RealTuple

public RealTuple(Real[] reals)
          throws VisADException,
                 RemoteException
construct a RealTuple according to an array of Real objects

Parameters:
reals - array of reals
Throws:
VisADException
RemoteException

RealTuple

public RealTuple(RealTupleType type,
                 double[] values)
          throws VisADException,
                 RemoteException
Construct a RealTuple according to a RealTupleType and a double array

Parameters:
type - RealTupleType of this RealTuple
values - values for each component. Units are the default units of the RealTupleType components.
Throws:
VisADException
RemoteException
Method Detail

addReference

public final void addReference(ThingReference listener)
Adds a listener for changes to this instance. Because instances of this class don't change, this method does nothing.

Specified by:
addReference in interface Thing
Overrides:
addReference in class ThingImpl
Parameters:
listener - The listener for changes.

removeReference

public final void removeReference(ThingReference listener)
Removes a listener for changes to this instance. Because instances of this class don't change, this method does nothing.

Specified by:
removeReference in interface Thing
Overrides:
removeReference in class ThingImpl
Parameters:
listener - The change listener to be removed.

getValues

public double[] getValues()
Get the values of the Real components

Specified by:
getValues in interface RealTupleIface
Returns:
double array of the values of each Real component

getTupleUnits

public Unit[] getTupleUnits()
get Units of Real components

Specified by:
getTupleUnits in interface RealTupleIface
Returns:
The units of the components.

getErrors

public ErrorEstimate[] getErrors()
                          throws VisADException,
                                 RemoteException
get ErrorEstimates of Real components

Specified by:
getErrors in interface RealTupleIface
Returns:
The uncertainties of the components.
Throws:
VisADException - VisAD failure.
RemoteException - Java RMI failure.

getCoordinateSystem

public CoordinateSystem getCoordinateSystem()
get CoordinateSystem

Specified by:
getCoordinateSystem in interface RealTupleIface
Returns:
The coordinate system transformation. May be null.

binary

public Data binary(Data data,
                   int op,
                   MathType new_type,
                   int sampling_mode,
                   int error_mode)
            throws VisADException,
                   RemoteException
Description copied from class: DataImpl
Pointwise binary operation between this and data. Applies to Reals, Tuples (recursively to components), and to Field ranges (Field domains implicitly resampled if necessary). Does not apply to Field domains or Sets (regarded as domains of Fields wthout ranges). Data.ADD is only op defined for Text, interpreted as concatenate. MathTypes of this and data must match, or one may match the range of the other if it is a FunctionType.

Specified by:
binary in interface Data
Specified by:
binary in interface TupleIface
Overrides:
binary in class Tuple
Parameters:
data - other Data operand for binary operation
op - may be Data.ADD, Data.SUBTRACT, etc; these include all binary operations defined for Java primitive data types
new_type - MathType of the result
sampling_mode - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
error_mode - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
Returns:
result, with MathType = new_type
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

unary

public Data unary(int op,
                  MathType new_type,
                  int sampling_mode,
                  int error_mode)
           throws VisADException,
                  RemoteException
Description copied from class: DataImpl
Pointwise unary operation applied to this. Applies to Reals, Tuples (recursively to components), and to Field ranges (Field domains implicitly resampled if necessary). Does not apply to Field domains, Sets (regarded as domains of Fields wthout ranges) or Text.

Specified by:
unary in interface Data
Specified by:
unary in interface TupleIface
Overrides:
unary in class Tuple
Parameters:
op - may be Data.ABS, Data.ACOS, etc; these include all unary operations defined for Java primitive data types
new_type - MathType of the result
sampling_mode - may be Data.NEAREST_NEIGHBOR or Data.WEIGHTED_AVERAGE
error_mode - may be Data.INDEPENDENT, Data.DEPENDENT or Data.NO_ERRORS;
Returns:
result, with MathType = new_type
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

computeRanges

public DataShadow computeRanges(ShadowType type,
                                DataShadow shadow)
                         throws VisADException,
                                RemoteException
Description copied from interface: Data
Recursive version of computeRanges(), called down through Data object tree.

Specified by:
computeRanges in interface Data
Specified by:
computeRanges in interface TupleIface
Overrides:
computeRanges in class Tuple
Parameters:
type - ShadowType generated for MathType of this
shadow - DataShadow instance whose contained double[][] array and animation sampling Set are modified according to RealType values in this, and used as return value
Returns:
DataShadow instance containing double[][] array of RealType ranges, and an animation sampling Set
Throws:
VisADException - a VisAD error occurred
RemoteException - an RMI error occurred

clone

public final Object clone()
Clones this instance.

Specified by:
clone in interface RealTupleIface
Overrides:
clone in class Tuple
Returns:
A clone of this instance.

toString

public String toString()
Provide a String representation of this RealTuple.

Specified by:
toString in interface RealTupleIface
Overrides:
toString in class DataImpl
Returns:
a String representation of this

longString

public String longString(String pre)
                  throws VisADException,
                         RemoteException
Specified by:
longString in interface Data
Specified by:
longString in interface TupleIface
Overrides:
longString in class Tuple
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
RemoteException

main

public static void main(String[] args)
                 throws VisADException,
                        RemoteException
run 'java visad.RealTuple' to test the RealTuple class

Throws:
VisADException
RemoteException