Class ShapeMode

  • All Implemented Interfaces:
    ModePlotter.Mode

    public abstract class ShapeMode
    extends java.lang.Object
    implements ModePlotter.Mode
    Defines how outlines defined by a ShapeForm are coloured in a plot. This abstract class contains several implementations (inner classes). It's rather crowded, should possibly be split into several files.
    Since:
    19 Feb 2013
    Author:
    Mark Taylor
    • Field Detail

      • AUTO

        public static final ShapeMode AUTO
        Auto density mode, no user settings.
      • FLAT2D

        public static final ShapeMode FLAT2D
        Simple flat mode for use with 2D plots.
      • FLAT3D

        public static final ShapeMode FLAT3D
        Simple flat mode for use with 3D plots.
      • TRANSLUCENT

        public static final ShapeMode TRANSLUCENT
        Transparency with automatic adjustment of opacity level.
      • TRANSPARENT2D

        public static final ShapeMode TRANSPARENT2D
        Transparency with explicit opacity setting, suitable for 2D plots.
      • TRANSPARENT3D

        public static final ShapeMode TRANSPARENT3D
        Transparency with explicit opacity setting, suitable for 3D plots.
      • DENSITY

        public static final ShapeMode DENSITY
        Configurable density mode.
      • AUX

        public static final ShapeMode AUX
        Aux variable colouring mode.
      • WEIGHTED

        public static final ShapeMode WEIGHTED
        Weighted density mode.
      • IRGB

        public static final ShapeMode IRGB
        Flat RGB mode.
      • MODES_2D

        public static final ShapeMode[] MODES_2D
        List of modes suitable for use with 2D plotting.
      • MODES_3D

        public static final ShapeMode[] MODES_3D
        List of modes suitable for use with 3D plotting.
      • REPKEY_XPIX

        public static final ReportKey<java.lang.Double> REPKEY_XPIX
        Report key for pixel X dimension in data coordinates.
      • REPKEY_YPIX

        public static final ReportKey<java.lang.Double> REPKEY_YPIX
        Report key for pixel Y dimension in data coordinates.
      • REPKEY_SKYPIX

        public static final ReportKey<java.lang.Double> REPKEY_SKYPIX
        Report key for nominal pixel size in square degrees.
    • Constructor Detail

      • ShapeMode

        public ShapeMode​(java.lang.String name,
                         javax.swing.Icon icon,
                         Coord[] extraCoords,
                         boolean hasReports)
        Constructor.
        Parameters:
        name - mode name
        icon - mode icon
        extraCoords - data coordinates associated with this mode (not positional ones)
        hasReports - whether plot reports containing genera-interest plot information are generated
    • Method Detail

      • getModeName

        public java.lang.String getModeName()
        Description copied from interface: ModePlotter.Mode
        Returns the user-directed name for this mode.
        Specified by:
        getModeName in interface ModePlotter.Mode
        Returns:
        mode name
      • getModeIcon

        public javax.swing.Icon getModeIcon()
        Description copied from interface: ModePlotter.Mode
        Returns an icon to identify this mode in the GUI.
        Specified by:
        getModeIcon in interface ModePlotter.Mode
        Returns:
        mode icon
      • hasReports

        public boolean hasReports()
        Indicates whether the drawing produced by this mode willl return general interest report information to upstream plotting code.
        Returns:
        true if the plot report may contain interesting information
      • getModeDescription

        public abstract java.lang.String getModeDescription()
        Returns a description of this mode as an XML string. The return value should be one or more <p> elements.
        Returns:
        XML description of mode
      • getExtraCoords

        public Coord[] getExtraCoords()
        Returns the additional coordinates associated with this mode.
        Returns:
        array of non-positional coordinates associated with colouring
      • createStamper

        public abstract Stamper createStamper​(ConfigMap config)
        Returns an object which will do the work of colouring in shapes when supplied with the appropriate style information and data. The significant keys in the supplied config map are those given by getConfigKeys().
        Parameters:
        config - configuration map from which values for this mode's config keys will be extracted
        Returns:
        new stamper object
      • createLayer

        public abstract PlotLayer createLayer​(ShapePlotter plotter,
                                              ShapeForm form,
                                              DataGeom geom,
                                              DataSpec dataSpec,
                                              Outliner outliner,
                                              Stamper stamper)
        Creates a plot layer.
        Parameters:
        plotter - plotter
        form - shape form
        geom - data coordinate specification
        dataSpec - data specification
        outliner - shape outliner
        stamper - shape stamper
        Returns:
        new layer
      • createColoredIcon

        public static javax.swing.Icon createColoredIcon​(javax.swing.Icon base,
                                                         Shader shader,
                                                         float value)
        Returns a wrapped icon whose painting is done in the context of a forground colour got by applying a given shader and shading value.
        Parameters:
        base - base icon
        shader - colour shader
        value - value in range 0-1 at which shader should be applied
        Returns:
        coloured icon
      • modeRef

        public static java.lang.String modeRef​(ShapeMode mode)
        Returns an XML reference to the given mode.
        Parameters:
        mode - shape mode
        Returns:
        <ref> element with content mode.getModeName()