Package uk.ac.starlink.topcat.plot2

## Class TableCloud

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

-     public abstract class TableCloud
      extends java.lang.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

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    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 Detail

    - #### 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 Detail

    - #### 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