uk.ac.starlink.ttools.plot2.layer
Class ShapeMode

java.lang.Object
  extended by uk.ac.starlink.ttools.plot2.layer.ShapeMode
All Implemented Interfaces:
ModePlotter.Mode

public abstract class ShapeMode
extends 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

Nested Class Summary
static class ShapeMode.AutoTransparentStamper
          Stamper implementation for auto transparency.
static class ShapeMode.DensityStamper
          Stamper implementation for density mode.
static class ShapeMode.FlatStamper
          Stamper implementation for flat colouring.
static class ShapeMode.ShadeStamper
          Stamper implementation for use with AuxShadingMode.
 
Field Summary
static ShapeMode AUTO
          Auto density mode, no user settings.
static ShapeMode AUX
          Aux variable colouring mode.
static ShapeMode DENSITY
          Configurable density mode.
static ShapeMode FLAT2D
          Simple flat mode for use with 2D plots.
static ShapeMode FLAT3D
          Simple flat mode for use with 3D plots.
static ShapeMode[] MODES_2D
          List of modes suitable for use with 2D plotting.
static ShapeMode[] MODES_3D
          List of modes suitable for use with 3D plotting.
static ShapeMode TRANSLUCENT
          Transparency with automatic adjustment of opacity level.
static ShapeMode TRANSPARENT2D
          Transparency with explicit opacity setting, suitable for 2D plots.
static ShapeMode TRANSPARENT3D
          Transparency with explicit opacity setting, suitable for 3D plots.
 
Constructor Summary
ShapeMode(String name, Icon icon, Coord[] extraCoords)
          Constructor.
 
Method Summary
static Icon createColoredIcon(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.
abstract  PlotLayer createLayer(ShapePlotter plotter, ShapeForm form, DataGeom geom, DataSpec dataSpec, Outliner outliner, Stamper stamper)
          Creates a plot layer.
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.
abstract  ConfigKey[] getConfigKeys()
          Returns style configuration keys assocaited with this mode.
 Coord[] getExtraCoords()
          Returns the additional coordinates associated with this mode.
abstract  String getModeDescription()
          Returns a description of this mode as an XML string.
 Icon getModeIcon()
          Returns an icon to identify this mode in the GUI.
 String getModeName()
          Returns the user-directed name for this mode.
static String modeRef(ShapeMode mode)
          Returns an XML reference to the given mode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.


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.

Constructor Detail

ShapeMode

public ShapeMode(String name,
                 Icon icon,
                 Coord[] extraCoords)
Constructor.

Parameters:
name - mode name
icon - mode icon
extraCoords - data coordinates associated with this mode (not positional ones)
Method Detail

getModeName

public 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 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

getModeDescription

public abstract 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

getConfigKeys

public abstract ConfigKey[] getConfigKeys()
Returns style configuration keys assocaited with this mode. These keys will be used in the config map supplied to createStamper(uk.ac.starlink.ttools.plot2.config.ConfigMap).

Returns:
array of config keys for mode

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 Icon createColoredIcon(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 String modeRef(ShapeMode mode)
Returns an XML reference to the given mode.

Parameters:
mode - shape mode
Returns:
<ref> element with content mode.getModeName()


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.