# Class CartesianMultiPointForm

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.MultiPointForm
uk.ac.starlink.ttools.plot2.layer.CartesianMultiPointForm

All Implemented Interfaces:
  `ModePlotter.Form, ShapeForm`

public class CartesianMultiPointForm extends MultiPointForm
MultiPointForm for use with Cartesian coordinates.

Since:
  8 Feb 2023
Author:
  Mark Taylor

## Field Summary

### Fields inherited from class MultiPointForm

`AUTOSCALE_PIXELS`

## Constructor Summary

Constructors
Constructor
Description
`CartesianMultiPointForm(String name, Icon icon, String description, CartesianMultiPointCoordSet extraCoordSet, MultiPointConfigKey shapeKey, boolean canScale)`
Constructs a new MultiPointForm with scaling in one of two default configurations, depending on the value of the supplied canScale parameter.

## Method Summary

Modifier and Type
Method
Description
`static MultiPointForm`
`createErrorForm(String name, CartesianMultiPointCoordSet extraCoordSet, MultiPointConfigKey shapeKey)`
Returns a MultiPointForm for drawing error bars.
`protected MultiPointReader`
`createReader(ConfigMap config)`
Returns an object that can read shapes for use by this form.
`static MultiPointForm`
`createVectorForm(String name, CartesianMultiPointCoordSet extraCoordSet, boolean canScale)`
Returns a MultiPointForm instance for drawing arrows from the central position to another position.

### Methods inherited from class MultiPointForm

`adjustGeom, createOutliner, createThicknessKey, getBasicPositionCount, getConfigKeys, getDefaultScalingDescription, getExtraCoords, getExtraPositionCount, getExtrasCoordIndex, getFormDescription, getFormIcon, getFormName`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CartesianMultiPointForm

public CartesianMultiPointForm(String name, Icon icon, String description, CartesianMultiPointCoordSet extraCoordSet, MultiPointConfigKey shapeKey, boolean canScale)
Constructs a new MultiPointForm with scaling in one of two default configurations, depending on the value of the supplied canScale parameter. If true, then the StyleKeys SCALE and AUTOSCALE keys are used to configure scaling, and if false, no scaling is provided.

Parameters:
  `name` - shapeform name
  `icon` - shapeform icon
  `description` - XML description
  `extraCoordSet` - defines the extra positional coordinates used to plot multipoint shapes
  `shapeKey` - config key for the shape; provides option to vary the shape, but any shape specified by it must be expecting data corresponding to the `extraCoordSet` parameter
  `canScale` - true for standard scaling configuration, false for no scaling

## Method Details

### createReader

protected MultiPointReader createReader(ConfigMap config)
Description copied from class: `MultiPointForm`
Returns an object that can read shapes for use by this form.

Specified by:
  `createReader` in class `MultiPointForm`
Parameters:
  `config` - configuration options
Returns:
  reader

### createErrorForm

public static MultiPointForm createErrorForm(String name, CartesianMultiPointCoordSet extraCoordSet, MultiPointConfigKey shapeKey)
Returns a MultiPointForm for drawing error bars.

Parameters:
  `name` - form name
  `extraCoordSet` - coord set specifying error bar position endpoints
  `shapeKey` - config key for specifying multipoint shape
Returns:
  new error form instance

### createVectorForm

public static MultiPointForm createVectorForm(String name, CartesianMultiPointCoordSet extraCoordSet, boolean canScale)
Returns a MultiPointForm instance for drawing arrows from the central position to another position.

Parameters:
  `name` - form name
  `extraCoordSet` - nDataDim-element coord set that defines one extra data position, the (unscaled) endpoint of the vector
  `canScale` - whether to offer vector size scaling
Returns:
  new vector form instance