Class SpotPlotter
- java.lang.Object
-
- uk.ac.starlink.ttools.plot2.layer.AbstractPlotter<SpotPlotter.SpotStyle>
-
- uk.ac.starlink.ttools.plot2.layer.SpotPlotter
-
- All Implemented Interfaces:
Plotter<SpotPlotter.SpotStyle>
public class SpotPlotter extends AbstractPlotter<SpotPlotter.SpotStyle>
Fairly minimal example plotter implementation. It paints a fixed-size marker, for which the only style configuration option is colour. Admittedly, it's not all that simple.This implements most of the required interfaces more or less from scratch to show what's going on. Reusing infrastructure from some other existing plotters (e.g. subclassing
ShapeForm
) may be more sensible where appropriate.- Since:
- 17 Feb 2013
- Author:
- Mark Taylor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SpotPlotter.SpotLayerType
LayerType corresponding to SpotPlotter.static class
SpotPlotter.SpotStyle
Style implementation for spots.
-
Constructor Summary
Constructors Constructor Description SpotPlotter()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PlotLayer
createLayer(DataGeom geom, DataSpec dataSpec, SpotPlotter.SpotStyle style)
Creates a PlotLayer based on the given geometry, data and style.SpotPlotter.SpotStyle
createStyle(ConfigMap config)
Creates a style that can be used when creating a plot layer.java.lang.String
getPlotterDescription()
Returns an XML description of this plotter.ConfigKey<?>[]
getStyleKeys()
Returns the configuration keys used to configure style for this plotter.-
Methods inherited from class uk.ac.starlink.ttools.plot2.layer.AbstractPlotter
getCoordGroup, getPlotterIcon, getPlotterName, getRangeStyleKey, hasReports
-
-
-
-
Method Detail
-
getPlotterDescription
public java.lang.String getPlotterDescription()
Description copied from interface:Plotter
Returns an XML description of this plotter.Note: really this should appear at the LayerType level.
- Returns:
- one or more <p> elements
-
getStyleKeys
public ConfigKey<?>[] getStyleKeys()
Description copied from interface:Plotter
Returns the configuration keys used to configure style for this plotter. The keys in the return value are used in the map supplied to thePlotter.createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap)
method.- Returns:
- keys used when creating a style for this plotter.
-
createStyle
public SpotPlotter.SpotStyle createStyle(ConfigMap config)
Description copied from interface:Plotter
Creates a style that can be used when creating a plot layer. The keys that are significant in the supplied config map are those returned byPlotter.getStyleKeys()
. The return value can be used as input toPlotter.createLayer(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.DataSpec, S)
.- Parameters:
config
- map of style configuration items- Returns:
- plotter-specific plot style
-
createLayer
public PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, SpotPlotter.SpotStyle style)
Description copied from interface:Plotter
Creates a PlotLayer based on the given geometry, data and style.The
style
parameter is the result of a call toPlotter.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 theCoordGroup.getBasicPositionCount()
orCoordGroup.getExtraPositionCount()
method from this plotter's CoordGroup return 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.
- Parameters:
geom
- indicates base position coordinates and their mapping to points in the data spacedataSpec
- specifies the data required for the plotstyle
- data style as obtained fromcreateStyle
- Returns:
- new plot layer, or null if no drawing will take place
-
-