public interface Plotter<S extends Style>
A Plotter also acts as part of an identifier for the type of plot being performed, which is necessary for determining PlotLayer equality; two PlotLayers are equivalent if they match in point of DataSpec, Style and Plotter.
Modifier and Type | Method and Description |
---|---|
PlotLayer |
createLayer(DataGeom pointDataGeom,
DataSpec dataSpec,
S style)
Creates a PlotLayer based on the given geometry, data and style.
|
S |
createStyle(ConfigMap config)
Creates a style that can be used when creating a plot layer.
|
CoordGroup |
getCoordGroup()
Returns an object describing which data coordinates are used for
this plotter and how they are arranged in supplied DataSpec objects.
|
java.lang.String |
getPlotterDescription()
Returns an XML description of this plotter.
|
javax.swing.Icon |
getPlotterIcon()
Returns an icon for this plotter for use in user interface.
|
java.lang.String |
getPlotterName()
Returns the name of this plotter for use in user interface.
|
ConfigKey[] |
getStyleKeys()
Returns the configuration keys used to configure style for this plotter.
|
boolean |
hasReports()
Indicates whether the drawings produced by this plotter will
return general interest report information to upstream plotting code.
|
java.lang.String getPlotterName()
javax.swing.Icon getPlotterIcon()
java.lang.String getPlotterDescription()
Note: really this should appear at the LayerType level.
CoordGroup getCoordGroup()
ConfigKey[] getStyleKeys()
createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap)
method.S createStyle(ConfigMap config) throws ConfigException
getStyleKeys()
.
The return value can be used as input to createLayer(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.DataSpec, S)
.config
- map of style configuration itemsConfigException
boolean hasReports()
Drawing.getReport(java.lang.Object)
PlotLayer createLayer(DataGeom pointDataGeom, DataSpec dataSpec, S style)
The style
parameter is the result of a call to
createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap)
.
The dataSpec
parameter must contain the coordinates
defined by this plotter's CoordGroup.
The pointDataGeom
parameter is only used if
getCoordGroup()
.
getPositionCount
returns a non-zero value,
otherwise the plot does not have point positions.
It is legal to supply null for any of the parameters; if insufficient data is supplied to generate a plot, then the method should return null.
Creating a layer should be cheap; layers may be created and not used.
pointDataGeom
- indicates base position coordinates and their
mapping to points in the data space;
if non-null, the data geom's
DataGeom.hasPosition()
method will return truedataSpec
- specifies the data required for the plotstyle
- data style as obtained from createStyle
Copyright © 2017 Central Laboratory of the Research Councils. All Rights Reserved.