# Interface PlotContent<P,A>

public interface PlotContent<P,A>
Encapsulates all the information gathered by the TOPCAT GUI about a plot that needs to be painted. An instance of this class is gathered by `StackPlotWindow` and passed to `PlotPanel`.

Since:
  18 Aug 2023
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`uk.ac.starlink.ttools.plot2.Ganger<P,A>`
`getGanger()`
Returns the ganger used for this plot.
`uk.ac.starlink.ttools.plot2.config.ConfigMap`
`getGlobalConfig()`
Returns global configuration for the plot.
`TopcatLayer[]`
`getLayers()`
Returns an array of TopcatLayers that specify what will be plotted on each zone.
`PlotPosition`
`getPlotPosition()`
Returns the plot positioning object.
`uk.ac.starlink.ttools.plot2.ShadeAxisKit[]`
`getShadeAxisKits()`
Returns an array of aux axis kits.
`uk.ac.starlink.ttools.plot2.config.ConfigMap[]`
`getShadeConfigs()`
Returns aux shade axis configuration items.
`uk.ac.starlink.ttools.plot2.config.ConfigMap[]`
`getTrimmingConfigs()`
Returns trimming configuration items.
`uk.ac.starlink.ttools.plot2.Trimming[]`
`getTrimmings()`
Returns an array of plot decoration objects.
`ZoneController<P,A>[]`
`getZoneControllers()`
Returns an array of zone control GUI components, one per plotted zone.

## Method Details

### getGanger

uk.ac.starlink.ttools.plot2.Ganger<P,A> getGanger()
Returns the ganger used for this plot.

Returns:
  ganger

### getPlotPosition

PlotPosition getPlotPosition()
Returns the plot positioning object.

Returns:
  plot position

### getGlobalConfig

uk.ac.starlink.ttools.plot2.config.ConfigMap getGlobalConfig()
Returns global configuration for the plot. Per-zone information may be acquired from the `getConfig` method of the relevant ZoneController.

Note that much of this information will be redundant with the other items specified here, but it may be required for reconstructing the instructions that led to this zone definition.

Returns:
  global plot configuration items

### getTrimmingConfigs

uk.ac.starlink.ttools.plot2.config.ConfigMap[] getTrimmingConfigs()
Returns trimming configuration items.

Returns:
  nzone- or 1-element array of configuration maps

### getShadeConfigs

uk.ac.starlink.ttools.plot2.config.ConfigMap[] getShadeConfigs()
Returns aux shade axis configuration items.

Returns:
  nzone- or 1-element array of configuration maps

### getZoneControllers

ZoneController<P,A>[] getZoneControllers()
Returns an array of zone control GUI components, one per plotted zone. The length of the array must be `Ganger.getZoneCount()`.

Returns:
  nzone-element array of zone controllers

### getLayers

TopcatLayer[] getLayers()
Returns an array of TopcatLayers that specify what will be plotted on each zone. The `TopcatLayer.getPlotLayers()` method of the returned objects must all return nzone-element arrays.

Returns:
  array of layer content objects

### getTrimmings

uk.ac.starlink.ttools.plot2.Trimming[] getTrimmings()
Returns an array of plot decoration objects. This can be either an nzone-element array giving per-zone decorations, or a 1-element array giving global decorations, according to the result of `Ganger.isTrimmingGlobal()`.

Returns:
  nzone- or 1-element array of trimmings

### getShadeAxisKits

uk.ac.starlink.ttools.plot2.ShadeAxisKit[] getShadeAxisKits()
Returns an array of aux axis kits. This can be either an nzone-element array giving per-zone shade kits, or a 1-element array giving a global shade kit, according to the result of `Ganger.isShadingGlobal()`. Elements may be null if no aux axis is present.

Returns:
  nzone- or 1-element array of aux axis specifications