visad
Class FieldImpl

java.lang.Object
  extended by visad.ThingImpl
      extended by visad.DataImpl
          extended by visad.FunctionImpl
              extended by visad.FieldImpl
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Data, Field, Function, Thing
Direct Known Subclasses:
FileField, FlatField, ImageSequenceImpl

public class FieldImpl
extends FunctionImpl
implements Field

FieldImpl is the VisAD class for finite samplings of functions from R^n to a range type, where n>0. The DomainSet, DomainUnits and DomainCoordinateSystem variables of FieldImpl are immutable.

A FieldImpl domain type may be either a RealType (for a function with domain = R) or a RealTupleType (for a function with domain = R^n for n > 0).

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
FieldImpl(FunctionType type)
          construct a FieldImpl from type; use default Set of FunctionType domain; initial values are missing
FieldImpl(FunctionType type, Set set)
          Constructs from the type of function and a set of domain points.
 
Method Summary
 Data __getitem__(int index)
          A wrapper around getSample for JPython.
 int __len__()
          A wrapper around getLength for JPython.
 void __setitem__(int index, Data data)
          A wrapper around setSample for JPython.
 void __setitem__(int index, double data)
          A wrapper around setSample for JPython.
 Data adjustSamplingError(Data error, int error_mode)
          return a Field that clones this, except its ErrorEstimate-s are adjusted for sampling errors in error
 Data binary(Data data, int op, MathType new_type, int sampling_mode, int error_mode)
          return new Field with value 'this op data'; test for various relations between types of this and data
 java.lang.Object clone()
          Clones this instance.
static Field combine(Field[] fields)
          resample all elements of the fields array to the domain set of fields[0], then return a Field whose range samples are Tuples merging the corresponding range samples from each element of fields; if the range of fields[i] is a Tuple without a RangeCoordinateSystem, then each Tuple component of a range sample of fields[i] becomes a Tuple component of a range sample of the result - otherwise a range sample of fields[i] becomes a Tuple component of a range sample of the result; this assumes all elements of the fields array have the same domain dimension; use default sampling_mode (Data.NEAREST_NEIGHBOR) and default error_mode (Data.NO_ERRORS)
static Field combine(Field[] fields, int sampling_mode, int error_mode)
          resample all elements of the fields array to the domain set of fields[0], then return a Field whose range samples are Tuples merging the corresponding range samples from each element of fields; if the range of fields[i] is a Tuple without a RangeCoordinateSystem, then each Tuple component of a range sample of fields[i] becomes a Tuple component of a range sample of the result - otherwise a range sample of fields[i] becomes a Tuple component of a range sample of the result; this assumes all elements of the fields array have the same domain dimension
 DataShadow computeRanges(ShadowType type, DataShadow shadow)
          recursive version of computeRanges; would like 'default' visibility here, but must be declared 'public' because it is defined in the Data interface
 Data derivative(int error_mode)
          return the tuple of derivatives of this Function with respect to all RealType components of its domain RealTuple; propogate errors according to error_mode
 Data derivative(MathType[] derivType_s, int error_mode)
          return the tuple of derivatives of this Function with respect to all RealType components of its domain RealTuple; set result MathTypes of tuple components to derivType_s; propogate errors according to error_mode
 Data derivative(RealTuple location, RealType[] d_partial_s, MathType[] derivType_s, int error_mode)
          return the tuple of derivatives of this Function with respect to the RealTypes in d_partial_s; the RealTypes in d_partial_s may occur in this Function's domain RealTupleType, or, if the domain has a CoordinateSystem, in its Reference RealTupleType; set result MathTypes of tuple components to derivType_s; propogate errors according to error_mode
 Function derivative(RealType d_partial, int error_mode)
          return the derivative of this Function with respect to d_partial; d_partial may occur in this Function's domain RealTupleType, or, if the domain has a CoordinateSystem, in its Reference RealTupleType; propogate errors according to error_mode
 Function derivative(RealType d_partial, MathType derivType, int error_mode)
          return the derivative of this Function with respect to d_partial; set result MathType to derivType; d_partial may occur in this Function's domain RealTupleType, or, if the domain has a CoordinateSystem, in its Reference RealTupleType; propogate errors according to error_mode
 java.util.Enumeration domainEnumeration()
           Here's how to use this: for (Enumeration e = field.domainEnumeration() ; e.hasMoreElements(); ) { RealTuple domain_sample = (RealTuple) e.nextElement(); Data range = field.evaluate(domain_sample); }
 Field domainFactor(RealType factor)
          Factors this instance into a (nested) field-of-fields.
 Field domainMultiply()
          combine domains of two outermost nested Fields into a single domain and Field
 Field domainMultiply(int collapse_depth)
          combine domains to collapse_depth, if possible
 boolean equals(java.lang.Object obj)
           
 Field extract(int component)
          extract field from this[].component
 Field extract(MathType type)
          extract Field from this.component using the MathType of one of the range componenets
 Field extract(java.lang.String name)
          extract Field from this.component using the name of one of the range componenets
 Unit[] getDefaultRangeUnits()
          get default range Unit-s for 'Flat' components
 CoordinateSystem getDomainCoordinateSystem()
          Get the CoordinateSystem associated with the domain RealTuple
 Set getDomainSet()
          Returns the domain-set of this instance.
 Unit[] getDomainUnits()
          Returns the units of the values in the domain set.
 float[][] getFloats()
          invokes getFloats(true)
 float[][] getFloats(boolean copy)
          get range values for 'Flat' components in their default range Units (as defined by the range of this FieldImpl's FunctionType); the return array is dimensioned float[number_of_range_components][number_of_range_samples]; copy is ignored for FieldImpl
 int getLength()
          get number of samples
 CoordinateSystem[] getRangeCoordinateSystem()
          return range CoordinateSystem assuming range type is a RealTupleType (throws a TypeException if its not); this may differ from default CoordinateSystem of range RealTupleType, but must be convertable; the index enumerates samples since Units may differ between samples
 CoordinateSystem[] getRangeCoordinateSystem(int component)
          get range CoordinateSystem for 'RealTuple' components; second index enumerates samples
 Unit[][] getRangeUnits()
          return array of Units associated with each RealType component of range; these may differ from default Units of range RealTypes, but must be convertable; the second index enumerates samples since Units may differ between samples
 Data getSample(int index)
          Get the range value at the index-th sample.
 Data getSample(int index, boolean metadataOnly)
          Get the metadata for the range value at the index-th sample.
 java.lang.String[][] getStringValues()
          get range values for Text components; the return array is dimensioned double[number_of_range_components][number_of_range_samples]
 double[][] getValues()
          invokes getValues(true)
 double[][] getValues(boolean copy)
          get range values for 'Flat' components in their default range Units (as defined by the range of this FieldImpl's FunctionType); the return array is dimensioned double[number_of_range_components][number_of_range_samples]; copy is ignored for FieldImpl
 boolean isFlatField()
          return true if this a FlatField or a RemoteField adapting a FlatField
 boolean isMissing()
          test whether Field value is missing
 java.lang.String longString(java.lang.String pre)
          generates a longer string than generated by toString, indented by pre (a string of blanks)
 Field resample(Set set, int sampling_mode, int error_mode)
          Resample range values of this Field to domain samples in set either byt nearest neighbor or multi-linear interpolation.
 void setSample(int index, Data range)
          set the range value at the index-th sample
 void setSample(int index, Data range, boolean copy)
          set the range value at the index-th sample
 void setSample(RealTuple domain, Data range)
          set the range value at the sample nearest to domain
 void setSample(RealTuple domain, Data range, boolean copy)
          set the range value at the sample nearest to domain
 void setSamples(Data[] range, boolean copy)
          set the range samples of the function; the order of range samples must be the same as the order of domain indices in the DomainSet; copy range objects if copy is true; should use same MathType object in each Data object in range array
 void setSamples(double[][] range)
          set range array as range values of this FieldImpl; this must have a Flat range; the array is dimensioned float[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet
 void setSamples(float[][] range)
          set range array as range values of this FieldImpl; this must have a Flat range; the array is dimensioned float[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet
 Data unary(int op, MathType new_type, int sampling_mode, int error_mode)
          return new Field with value 'op this'
 
Methods inherited from class visad.FunctionImpl
__getitem__, __getitem__, evaluate, evaluate, evaluate, evaluate, getDomainDimension, resample
 
Methods inherited from class visad.DataImpl
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __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, main, 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
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.Function
evaluate, evaluate, evaluate, evaluate, getDomainDimension, resample
 
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
 
Methods inherited from interface visad.Thing
addReference, removeReference
 

Constructor Detail

FieldImpl

public FieldImpl(FunctionType type)
          throws VisADException
construct a FieldImpl from type; use default Set of FunctionType domain; initial values are missing

Throws:
VisADException

FieldImpl

public FieldImpl(FunctionType type,
                 Set set)
          throws VisADException
Constructs from the type of function and a set of domain points.

Parameters:
type - The type of function.
set - The set of domain points. Defines the units and any coordinate system transformation for the domain of the funciton. May be null, in which case the default domain set (FunctionType.getDomain()) is used. May not be FloatSet or DoubleSet. If non-null, then must be compatible with the domain of the FunctionType.
Throws:
CoordinateSystemException - if the CoordinateSystem of the domain set is null but the CoordinateSystem of the domain of the FunctionType} is not; or if both CoordinateSystems are non-null and do not have the same reference RealTupleType.
VisADException - if a VisAD failure occurs.
Method Detail

setSamples

public void setSamples(Data[] range,
                       boolean copy)
                throws VisADException,
                       java.rmi.RemoteException
set the range samples of the function; the order of range samples must be the same as the order of domain indices in the DomainSet; copy range objects if copy is true; should use same MathType object in each Data object in range array

Specified by:
setSamples in interface Field
Throws:
VisADException
java.rmi.RemoteException

getDomainSet

public Set getDomainSet()

Returns the domain-set of this instance. The actual set is returned: it is not a copy or a clone.

Note that it is possible to simultaneously modify the domain-set of both this instance and of a clone by modifying the values in the array returned by invoking getSamples(false) on the domain-set of either this instance or the clone. Don't do this unless you enjoy debugging.

Specified by:
getDomainSet in interface Field
Returns:
The actual domain-set of this instance.

getLength

public int getLength()
get number of samples

Specified by:
getLength in interface Field

getDomainUnits

public Unit[] getDomainUnits()
Returns the units of the values in the domain set. The units may differ from the default units of the underlying MathType of the domain, but will be convertible with them.

Specified by:
getDomainUnits in interface Function
Overrides:
getDomainUnits in class FunctionImpl
Returns:
The units of the values in the domain set.

getDomainCoordinateSystem

public CoordinateSystem getDomainCoordinateSystem()
Description copied from class: FunctionImpl
Get the CoordinateSystem associated with the domain RealTuple

Specified by:
getDomainCoordinateSystem in interface Function
Overrides:
getDomainCoordinateSystem in class FunctionImpl
Returns:
CoordinateSystem of the domain

getStringValues

public java.lang.String[][] getStringValues()
                                     throws VisADException,
                                            java.rmi.RemoteException
get range values for Text components; the return array is dimensioned double[number_of_range_components][number_of_range_samples]

Specified by:
getStringValues in interface Field
Throws:
VisADException
java.rmi.RemoteException

getFloats

public float[][] getFloats()
                    throws VisADException,
                           java.rmi.RemoteException
Description copied from interface: Field
invokes getFloats(true)

Specified by:
getFloats in interface Field
Throws:
VisADException
java.rmi.RemoteException

getFloats

public float[][] getFloats(boolean copy)
                    throws VisADException,
                           java.rmi.RemoteException
get range values for 'Flat' components in their default range Units (as defined by the range of this FieldImpl's FunctionType); the return array is dimensioned float[number_of_range_components][number_of_range_samples]; copy is ignored for FieldImpl

Specified by:
getFloats in interface Field
Throws:
VisADException
java.rmi.RemoteException

getValues

public double[][] getValues()
                     throws VisADException,
                            java.rmi.RemoteException
Description copied from interface: Field
invokes getValues(true)

Specified by:
getValues in interface Field
Throws:
VisADException
java.rmi.RemoteException

getValues

public double[][] getValues(boolean copy)
                     throws VisADException,
                            java.rmi.RemoteException
get range values for 'Flat' components in their default range Units (as defined by the range of this FieldImpl's FunctionType); the return array is dimensioned double[number_of_range_components][number_of_range_samples]; copy is ignored for FieldImpl

Specified by:
getValues in interface Field
Throws:
VisADException
java.rmi.RemoteException

setSamples

public void setSamples(double[][] range)
                throws VisADException,
                       java.rmi.RemoteException
set range array as range values of this FieldImpl; this must have a Flat range; the array is dimensioned float[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet

Specified by:
setSamples in interface Field
Throws:
VisADException
java.rmi.RemoteException

setSamples

public void setSamples(float[][] range)
                throws VisADException,
                       java.rmi.RemoteException
set range array as range values of this FieldImpl; this must have a Flat range; the array is dimensioned float[number_of_range_components][number_of_range_samples]; the order of range values must be the same as the order of domain indices in the DomainSet

Specified by:
setSamples in interface Field
Throws:
VisADException
java.rmi.RemoteException

getRangeUnits

public Unit[][] getRangeUnits()
                       throws VisADException,
                              java.rmi.RemoteException
return array of Units associated with each RealType component of range; these may differ from default Units of range RealTypes, but must be convertable; the second index enumerates samples since Units may differ between samples

Specified by:
getRangeUnits in interface Field
Throws:
VisADException
java.rmi.RemoteException

getRangeCoordinateSystem

public CoordinateSystem[] getRangeCoordinateSystem()
                                            throws VisADException,
                                                   java.rmi.RemoteException
return range CoordinateSystem assuming range type is a RealTupleType (throws a TypeException if its not); this may differ from default CoordinateSystem of range RealTupleType, but must be convertable; the index enumerates samples since Units may differ between samples

Specified by:
getRangeCoordinateSystem in interface Field
Throws:
VisADException
java.rmi.RemoteException

getRangeCoordinateSystem

public CoordinateSystem[] getRangeCoordinateSystem(int component)
                                            throws VisADException,
                                                   java.rmi.RemoteException
get range CoordinateSystem for 'RealTuple' components; second index enumerates samples

Specified by:
getRangeCoordinateSystem in interface Field
Throws:
VisADException
java.rmi.RemoteException

getDefaultRangeUnits

public Unit[] getDefaultRangeUnits()
get default range Unit-s for 'Flat' components

Specified by:
getDefaultRangeUnits in interface Field

getSample

public Data getSample(int index)
               throws VisADException,
                      java.rmi.RemoteException

Get the range value at the index-th sample. The actual range value is returned -- not a copy.

This implementation uses getSample(int, boolean).

Specified by:
getSample in interface Field
Parameters:
index - index of requested range sample
Returns:
Throws:
VisADException
java.rmi.RemoteException

getSample

public Data getSample(int index,
                      boolean metadataOnly)
               throws VisADException,
                      java.rmi.RemoteException
Get the metadata for the range value at the index-th sample. If the range value is also requested, then the actual range value is returned -- not a copy.

Parameters:
index - index of requested range sample
metadataOnly - true if only the metadata is needed, false if both metadata and data are desired.
Throws:
VisADException
java.rmi.RemoteException

setSample

public void setSample(RealTuple domain,
                      Data range,
                      boolean copy)
               throws VisADException,
                      java.rmi.RemoteException
set the range value at the sample nearest to domain

Specified by:
setSample in interface Field
Throws:
VisADException
java.rmi.RemoteException

setSample

public void setSample(RealTuple domain,
                      Data range)
               throws VisADException,
                      java.rmi.RemoteException
Description copied from interface: Field
set the range value at the sample nearest to domain

Specified by:
setSample in interface Field
Throws:
VisADException
java.rmi.RemoteException

setSample

public void setSample(int index,
                      Data range)
               throws VisADException,
                      java.rmi.RemoteException
Description copied from interface: Field
set the range value at the index-th sample

Specified by:
setSample in interface Field
Throws:
VisADException
java.rmi.RemoteException

setSample

public void setSample(int index,
                      Data range,
                      boolean copy)
               throws VisADException,
                      java.rmi.RemoteException
set the range value at the index-th sample

Specified by:
setSample in interface Field
Throws:
VisADException
java.rmi.RemoteException

isMissing

public boolean isMissing()
test whether Field value is missing

Specified by:
isMissing in interface Data

binary

public Data binary(Data data,
                   int op,
                   MathType new_type,
                   int sampling_mode,
                   int error_mode)
            throws VisADException,
                   java.rmi.RemoteException
return new Field with value 'this op data'; test for various relations between types of this and data

Specified by:
binary in interface Data
Overrides:
binary in class DataImpl
Throws:
VisADException
java.rmi.RemoteException

unary

public Data unary(int op,
                  MathType new_type,
                  int sampling_mode,
                  int error_mode)
           throws VisADException,
                  java.rmi.RemoteException
return new Field with value 'op this'

Specified by:
unary in interface Data
Overrides:
unary in class DataImpl
Throws:
VisADException
java.rmi.RemoteException

combine

public static Field combine(Field[] fields)
                     throws VisADException,
                            java.rmi.RemoteException
resample all elements of the fields array to the domain set of fields[0], then return a Field whose range samples are Tuples merging the corresponding range samples from each element of fields; if the range of fields[i] is a Tuple without a RangeCoordinateSystem, then each Tuple component of a range sample of fields[i] becomes a Tuple component of a range sample of the result - otherwise a range sample of fields[i] becomes a Tuple component of a range sample of the result; this assumes all elements of the fields array have the same domain dimension; use default sampling_mode (Data.NEAREST_NEIGHBOR) and default error_mode (Data.NO_ERRORS)

Throws:
VisADException
java.rmi.RemoteException

combine

public static Field combine(Field[] fields,
                            int sampling_mode,
                            int error_mode)
                     throws VisADException,
                            java.rmi.RemoteException
resample all elements of the fields array to the domain set of fields[0], then return a Field whose range samples are Tuples merging the corresponding range samples from each element of fields; if the range of fields[i] is a Tuple without a RangeCoordinateSystem, then each Tuple component of a range sample of fields[i] becomes a Tuple component of a range sample of the result - otherwise a range sample of fields[i] becomes a Tuple component of a range sample of the result; this assumes all elements of the fields array have the same domain dimension

Throws:
VisADException
java.rmi.RemoteException

extract

public Field extract(MathType type)
              throws VisADException,
                     java.rmi.RemoteException
extract Field from this.component using the MathType of one of the range componenets

Throws:
VisADException
java.rmi.RemoteException

extract

public Field extract(java.lang.String name)
              throws VisADException,
                     java.rmi.RemoteException
extract Field from this.component using the name of one of the range componenets

Throws:
VisADException
java.rmi.RemoteException

extract

public Field extract(int component)
              throws VisADException,
                     java.rmi.RemoteException
extract field from this[].component

Specified by:
extract in interface Field
Throws:
VisADException
java.rmi.RemoteException

domainFactor

public Field domainFactor(RealType factor)
                   throws DomainException,
                          VisADException,
                          java.rmi.RemoteException
Factors this instance into a (nested) field-of-fields. The type of the domain of the outer field will be the type specified. The type of the domains of the inner fields will be the remainder of the original domain after the outer domain is factored out.

Specified by:
domainFactor in interface Field
Parameters:
factor - The type of the domain for the outer field.
Returns:
The field-of-fields realization of this instance.
Throws:
DomainException - The domain of this instance cannot be factored as requested.
VisADException - VisAD failure.
java.rmi.RemoteException - Java RMI failure.

domainMultiply

public Field domainMultiply()
                     throws VisADException,
                            java.rmi.RemoteException
combine domains of two outermost nested Fields into a single domain and Field

Specified by:
domainMultiply in interface Field
Throws:
VisADException
java.rmi.RemoteException

domainMultiply

public Field domainMultiply(int collapse_depth)
                     throws VisADException,
                            java.rmi.RemoteException
combine domains to collapse_depth, if possible

Specified by:
domainMultiply in interface Field
Throws:
VisADException
java.rmi.RemoteException

derivative

public Data derivative(RealTuple location,
                       RealType[] d_partial_s,
                       MathType[] derivType_s,
                       int error_mode)
                throws VisADException,
                       java.rmi.RemoteException
Description copied from interface: Function
return the tuple of derivatives of this Function with respect to the RealTypes in d_partial_s; the RealTypes in d_partial_s may occur in this Function's domain RealTupleType, or, if the domain has a CoordinateSystem, in its Reference RealTupleType; set result MathTypes of tuple components to derivType_s; propogate errors according to error_mode

Specified by:
derivative in interface Function
Specified by:
derivative in class FunctionImpl
Throws:
VisADException
java.rmi.RemoteException

derivative

public Data derivative(int error_mode)
                throws VisADException,
                       java.rmi.RemoteException
Description copied from interface: Function
return the tuple of derivatives of this Function with respect to all RealType components of its domain RealTuple; propogate errors according to error_mode

Specified by:
derivative in interface Function
Specified by:
derivative in class FunctionImpl
Throws:
VisADException
java.rmi.RemoteException

derivative

public Data derivative(MathType[] derivType_s,
                       int error_mode)
                throws VisADException,
                       java.rmi.RemoteException
Description copied from interface: Function
return the tuple of derivatives of this Function with respect to all RealType components of its domain RealTuple; set result MathTypes of tuple components to derivType_s; propogate errors according to error_mode

Specified by:
derivative in interface Function
Specified by:
derivative in class FunctionImpl
Throws:
VisADException
java.rmi.RemoteException

derivative

public Function derivative(RealType d_partial,
                           int error_mode)
                    throws VisADException,
                           java.rmi.RemoteException
Description copied from interface: Function
return the derivative of this Function with respect to d_partial; d_partial may occur in this Function's domain RealTupleType, or, if the domain has a CoordinateSystem, in its Reference RealTupleType; propogate errors according to error_mode

Specified by:
derivative in interface Function
Specified by:
derivative in class FunctionImpl
Throws:
VisADException
java.rmi.RemoteException

derivative

public Function derivative(RealType d_partial,
                           MathType derivType,
                           int error_mode)
                    throws VisADException,
                           java.rmi.RemoteException
Description copied from interface: Function
return the derivative of this Function with respect to d_partial; set result MathType to derivType; d_partial may occur in this Function's domain RealTupleType, or, if the domain has a CoordinateSystem, in its Reference RealTupleType; propogate errors according to error_mode

Specified by:
derivative in interface Function
Specified by:
derivative in class FunctionImpl
Throws:
VisADException
java.rmi.RemoteException

resample

public Field resample(Set set,
                      int sampling_mode,
                      int error_mode)
               throws VisADException,
                      java.rmi.RemoteException
Resample range values of this Field to domain samples in set either byt nearest neighbor or multi-linear interpolation. NOTE: this code is very similar to resample in FlatField.java

Specified by:
resample in interface Function
Specified by:
resample in class FunctionImpl
Parameters:
set - finite sampling values for the function.
sampling_mode - type of interpolation to perform (e.g., Data.WEIGHTED_AVERAGE, Data.NEAREST_NEIGHBOR)
error_mode - type of error estimation to perform (e.g., Data.INDEPENDENT, Data.DEPENDENT, Data.NO_ERRORS)
Returns:
Data object corresponding to the function value at that domain, using the sampling_mode and error_modes specified. NOTE: may return this (i.e., not a copy).
Throws:
VisADException - unable to resample function
java.rmi.RemoteException - Java RMI exception

computeRanges

public DataShadow computeRanges(ShadowType type,
                                DataShadow shadow)
                         throws VisADException,
                                java.rmi.RemoteException
Description copied from interface: Data
recursive version of computeRanges; would like 'default' visibility here, but must be declared 'public' because it is defined in the Data interface

Specified by:
computeRanges in interface Data
Throws:
VisADException
java.rmi.RemoteException

adjustSamplingError

public Data adjustSamplingError(Data error,
                                int error_mode)
                         throws VisADException,
                                java.rmi.RemoteException
return a Field that clones this, except its ErrorEstimate-s are adjusted for sampling errors in error

Specified by:
adjustSamplingError in interface Data
Overrides:
adjustSamplingError in class DataImpl
Throws:
VisADException
java.rmi.RemoteException

isFlatField

public boolean isFlatField()
Description copied from interface: Field
return true if this a FlatField or a RemoteField adapting a FlatField

Specified by:
isFlatField in interface Field

__len__

public int __len__()
            throws VisADException,
                   java.rmi.RemoteException
A wrapper around getLength for JPython.

Throws:
VisADException
java.rmi.RemoteException

__getitem__

public Data __getitem__(int index)
                 throws VisADException,
                        java.rmi.RemoteException
A wrapper around getSample for JPython.

Throws:
VisADException
java.rmi.RemoteException

__setitem__

public void __setitem__(int index,
                        Data data)
                 throws VisADException,
                        java.rmi.RemoteException
A wrapper around setSample for JPython.

Throws:
VisADException
java.rmi.RemoteException

__setitem__

public void __setitem__(int index,
                        double data)
                 throws VisADException,
                        java.rmi.RemoteException
A wrapper around setSample for JPython.

Throws:
VisADException
java.rmi.RemoteException

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException

Clones this instance. The MathType, domain Set), and {@link CoordinateSystem} are shallow copied. Each range value, however, has its clone() method invoked.

Note that it is possible to simultaneously modify the domain-set of both this instance and the clone by modifying the values in the array returned by invoking getSamples(false) on the domain-set of either this instance or the clone. Don't do this unless you enjoy debugging.

Overrides:
clone in class DataImpl
Returns:
A clone of this instance.
Throws:
java.lang.CloneNotSupportedException - if cloning isn't supported by a range-value.

longString

public java.lang.String longString(java.lang.String pre)
                            throws VisADException,
                                   java.rmi.RemoteException
Description copied from class: DataImpl
generates a longer string than generated by toString, indented by pre (a string of blanks)

Specified by:
longString in interface Data
Overrides:
longString in class DataImpl
Throws:
VisADException
java.rmi.RemoteException

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

domainEnumeration

public java.util.Enumeration domainEnumeration()
                                        throws VisADException,
                                               java.rmi.RemoteException
   Here's how to use this:

   for (Enumeration e = field.domainEnumeration() ; e.hasMoreElements(); ) {
     RealTuple domain_sample = (RealTuple) e.nextElement();
     Data range = field.evaluate(domain_sample);
   }

Specified by:
domainEnumeration in interface Field
Throws:
VisADException
java.rmi.RemoteException