|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.ttools.plot2.layer.AbstractPlotter<ShapeStyle>
uk.ac.starlink.ttools.plot2.layer.ShapePlotter
public class ShapePlotter
Plotter that plots shapes at each data point. This is pretty flexible, and forms the basis for most of the plot types available.
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.
Nested Class Summary | |
---|---|
static class |
ShapePlotter.ShapeModePlotter
ShapePlotter subclass which additionally implements the ModePlotter interface. |
Constructor Summary | |
---|---|
ShapePlotter(String name,
ShapeForm form,
ShapeMode mode)
Constructor. |
Method Summary | |
---|---|
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. |
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, hasReports |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ShapePlotter(String name, ShapeForm form, ShapeMode mode)
name
- plotter nameform
- shape determinermode
- colour determinerMethod Detail |
---|
public 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 items
public 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 description
public static ShapePlotter.ShapeModePlotter[] createShapePlotters(ShapeForm[] forms, ShapeMode[] modes)
ShapePlotter.ShapeModePlotter
interface,
other parts of the UI may be able to group them.
forms
- array of shape formsmodes
- array of shape modes
forms.length*modes.length
-element array of plotterspublic static ShapePlotter createFlat2dPlotter(ShapeForm form)
ShapePlotter.ShapeModePlotter
, so will not be
ganged together with other ShapePlotters.
form
- shape form
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |