Class MarkForm

  • All Implemented Interfaces:
    ModePlotter.Form, ShapeForm

    public abstract class MarkForm
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      static int MIN_LEGEND_SIZE
      Minimum size of marker in legend, even if plot size is smaller.
      static MarkForm PAIR
      MarkForm instance for two points per tuple.
      static MarkForm QUAD
      MarkForm instance for four points per tuple.
      static MarkForm SINGLE
      MarkForm instance for a single point per tuple.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected MarkForm​(int npos, java.lang.String name, javax.swing.Icon icon)
      Constructor.
    • Field Detail

      • MIN_LEGEND_SIZE

        public static final int MIN_LEGEND_SIZE
        Minimum size of marker in legend, even if plot size is smaller.
        See Also:
        Constant Field Values
      • 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 Detail

      • MarkForm

        protected MarkForm​(int npos,
                           java.lang.String name,
                           javax.swing.Icon icon)
        Constructor.
        Parameters:
        npos - number of points to mark per tuple
        name - form name
        icon - form icon
    • Method Detail

      • getPositionCount

        public int getPositionCount()
        Description copied from interface: ShapeForm
        Returns the number of data positions per tuple used by this form.
        Specified by:
        getPositionCount in interface ShapeForm
        Returns:
        number of sets of positional coordinates
      • getFormName

        public java.lang.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 javax.swing.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 java.lang.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
      • adjustGeom

        public DataGeom adjustGeom​(DataGeom geom)
        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 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
        Returns:
        geom to use for data interpretation, the same or similar to the input
      • hashCode

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

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.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​(MarkShape 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​(MarkShape 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
      • createMarkGlyph

        public static Glyph createMarkGlyph​(MarkShape 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 javax.swing.Icon createLegendIcon​(MarkShape shape,
                                                        int size)
        Returns a legend icon suitable for a single marker.
        Parameters:
        shape - marker shape
        size - marker size
        Returns:
        legend icon