Class MultiPointForm
java.lang.Object
uk.ac.starlink.ttools.plot2.layer.MultiPointForm
- All Implemented Interfaces:
ModePlotter.Form
,ShapeForm
- Direct Known Subclasses:
CartesianMultiPointForm
,SkyMultiPointForm
ShapeForm implementation that draws shapes based on a single main
position, and a number of additional positions supplied as
extra
coordinates.
The extra coordinates required (defining one or more non-central
data positions) are defined by a supplied MultiPointCoordSet
and those coordinates are then plotted by a corresponding
MultiPointShape
.- Since:
- 18 Feb 2013
- Author:
- Mark Taylor
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Size of longest/characteristic shape in pixels when autoscaled. -
Constructor Summary
ConstructorsConstructorDescriptionMultiPointForm
(String name, Icon icon, String description, MultiPointCoordSet extraCoordSet, MultiPointConfigKey shapeKey, ConfigKey<Double> scaleKey, ConfigKey<?>[] otherKeys) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionadjustGeom
(DataGeom geom, DataSpec dataSpec, ShapeStyle style) Provides a DataGeom to be used by the layer this form makes, given a DataGeom that characterises the plotting environment.createOutliner
(ConfigMap config) Returns an object which will do the work of drawing shapes when supplied with the appropriate style information and data.protected abstract MultiPointReader
createReader
(ConfigMap config) Returns an object that can read shapes for use by this form.createThicknessKey
(MultiPointConfigKey shapeKey) Creates a config key for line thickness to be used with MultiPointShapes.int
Returns the number of basic data positions per tuple used by this form.ConfigKey<?>[]
Returns style configuration keys specific to this form.static String
getDefaultScalingDescription
(String shapename) Returns XML text suitable for inclusion in a MultiPointForm description explaining how the scaling of marker sizes is controlled.Coord[]
Returns data coordinates additional to the basic position which are required to plot a point.int
Returns the number of extra coordinates that can be interpreted as positions.static int
getExtrasCoordIndex
(DataGeom geom) Returns the column index in a tuple sequence at which the extra (multi-point) coordinates start.Returns a description of this mode as an XML string.Returns an icon to identify this form in the GUI.Returns the user-directed name for this form.
-
Field Details
-
AUTOSCALE_PIXELS
public static final int AUTOSCALE_PIXELSSize of longest/characteristic shape in pixels when autoscaled.- See Also:
-
-
Constructor Details
-
MultiPointForm
public MultiPointForm(String name, Icon icon, String description, MultiPointCoordSet extraCoordSet, MultiPointConfigKey shapeKey, ConfigKey<Double> scaleKey, ConfigKey<?>[] otherKeys) Constructor.- Parameters:
name
- shapeform nameicon
- shapeform icondescription
- XML descriptionextraCoordSet
- defines the extra positional coordinates used to plot multipoint shapesshapeKey
- config key for the shape; provides option to vary the shape, but any shape specified by it must be expecting data corresponding to theextraCoordSet
parameterscaleKey
- config key for scaling graphical display, or null if no scaling is availableotherKeys
- additional config keys
-
-
Method Details
-
createReader
Returns an object that can read shapes for use by this form.- Parameters:
config
- configuration options- Returns:
- reader
-
getBasicPositionCount
public int getBasicPositionCount()Description copied from interface:ShapeForm
Returns the number of basic data positions per tuple used by this form.- Specified by:
getBasicPositionCount
in interfaceShapeForm
- Returns:
- number of basic sets of positional coordinates
-
getFormName
Description copied from interface:ModePlotter.Form
Returns the user-directed name for this form.- Specified by:
getFormName
in interfaceModePlotter.Form
- Returns:
- form name
-
getFormIcon
Description copied from interface:ModePlotter.Form
Returns an icon to identify this form in the GUI.- Specified by:
getFormIcon
in interfaceModePlotter.Form
- Returns:
- form icon
-
getFormDescription
Description copied from interface:ShapeForm
Returns a description of this mode as an XML string. The return value should be one or more <p> elements.- Specified by:
getFormDescription
in interfaceShapeForm
- Returns:
- XML description of form
-
getExtraCoords
Description copied from interface:ShapeForm
Returns data coordinates additional to the basic position which are required to plot a point.- Specified by:
getExtraCoords
in interfaceShapeForm
- Returns:
- additional plot coordinates
-
getExtraPositionCount
public int getExtraPositionCount()Description copied from interface:ShapeForm
Returns the number of extra coordinates that can be interpreted as positions.- Specified by:
getExtraPositionCount
in interfaceShapeForm
- Returns:
- number of positional extra coordinates
-
adjustGeom
Description copied from interface:ShapeForm
Provides a DataGeom to be used by the layer this form makes, given a DataGeom that characterises the plotting environment. The output should be similar to the input, for instance implementing the same plotType-specific DataGeom subtype.In most cases the supplied DataGeom instance can be returned unchanged, but instances with special requirements may want to adjust how the data is interpreted.
- Specified by:
adjustGeom
in interfaceShapeForm
- Parameters:
geom
- context geomdataSpec
- data specification with which the geom will be usedstyle
- style with which the geom will be used- Returns:
- geom to use for data interpretation, the same or similar to the input
-
getConfigKeys
Description copied from interface:ShapeForm
Returns style configuration keys specific to this form. These keys will be used in the config map supplied toShapeForm.createOutliner(uk.ac.starlink.ttools.plot2.config.ConfigMap)
.- Specified by:
getConfigKeys
in interfaceShapeForm
- Returns:
- config keys
-
createOutliner
Description copied from interface:ShapeForm
Returns an object which will do the work of drawing shapes when supplied with the appropriate style information and data. The significant keys in the supplied config map are those given byShapeForm.getConfigKeys()
.- Specified by:
createOutliner
in interfaceShapeForm
- Parameters:
config
- configuration map from which values for this form's config keys will be extracted- Returns:
- new outliner object
-
getDefaultScalingDescription
Returns XML text suitable for inclusion in a MultiPointForm description explaining how the scaling of marker sizes is controlled.- Parameters:
shapename
- human-readable name of the shape being plotted by this form- Returns:
- description text <p> element
-
createThicknessKey
Creates a config key for line thickness to be used with MultiPointShapes.- Parameters:
shapeKey
- configured shape to which this relates- Returns:
- key for line thickness
-
getExtrasCoordIndex
Returns the column index in a tuple sequence at which the extra (multi-point) coordinates start.- Parameters:
geom
- data position geometry- Returns:
- first non-central position coordinate index (others follow contiguously)
-