# Class SizeXyForm.SizeXyOutliner

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.PixOutliner
uk.ac.starlink.ttools.plot2.layer.SizeXyForm.SizeXyOutliner

All Implemented Interfaces:
  `Outliner`

Enclosing class:
  `SizeXyForm`

public static class SizeXyForm.SizeXyOutliner extends PixOutliner
Outliner implementation for use with SizeXyForm.

Since:
  14 Jan 2015
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`SizeXyOutliner(XYShape shape, double scale, AuxScale xAutoscale, AuxScale yAutoscale, short sizeLimit)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`canPaint(DataSpec dataSpec)`
Indicates whether this outliner is willing to provide painters for a given DataSpec.
`ShapePainter`
`create2DPainter(Surface surface, DataGeom geom, DataSpec dataSpec, Map<AuxScale,Span> auxSpans, PaperType2D paperType)`
Creates a ShapePainter object for plotting onto 2-dimensional surfaces.
`ShapePainter`
`create3DPainter(CubeSurface surface, DataGeom geom, DataSpec dataSpec, Map<AuxScale,Span> auxSpans, PaperType3D paperType)`
Creates a ShapePainter object for plotting onto 3-dimensional surfaces.
`boolean`
`equals(Object o)`
`Map<AuxScale, AuxReader>`
`getAuxRangers(DataGeom geom)`
Defines what non-axis ranging information is required by this outliner.
`Icon`
`getLegendIcon()`
Returns an icon suitable for identifying points painted by this object in a plot legend.
`int`
`hashCode()`

### Methods inherited from class PixOutliner

`calculateBinPlan, getBinCounts, getPointCount, getReport`

### Methods inherited from class Object

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

## Constructor Details

### SizeXyOutliner

public SizeXyOutliner(XYShape shape, double scale, AuxScale xAutoscale, AuxScale yAutoscale, short sizeLimit)
Constructor.

Parameters:
  `shape` - shape
  `scale` - size scaling factor
  `xAutoscale` - key used for autoscaling X extents; may be shared with other layers, private to this layer, or null for no autoscale
  `yAutoscale` - key used for autoscaling Y extents; may be shared with other layers, private to this layer, or null for no autoscale
  `sizeLimit` - maximum X/Y extent in pixels of markers; if it's too large, plots may be slow or run out of memory

## Method Details

### getLegendIcon

public Icon getLegendIcon()
Description copied from interface: `Outliner`
Returns an icon suitable for identifying points painted by this object in a plot legend. The returned icon does not manipulate the colour of the graphics context it operates on.

Returns:
  legend icon for this outliner

### getAuxRangers

public Map<AuxScale, AuxReader> getAuxRangers(DataGeom geom)
Description copied from interface: `Outliner`
Defines what non-axis ranging information is required by this outliner. The return value is a map in which the keys define the ranges that must be supplied to the painting methods, and the values are reader objects that can acquire these ranges from a dataset.

Parameters:
  `geom` - data geometry
Returns:
  map of required scale keys to scale reader objects

### canPaint

public boolean canPaint(DataSpec dataSpec)
Description copied from interface: `Outliner`
Indicates whether this outliner is willing to provide painters for a given DataSpec. The return value may be unconditionally true, but this method provides a hook for outliners to reject plotting based only on characteristics of the DataSpec.

Parameters:
  `dataSpec` - data specification for plot
Returns:
  true if dataSpec can be used to obtain a non-null painter

### create2DPainter

public ShapePainter create2DPainter(Surface surface, DataGeom geom, DataSpec dataSpec, Map<AuxScale,Span> auxSpans, PaperType2D paperType)
Description copied from interface: `Outliner`
Creates a ShapePainter object for plotting onto 2-dimensional surfaces. This method should only be called if `Outliner.canPaint(DataSpec)` returns true for the supplied DataSpec.

Parameters:
  `surface` - plot surface
  `geom` - coordinate geometry
  `dataSpec` - data specification
  `auxSpans` - map of scale information required for plot
  `paperType` - 2-d paper type
Returns:
  new 2-d painter

### create3DPainter

public ShapePainter create3DPainter(CubeSurface surface, DataGeom geom, DataSpec dataSpec, Map<AuxScale,Span> auxSpans, PaperType3D paperType)
Description copied from interface: `Outliner`
Creates a ShapePainter object for plotting onto 3-dimensional surfaces. This method should only be called if `Outliner.canPaint(DataSpec)` returns true for the supplied DataSpec.

Parameters:
  `surface` - 3-d plot surface
  `geom` - coordinate geometry
  `dataSpec` - data specification
  `auxSpans` - map of scale information required for plot
  `paperType` - 3-d paper type
Returns:
  new 3-d painter

### equals

public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`