uk.ac.starlink.ttools.plot2
Interface DataGeom

All Known Implementing Classes:
CubeDataGeom, PlaneDataGeom, SkyDataGeom, SliceDataGeom, SphereDataGeom, TimeDataGeom

@Equality
public interface DataGeom

Translates the coordinates found in a TupleSequence to data space coordinates. It also contains metadata about the coordinates to assist in generating a UI to acquire them.

Since:
11 Feb 2013
Author:
Mark Taylor

Method Summary
 int getDataDimCount()
          Returns the dimensionality of the plot surface's plot space.
 Coord[] getPosCoords()
          Returns the definitions for the user-supplied coordinates that indicate plot positions.
 String getVariantName()
          Returns a label for this DataGeom.
 boolean hasPosition()
          Indicates whether the values read by the readDataPos method correspond to a point position in the data space.
 boolean readDataPos(TupleSequence tseq, int icol, double[] dpos)
          Determines the positional coordinates in data space for the current row of a supplied tuple sequence.
 

Method Detail

getDataDimCount

int getDataDimCount()
Returns the dimensionality of the plot surface's plot space.

Returns:
number of elements in data space coordinate array

getPosCoords

Coord[] getPosCoords()
Returns the definitions for the user-supplied coordinates that indicate plot positions.

Returns:
coordinate quantity array for this geometry

hasPosition

boolean hasPosition()
Indicates whether the values read by the readDataPos method correspond to a point position in the data space. If true, a successful read will result in a position array with a definite value for each coordinate. If false, some of the coordinates may be NaN. A false return value would be appropriate for instance if each tuple row for the plot layer represented by this geom corresponds to a line rather than a point in the data space.

Returns:
true iff this geom represents point positions

readDataPos

boolean readDataPos(TupleSequence tseq,
                    int icol,
                    double[] dpos)
Determines the positional coordinates in data space for the current row of a supplied tuple sequence.

A parameter supplies the index of the column in the tuple at which the positional coordinate(s) can be found. Each position is represented by getPosCoords() columns of the tuple. By convention positions are at the start of the tuple, so if there is one position in the tuple it will be at icol=0, and there are multiple positions the N'th one will be at icol=N*getPosCoords().

An array of (at least) getDataDimCount() elements is supplied, and on success the data space coordinate values of the row of interest is written into it.

Parameters:
tseq - coordinate row sequence, positioned at the row of interest
icol - column index in tseq at which the positional information starts
dpos - array into which data space coordinates are written
Returns:
true iff conversion was successful

getVariantName

String getVariantName()
Returns a label for this DataGeom. It may be used to distinguish from other geoms used in the same plot type, so for instance call it "Cartesian" or "Polar" rather than "Plane" if it's X,Y.

Returns:
user-directed input coordinate type name


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.