Class MarkForm

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.MarkForm
All Implemented Interfaces:
ModePlotter.Form, ShapeForm

public abstract class MarkForm extends Object implements ShapeForm
ShapeForm implementation that just draws a fixed-size marker for each position. One or more positions per tuple may be marked.
Since:
18 Feb 2013
Author:
Mark Taylor
  • Field Details

    • MIN_LEGEND_SIZE

      public static final int MIN_LEGEND_SIZE
      Minimum size of marker in legend, even if plot size is smaller.
      See Also:
    • SINGLE

      public static final MarkForm SINGLE
      MarkForm instance for a single point per tuple.
    • PAIR

      public static final MarkForm PAIR
      MarkForm instance for two points per tuple.
    • QUAD

      public static final MarkForm QUAD
      MarkForm instance for four points per tuple.
  • Constructor Details

    • MarkForm

      protected MarkForm(int npos, String name, Icon icon)
      Constructor.
      Parameters:
      npos - number of points to mark per tuple
      name - form name
      icon - form icon
  • Method Details

    • 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 interface ShapeForm
      Returns:
      number of basic sets of positional coordinates
    • getFormName

      public String getFormName()
      Description copied from interface: ModePlotter.Form
      Returns the user-directed name for this form.
      Specified by:
      getFormName in interface ModePlotter.Form
      Returns:
      form name
    • getFormIcon

      public Icon getFormIcon()
      Description copied from interface: ModePlotter.Form
      Returns an icon to identify this form in the GUI.
      Specified by:
      getFormIcon in interface ModePlotter.Form
      Returns:
      form icon
    • getFormDescription

      public String 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 interface ShapeForm
      Returns:
      XML description of form
    • getExtraCoords

      public Coord[] 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 interface ShapeForm
      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 interface ShapeForm
      Returns:
      number of positional extra coordinates
    • adjustGeom

      public DataGeom adjustGeom(DataGeom geom, DataSpec dataSpec, ShapeStyle style)
      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 interface ShapeForm
      Parameters:
      geom - 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
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • createMarkForm

      public static MarkForm createMarkForm(int npos)
      Factory method to create an instance of this class.
      Parameters:
      npos - number of positions per tuple
      Returns:
      form instance
    • createMarkOutliner

      public static Outliner createMarkOutliner(MarkerShape shape, int size)
      Returns an outliner for use with single points.
      Parameters:
      shape - marker shape
      size - marker size
      Returns:
      single-point outliner
    • createMultiMarkOutliner

      public static Outliner createMultiMarkOutliner(MarkerShape shape, int size, int npos)
      Returns an outliner for use with multiple points.
      Parameters:
      shape - marker shape
      size - marker size
      npos - number of positions per tuple
      Returns:
      multi-point outliner
    • createMarkStyle

      public static MarkerStyle createMarkStyle(MarkerShape shape, int size)
      Creates a MarkStyle with a given size.
      Parameters:
      shape - marker shape
      size - marker size in pixels
      Returns:
      marker style
    • createMarkGlyph

      public static Glyph createMarkGlyph(MarkerShape shape, int size, boolean isMultipix)
      Creates a Glyph representing a marker.
      Parameters:
      shape - marker shape
      size - marker size
      isMultipix - if true, optimise for an instance that may have createPixer called multiple times
      Returns:
      marker glyph
    • createLegendIcon

      public static Icon createLegendIcon(MarkerShape shape, int size)
      Returns a legend icon suitable for a single marker.
      Parameters:
      shape - marker shape
      size - marker size
      Returns:
      legend icon