public class ShapePlotter extends AbstractPlotter<ShapeStyle>
The shape plotted at each point is determined by the ShapeForm
and may be fixed (by Style) or parameterised by some other data coordinates.
The colouring for each shape may be fixed (by Style), or influenced by
additional data coordinates and/or by the number of points plotted in
the same place (though the latter may also be implemented by the
PaperType).
The clever stuff is all in the ShapeForm and ShapeMode implementations. This class just combines the characteristics of the two.
Modifier and Type | Class and Description |
---|---|
static class |
ShapePlotter.ShapeModePlotter
ShapePlotter subclass which additionally implements the ModePlotter
interface.
|
Constructor and Description |
---|
ShapePlotter(java.lang.String name,
ShapeForm form,
ShapeMode mode)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static ShapePlotter |
createFlat2dPlotter(ShapeForm form)
Creates a single ShapePlotter using mode flat.
|
PlotLayer |
createLayer(DataGeom geom,
DataSpec dataSpec,
ShapeStyle style)
Creates a PlotLayer based on the given geometry, data and style.
|
static ShapePlotter.ShapeModePlotter[] |
createShapePlotters(ShapeForm[] forms,
ShapeMode[] modes)
Creates an array of ShapeModePlotters, using all combinations of the
specified list of ShapeForms and ShapeModes.
|
ShapeStyle |
createStyle(ConfigMap config)
Creates a style that can be used when creating a plot layer.
|
int |
getModeCoordsIndex(DataGeom geom)
Returns the index into a dataspec used by this plotter at which the
first of its ShapeMode's "extra" coordinates is found.
|
java.lang.String |
getPlotterDescription()
Returns an XML description of this plotter.
|
ConfigKey[] |
getStyleKeys()
Returns the configuration keys used to configure style for this plotter.
|
getCoordGroup, getPlotterIcon, getPlotterName, hasReports
public java.lang.String getPlotterDescription()
Plotter
Note: really this should appear at the LayerType level.
public ConfigKey[] getStyleKeys()
Plotter
Plotter.createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap)
method.public ShapeStyle createStyle(ConfigMap config)
Plotter
Plotter.getStyleKeys()
.
The return value can be used as input to Plotter.createLayer(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.DataSpec, S)
.config
- map of style configuration itemspublic PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, ShapeStyle style)
Plotter
The style
parameter is the result of a call to
Plotter.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.
geom
- 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
public int getModeCoordsIndex(DataGeom geom)
geom
- data position coordinate descriptionpublic static ShapePlotter.ShapeModePlotter[] createShapePlotters(ShapeForm[] forms, ShapeMode[] modes)
ModePlotter
interface,
other parts of the UI may be able to group them.forms
- array of shape formsmodes
- array of shape modesforms.length*modes.length
-element array of plotterspublic static ShapePlotter createFlat2dPlotter(ShapeForm form)
ModePlotter
, so will not be
ganged together with other ShapePlotters.form
- shape formCopyright © 2017 Central Laboratory of the Research Councils. All Rights Reserved.