# Class BasicXYShape

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.XYShape
uk.ac.starlink.ttools.plot2.layer.BasicXYShape

@Equality public abstract class BasicXYShape extends XYShape
XYShape implementation that can produce shapes of variable line thickness.

Since:
  16 Jan 2015
Author:
  Mark Taylor

## Field Summary

### Fields inherited from class XYShape

`POINT`

## Constructor Summary

Constructors
Constructor
Description
`BasicXYShape(String name, int maxCacheRadius, Glyph pointGlyph)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static BasicXYShape[]`
`getXYShapes()`
Returns an array of XY shapes suitable for plotting markers with variable X and Y extents.
`abstract XYShape`
`toThicker(int nthick)`
Returns an XYShape corresponding to this one, but drawn with thicker lines.

### Methods inherited from class XYShape

`createGlyph, createIcon, getGlyph, getName, isCached, toString`

### Methods inherited from class Object

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

## Constructor Details

### BasicXYShape

public BasicXYShape(String name, int maxCacheRadius, Glyph pointGlyph)
Constructor.

Parameters:
  `name` - shape name
  `maxCacheRadius` - maximum size for which shapes are cached
  `pointGlyph` - glyph to use for shape (0,0), or null for no special casing

## Method Details

### toThicker

@Equality public abstract XYShape toThicker(int nthick)
Returns an XYShape corresponding to this one, but drawn with thicker lines. In cases where no line drawing is done, for instance filled shapes, this object should be returned, since the drawing will not change with line thickness.

Parameters:
  `nthick` - line thickness index >=0
Returns:
  drawing shape

### getXYShapes

public static BasicXYShape[] getXYShapes()
Returns an array of XY shapes suitable for plotting markers with variable X and Y extents.

Returns:
  XY shapes