public class ArrayShapePlotter extends ShapePlotter
This plotter does not report positions and point clouds in the usual way, since each row typically corresponds to a large region of the plot surface, and reporting a single point is not very helpful. Instead, the PlotLayers it supplies are doctored to adjust the coordinate ranges to cover the whole of the relevant area for the plotted rows.
ModePlotter.Form, ModePlotter.Mode
Constructor and Description |
---|
ArrayShapePlotter(String name,
ShapeForm form,
ShapeMode mode)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static ArrayShapePlotter[] |
createArrayShapePlotters(ShapeForm[] forms,
ShapeMode[] modes)
Creates an array of ArrayShapePlotters, using all combinations of the
specified list of ShapeForms and ShapeModes.
|
PlotLayer |
createLayer(DataGeom pointDataGeom,
DataSpec dataSpec,
ShapeStyle style)
Creates a PlotLayer based on the given geometry, data and style.
|
static java.util.function.Function<Tuple,XYArrayData> |
createXYArrayReader(FloatingArrayCoord xsCoord,
FloatingArrayCoord ysCoord,
int icXs,
int icYs,
DataSpec dataSpec)
Returns a reader for matched X/Y array data for use with array plotters.
|
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.
|
static boolean |
matchesAxis(String axName,
Input input)
Utility method that identifies whether an Input corresponds to a
named axis.
|
createFlat2dPlotter, createShapePlotters, createStyle, getForm, getMode, getPlotterDescription, getStyleKeys
getCoordGroup, getPlotterIcon, getPlotterName, getRangeStyleKey, hasReports
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getCoordGroup, getPlotterIcon, getPlotterName, getRangeStyleKey, hasReports
public int getModeCoordsIndex(DataGeom geom)
ShapePlotter
getModeCoordsIndex
in class ShapePlotter
geom
- data position coordinate descriptionpublic PlotLayer createLayer(DataGeom pointDataGeom, 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 the
CoordGroup.getBasicPositionCount()
or
CoordGroup.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.
createLayer
in interface Plotter<ShapeStyle>
createLayer
in class ShapePlotter
pointDataGeom
- indicates base position coordinates and their
mapping to points in the data spacedataSpec
- specifies the data required for the plotstyle
- data style as obtained from createStyle
public static ArrayShapePlotter[] createArrayShapePlotters(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 boolean matchesAxis(String axName, Input input)
axName
- geometric axis name, e.g. "X"input
- coordinate input specificationpublic static java.util.function.Function<Tuple,XYArrayData> createXYArrayReader(FloatingArrayCoord xsCoord, FloatingArrayCoord ysCoord, int icXs, int icYs, DataSpec dataSpec)
xsCoord
- coordinate for X arrayysCoord
- coordinate for Y arrayicXs
- X array coordinate index in groupicYs
- Y array coordinate index in groupdataSpec
- data specificationCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.