|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object visad.CoordinateSystem
public abstract class CoordinateSystem
CoordinateSystem is the VisAD abstract superclass for coordinate systems for vectors in R^n for n>0. Specific coordinate systems are defined by extending this class and providing coordinate transformation logic in the toReference and fromReference methods.
CoordinateSystem objects should be immutable.
Constructor Summary | |
---|---|
CoordinateSystem(RealTupleType reference,
Unit[] units)
Constructs from the type of the reference coordinate system and units for values in this coordinate system. |
Method Summary | |
---|---|
static boolean |
canConvert(RealTupleType out,
CoordinateSystem coord_out,
RealTupleType in,
CoordinateSystem coord_in)
Check to see if a conversion can be done between values of one RealTupleType and another given the CoordinateSystems supplied. |
abstract boolean |
equals(Object cs)
Indicates whether or not this instance is equal to an object (note must test for cs == null). |
abstract double[][] |
fromReference(double[][] value)
Convert RealTuple values from Reference coordinates; for efficiency, input and output values are passed as double[][] arrays rather than RealTuple[] arrays; the array organization is double[tuple_dimension][number_of_tuples]; can modify and return argument array. |
double[][] |
fromReference(double[][] value,
Unit[] units)
Convert values in Units specified to this CoordinateSystem's Units. |
float[][] |
fromReference(float[][] value)
Convert RealTuple values from Reference coordinates; for efficiency, input and output values are passed as float[][] arrays rather than RealTuple[] arrays; the array organization is float[tuple_dimension][number_of_tuples]; can modify and return argument array. |
float[][] |
fromReference(float[][] value,
Unit[] units)
Convert values in Units specified to this CoordinateSystem's Units. |
Unit[] |
getCoordinateSystemUnits()
Return the Units for this CoordinateSystem. |
int |
getDimension()
Return the number of components in the reference RealTupleType. |
RealTupleType |
getReference()
Return the reference RealTupleType for this CoordinateSystem. |
Unit[] |
getReferenceUnits()
Return the Units for this CoordinateSystem's reference RealTupleType. |
abstract double[][] |
toReference(double[][] value)
Convert RealTuple values to Reference coordinates; for efficiency, input and output values are passed as double[][] arrays rather than RealTuple[] arrays; the array organization is double[tuple_dimension][number_of_tuples]; can modify and return argument array. |
double[][] |
toReference(double[][] value,
Unit[] units)
Convert values in Units specified to Reference coordinates. |
float[][] |
toReference(float[][] value)
Convert RealTuple values to Reference coordinates; for efficiency, input and output values are passed as float[][] arrays rather than RealTuple[] arrays; the array organization is float[tuple_dimension][number_of_tuples]; can modify and return argument array. |
float[][] |
toReference(float[][] value,
Unit[] units)
Convert values in Units specified to Reference coordinates. |
static double[][] |
transformCoordinates(RealTupleType out,
CoordinateSystem coord_out,
Unit[] units_out,
ErrorEstimate[] errors_out,
RealTupleType in,
CoordinateSystem coord_in,
Unit[] units_in,
ErrorEstimate[] errors_in,
double[][] value)
Transforms double-valued coordinates between two RealTupleType s. |
static double[][] |
transformCoordinates(RealTupleType out,
CoordinateSystem coord_out,
Unit[] units_out,
ErrorEstimate[] errors_out,
RealTupleType in,
CoordinateSystem coord_in,
Unit[] units_in,
ErrorEstimate[] errors_in,
double[][] value,
boolean copy)
Transforms double-valued coordinates between two RealTupleType s. |
static float[][] |
transformCoordinates(RealTupleType out,
CoordinateSystem coord_out,
Unit[] units_out,
ErrorEstimate[] errors_out,
RealTupleType in,
CoordinateSystem coord_in,
Unit[] units_in,
ErrorEstimate[] errors_in,
float[][] value)
Transforms float-valued coordinates between two RealTupleType s. |
static float[][] |
transformCoordinates(RealTupleType out,
CoordinateSystem coord_out,
Unit[] units_out,
ErrorEstimate[] errors_out,
RealTupleType in,
CoordinateSystem coord_in,
Unit[] units_in,
ErrorEstimate[] errors_in,
float[][] value,
boolean copy)
Transforms float-valued coordinates between two RealTupleType s. |
static double[][] |
transformCoordinatesFreeUnits(RealTupleType out,
CoordinateSystem coord_out,
Unit[] units_out,
ErrorEstimate[] errors_out,
RealTupleType in,
CoordinateSystem coord_in,
Unit[] units_in,
ErrorEstimate[] errors_in,
double[][] value)
Transforms double-valued coordinates between two RealTupleType s. |
static float[][] |
transformCoordinatesFreeUnits(RealTupleType out,
CoordinateSystem coord_out,
Unit[] units_out,
ErrorEstimate[] errors_out,
RealTupleType in,
CoordinateSystem coord_in,
Unit[] units_in,
ErrorEstimate[] errors_in,
float[][] value)
Transforms float-valued coordinates between two RealTupleType s. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CoordinateSystem(RealTupleType reference, Unit[] units) throws VisADException
reference
- The type of the reference coordinate
system. Numeric values in the reference
coordinate system shall be in units of
reference.getDefaultUnits()
unless specified otherwise.units
- The default units for this coordinate system.
Numeric values in this coordinate system shall
be in units of units
unless
specified otherwise. May be null
or an array of null
s.
VisADException
- Couldn't create necessary VisAD object.Method Detail |
---|
public RealTupleType getReference()
public int getDimension()
public Unit[] getReferenceUnits()
toReference(double[][])
.
public Unit[] getCoordinateSystemUnits()
toReference(double[][])
method.
public abstract double[][] toReference(double[][] value) throws VisADException
value
- array of values assumed to be in coordinateSystem
units. Input array is not guaranteed to be immutable
and could be used for return.
VisADException
- if problem with conversion.public abstract double[][] fromReference(double[][] value) throws VisADException
value
- array of values assumed to be in reference
Units. Input array is not guaranteed to be immutable
and could be used for return.
VisADException
- if problem with conversion.public float[][] toReference(float[][] value) throws VisADException
toReference(double[][])
and then returns that converted
double array back as a float array. For efficiency, subclasses
should override this implementation.
value
- array of values assumed to be in coordinateSystem
units. Input array is not guaranteed to be immutable
and could be used for return.
VisADException
- if problem with conversion.public float[][] fromReference(float[][] value) throws VisADException
toReference(double[][])
and then returns that converted
double array back as a float array. For efficiency, subclasses
should override this implementation.
value
- array of values assumed to be in reference
Units. Input array is not guaranteed to be immutable
and could be used for return.
VisADException
- if problem with conversion.public static boolean canConvert(RealTupleType out, CoordinateSystem coord_out, RealTupleType in, CoordinateSystem coord_in)
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.
public static double[][] transformCoordinates(RealTupleType out, CoordinateSystem coord_out, Unit[] units_out, ErrorEstimate[] errors_out, RealTupleType in, CoordinateSystem coord_in, Unit[] units_in, ErrorEstimate[] errors_in, double[][] value) throws VisADException
Transforms double-valued coordinates between two RealTupleType
s.
Unit conversion is always performed even if no coordinate transformation
is done.
This implementation uses transformCoordinatesFreeUnits(visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], double[][])
to do
most of the transformation.
If both RealTupleType
s have a reference coordinate system, then
this implementation always transforms the input domain values by
first transforming them according to the input reference coordinate system
and then inverse transforming them according to the output reference
coordinate system -- even if the input and output RealTupleType
s
are equal.
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_out
- The output units.errors_out
- The output error estimates or null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_in
- The input units or null
.errors_in
- The input error estimates or null
.value
- The input coordinate values. value[i][j]
is the j
-th sample of the
i
-th component. The values might
be modified upon return from this method.
VisADException
- if a VisAD failure occurs.
NullPointerException
- if units_out
is
null
.public static double[][] transformCoordinates(RealTupleType out, CoordinateSystem coord_out, Unit[] units_out, ErrorEstimate[] errors_out, RealTupleType in, CoordinateSystem coord_in, Unit[] units_in, ErrorEstimate[] errors_in, double[][] value, boolean copy) throws VisADException
Transforms double-valued coordinates between two RealTupleType
s.
Unit conversion is always performed even if no coordinate transformation
is done.
This implementation uses transformCoordinatesFreeUnits(visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], double[][])
to do
most of the transformation.
If both RealTupleType
s have a reference coordinate system, then
this implementation always transforms the input domain values by
first transforming them according to the input reference coordinate system
and then inverse transforming them according to the output reference
coordinate system -- even if the input and output RealTupleType
s
are equal.
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_out
- The output units.errors_out
- The output error estimates or null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_in
- The input units or null
.errors_in
- The input error estimates or null
.value
- The input coordinate values. value[i][j]
is the j
-th sample of the
i
-th component. The values might
be modified upon return from this method.copy
- if false, the underlying value
array
transformations may be done in place.
VisADException
- if a VisAD failure occurs.
NullPointerException
- if units_out
is
null
.public static double[][] transformCoordinatesFreeUnits(RealTupleType out, CoordinateSystem coord_out, Unit[] units_out, ErrorEstimate[] errors_out, RealTupleType in, CoordinateSystem coord_in, Unit[] units_in, ErrorEstimate[] errors_in, double[][] value) throws VisADException
Transforms double-valued coordinates between two RealTupleType
s.
This is just like transformCoordinates(visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], double[][])
, except that final Unit
conversion to units_out
is not done; rather,
units_out[i]
is set to the final Unit
of
value[i]
.
If both RealTupleType
s have a reference coordinate system, then
this implementation always transforms the input domain values by
first transforming them according to the input reference coordinate system
and then inverse transforming them according to the output reference
coordinate system -- even if the input and output RealTupleType
s
are equal.
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_out
- The output units or null
.errors_out
- The output error estimates or null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_in
- The input units or null
.errors_in
- The input error estimates or null
.value
- The input coordinate values. value[i][j]
is the j
-th sample of the
i
-th component.
VisADException
- if a VisAD failure occurs.public static float[][] transformCoordinates(RealTupleType out, CoordinateSystem coord_out, Unit[] units_out, ErrorEstimate[] errors_out, RealTupleType in, CoordinateSystem coord_in, Unit[] units_in, ErrorEstimate[] errors_in, float[][] value) throws VisADException
Transforms float-valued coordinates between two RealTupleType
s.
Unit conversion is always performed even if no coordinate transformation
is done.
This implementation uses transformCoordinatesFreeUnits(visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], double[][])
to do
most of the transformation.
If both RealTupleType
s have a reference coordinate system, then
this implementation always transforms the input domain values by
first transforming them according to the input reference coordinate system
and then inverse transforming them according to the output reference
coordinate system -- even if the input and output RealTupleType
s
are equal.
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_out
- The output units.errors_out
- The output error estimates or null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_in
- The input units or null
.errors_in
- The input error estimates or null
.value
- The input coordinate values. value[i][j]
is the j
-th sample of the
i
-th component. The values might
be modified upon return from this method.
VisADException
- if a VisAD failure occurs.
NullPointerException
- if units_out
is
null
.public static float[][] transformCoordinates(RealTupleType out, CoordinateSystem coord_out, Unit[] units_out, ErrorEstimate[] errors_out, RealTupleType in, CoordinateSystem coord_in, Unit[] units_in, ErrorEstimate[] errors_in, float[][] value, boolean copy) throws VisADException
Transforms float-valued coordinates between two RealTupleType
s.
Unit conversion is always performed even if no coordinate transformation
is done.
This implementation uses transformCoordinatesFreeUnits(visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], double[][])
to do
most of the transformation.
If both RealTupleType
s have a reference coordinate system, then
this implementation always transforms the input domain values by
first transforming them according to the input reference coordinate system
and then inverse transforming them according to the output reference
coordinate system -- even if the input and output RealTupleType
s
are equal.
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_out
- The output units.errors_out
- The output error estimates or null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_in
- The input units or null
.errors_in
- The input error estimates or null
.value
- The input coordinate values. value[i][j]
is the j
-th sample of the
i
-th component. The values might
be modified upon return from this method.copy
- if false, the underlying value
array
transformations may be done in place.
VisADException
- if a VisAD failure occurs.
NullPointerException
- if units_out
is
null
.public static float[][] transformCoordinatesFreeUnits(RealTupleType out, CoordinateSystem coord_out, Unit[] units_out, ErrorEstimate[] errors_out, RealTupleType in, CoordinateSystem coord_in, Unit[] units_in, ErrorEstimate[] errors_in, float[][] value) throws VisADException
Transforms float-valued coordinates between two RealTupleType
s.
This is just like transformCoordinates(visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], visad.RealTupleType, visad.CoordinateSystem, visad.Unit[], visad.ErrorEstimate[], double[][])
, except that final Unit
conversion to units_out
is not done; rather,
units_out[i]
is set to the final Unit
of
value[i]
.
If both RealTupleType
s have a reference coordinate system, then
this implementation always transforms the input domain values by
first transforming them according to the input reference coordinate system
and then inverse transforming them according to the output reference
coordinate system -- even if the input and output RealTupleType
s
are equal.
out
- The output RealTupleType
.coord_out
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_out
- The output units or null
.errors_out
- The output error estimates or null
.in
- The input RealTupleType
.coord_in
- The coordinate system transformation associated
with the output RealTupleType
or
null
.units_in
- The input units or null
.errors_in
- The input error estimates or null
.value
- The input coordinate values. value[i][j]
is the j
-th sample of the
i
-th component.
VisADException
- if a VisAD failure occurs.public double[][] toReference(double[][] value, Unit[] units) throws VisADException
value
- array of values assumed to be in the Units
specified or CoordinateSystem units if null.units
- Units of input values. If non-null, input values
are converted to CoordinateSystem Units (if they
are non-null) before calling
toReference(double[][])
.
VisADException
- if problem with conversion.public float[][] toReference(float[][] value, Unit[] units) throws VisADException
value
- array of values assumed to be in the Units
specified or CoordinateSystem units if null.units
- Units of input values. If non-null, input values
are converted to CoordinateSystem Units (if they
are non-null) before calling
toReference(float[][])
.
VisADException
- if problem with conversion.public double[][] fromReference(double[][] value, Unit[] units) throws VisADException
value
- array of values assumed to be in the Units
specified or Reference units if null.units
- Units of input values. If non-null, input values
are converted to Reference Units (if they
are non-null) before calling
fromReference(double[][])
.
VisADException
- if problem with conversion.public float[][] fromReference(float[][] value, Unit[] units) throws VisADException
value
- array of values assumed to be in the Units
specified or Reference units if null.units
- Units of input values. If non-null, input values
are converted to Reference Units (if they
are non-null) before calling
fromReference(float[][])
.
VisADException
- if problem with conversion.public abstract boolean equals(Object cs)
equals
in class Object
cs
- the object in question.
true
if and only if this instance equals cs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |