uk.ac.starlink.ttools.plot2.geom
Class PlaneDataGeom

java.lang.Object
  extended by uk.ac.starlink.ttools.plot2.geom.PlaneDataGeom
All Implemented Interfaces:
DataGeom

public class PlaneDataGeom
extends Object
implements DataGeom

Defines positional data coordinates used by a 2-D Cartesian plot. Singleton class.

Since:
19 Feb 2013
Author:
Mark Taylor

Field Summary
static PlaneDataGeom INSTANCE
          Singleton instance.
static FloatingCoord X_COORD
          Horizontal coordinate.
static FloatingCoord Y_COORD
          Vertical coordinate.
 
Method Summary
 int getDataDimCount()
          Returns 2.
 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 ic, double[] dpos)
          Determines the positional coordinates in data space for the current row of a supplied tuple sequence.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

X_COORD

public static final FloatingCoord X_COORD
Horizontal coordinate.


Y_COORD

public static final FloatingCoord Y_COORD
Vertical coordinate.


INSTANCE

public static PlaneDataGeom INSTANCE
Singleton instance.

Method Detail

getDataDimCount

public int getDataDimCount()
Returns 2.

Specified by:
getDataDimCount in interface DataGeom
Returns:
number of elements in data space coordinate array

hasPosition

public boolean hasPosition()
Description copied from interface: DataGeom
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.

Specified by:
hasPosition in interface DataGeom
Returns:
true iff this geom represents point positions

getVariantName

public String getVariantName()
Description copied from interface: DataGeom
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.

Specified by:
getVariantName in interface DataGeom
Returns:
user-directed input coordinate type name

getPosCoords

public Coord[] getPosCoords()
Description copied from interface: DataGeom
Returns the definitions for the user-supplied coordinates that indicate plot positions.

Specified by:
getPosCoords in interface DataGeom
Returns:
coordinate quantity array for this geometry

readDataPos

public boolean readDataPos(TupleSequence tseq,
                           int ic,
                           double[] dpos)
Description copied from interface: DataGeom
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 DataGeom.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) DataGeom.getDataDimCount() elements is supplied, and on success the data space coordinate values of the row of interest is written into it.

Specified by:
readDataPos in interface DataGeom
Parameters:
tseq - coordinate row sequence, positioned at the row of interest
ic - 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


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