# Interface ShapeForm

All Superinterfaces:
  `ModePlotter.Form`

All Known Implementing Classes:
  `AreaForm, CartesianMultiPointForm, CentralForm, ErrorArrayForm, HandleArrayForm, LineArrayForm, MarkArrayForm, MarkForm, MultiPointForm, PairLinkForm, SizeForm, SizeXyForm, SkyMultiPointForm`

public interface ShapeForm extends ModePlotter.Form
Plotter Form sub-interface for use with ShapeMode. This defines the shape of data points plotted, which may be influenced by data other than the actual point position(s), for instance error bar sizes.

Since:
  18 Feb 2013
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`DataGeom`
`adjustGeom(DataGeom baseGeom, DataSpec dataSpec, ShapeStyle style)`
Provides a DataGeom to be used by the layer this form makes, given a DataGeom that characterises the plotting environment.
`Outliner`
`createOutliner(ConfigMap config)`
Returns an object which will do the work of drawing shapes when supplied with the appropriate style information and data.
`int`
`getBasicPositionCount()`
Returns the number of basic data positions per tuple used by this form.
`ConfigKey<?>[]`
`getConfigKeys()`
Returns style configuration keys specific to this form.
`Coord[]`
`getExtraCoords()`
Returns data coordinates additional to the basic position which are required to plot a point.
`int`
`getExtraPositionCount()`
Returns the number of extra coordinates that can be interpreted as positions.
`String`
`getFormDescription()`
Returns a description of this mode as an XML string.

### Methods inherited from interface ModePlotter.Form

`getFormIcon, getFormName`

## Method Details

### getFormDescription

String getFormDescription()
Returns a description of this mode as an XML string. The return value should be one or more <p> elements.

Returns:
  XML description of form

### getBasicPositionCount

int getBasicPositionCount()
Returns the number of basic data positions per tuple used by this form.

Returns:
  number of basic sets of positional coordinates

### getExtraCoords

Coord[] getExtraCoords()
Returns data coordinates additional to the basic position which are required to plot a point.

Returns:
  additional plot coordinates

### getExtraPositionCount

int getExtraPositionCount()
Returns the number of extra coordinates that can be interpreted as positions.

Returns:
  number of positional extra coordinates

### getConfigKeys

ConfigKey<?>[] getConfigKeys()
Returns style configuration keys specific to this form. These keys will be used in the config map supplied to `createOutliner(ConfigMap)`.

Returns:
  config keys

### createOutliner

Outliner createOutliner(ConfigMap config)
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 by `getConfigKeys()`.

Parameters:
  `config` - configuration map from which values for this form's config keys will be extracted
Returns:
  new outliner object

### adjustGeom

DataGeom adjustGeom(DataGeom baseGeom, DataSpec dataSpec, ShapeStyle style)
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.

Parameters:
  `baseGeom` - context geom
  `dataSpec` - data specification with which the geom will be used
  `style` - style with which the geom will be used
Returns:
  geom to use for data interpretation, the same or similar to the input