Package uk.ac.starlink.topcat.plot2

# Class TableCloud

java.lang.Object
uk.ac.starlink.topcat.plot2.TableCloud

public abstract class TableCloud extends Object
Point cloud representation for coordinates in a single table. A TableCloud may aggregate SubClouds which are the same except that they may represent different row subsets (row masks). Each reference to a given point (a given table row) will only appear in a TableCloud once. When iterating over the points, no guarantee is given about the order in which they appear.

Since:
  27 Jan 2014
Author:
  Mark Taylor

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`TableCloud(uk.ac.starlink.ttools.plot2.DataGeom geom, TopcatModel tcModel, int iPosCoord)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static TableCloud[]`
`createTableClouds(uk.ac.starlink.ttools.plot2.SubCloud[] subClouds)`
Returns a list of TableClouds from a given list of SubClouds.
`abstract uk.ac.starlink.ttools.plot2.data.TupleSequence`
`createTupleSequence(uk.ac.starlink.ttools.plot2.data.DataStore dataStore)`
Returns a sequence of tuples that will iterate over this cloud's points.
`uk.ac.starlink.ttools.plot2.DataGeom`
`getDataGeom()`
Returns this point cloud's data geom.
`abstract GuiCoordContent`
`getGuiCoordContent(int jPosCoord)`
Returns the available information about the user data specification for the positional coordinates represented by this cloud.
`int`
`getPosCoordIndex()`
Returns the position in tuples at which position coordinates are found.
`abstract long`
`getReadRowCount()`
Returns the number of times that read will be called on the dataStore for created tuple sequences.
`abstract RowSubset[]`
`getRowSubsets()`
Returns an array of subsets indicating the union of subsets represented by this cloud.
`TopcatModel`
`getTopcatModel()`
Returns the table in which this point cloud's points are found.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TableCloud

protected TableCloud(uk.ac.starlink.ttools.plot2.DataGeom geom, TopcatModel tcModel, int iPosCoord)
Constructor.

Parameters:
  `geom` - converts coords to data positions
  `tcModel` - table in which these points occur
  `iPosCoord` - start position in tuple for position coordinates

## Method Details

### getDataGeom

public uk.ac.starlink.ttools.plot2.DataGeom getDataGeom()
Returns this point cloud's data geom.

Returns:
  data geom

### getTopcatModel

public TopcatModel getTopcatModel()
Returns the table in which this point cloud's points are found.

Returns:
  data source

### getPosCoordIndex

public int getPosCoordIndex()
Returns the position in tuples at which position coordinates are found.

Returns:
  position coord index

### getReadRowCount

public abstract long getReadRowCount()
Returns the number of times that read will be called on the dataStore for created tuple sequences. This is used for progress updates. Note it is not (necessarily) the number of tuples in created tuple sequences.

Returns:
  total number of calls to base dataStore tupleSequence.next() generated by the result of `createTupleSequence`

### getRowSubsets

public abstract RowSubset[] getRowSubsets()
Returns an array of subsets indicating the union of subsets represented by this cloud.

Returns:
  array of contributing subsets

### getGuiCoordContent

public abstract GuiCoordContent getGuiCoordContent(int jPosCoord)
Returns the available information about the user data specification for the positional coordinates represented by this cloud.

Parameters:
  `jPosCoord` - offset into position coordinates (0 is first)
Returns:
  user data specification

### createTupleSequence

public abstract uk.ac.starlink.ttools.plot2.data.TupleSequence createTupleSequence(uk.ac.starlink.ttools.plot2.data.DataStore dataStore)
Returns a sequence of tuples that will iterate over this cloud's points.

Parameters:
  `dataStore` - data storage
Returns:
  iterator over data tuples

### createTableClouds

public static TableCloud[] createTableClouds(uk.ac.starlink.ttools.plot2.SubCloud[] subClouds)
Returns a list of TableClouds from a given list of SubClouds. This collects together subclouds corresponding to each set of position coordinates. The returned array taken together will contain each included position only once (the union of included subsets).

Parameters:
  `subClouds` - point clouds by subset
Returns:
  aggregated point clouds