Package sim.util.gui

Interface ColorMap

All Known Implementing Classes:
AbstractColorMap, CompositeColorMap, SimpleColorMap

public interface ColorMap
ColorMap is a interface for mapping numerical values to colors. The easiest way to implement getRGB(level) is simply with getColor(level).getRGB(). validLevel indicates whether the numerical value is within a range that seems "reasonable" for coding into colors -- however ColorMap should provide *some* feasible color for *any* given value, including NaN. defaultValue() provides a default numerical value within the "reasonable" range -- often the minimum value. It must be the case that validLevel(defaultValue()) == true.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns some level which is valid (that is, validLevel(defaultValue()) should always return true).
    int
    getAlpha(double level)
    Returns the alpha value for a color for the given level.
    getColor(double level)
    Returns a color for the given level
    int
    getRGB(double level)
    Returns the RGB values, plus alpha, for a color for the given level.
    boolean
    validLevel(double level)
    Returns true if a level is "valid" (it provides a meaningful color)
  • Method Details

    • getColor

      Color getColor(double level)
      Returns a color for the given level
    • getRGB

      int getRGB(double level)
      Returns the RGB values, plus alpha, for a color for the given level. The byte ordering should be in the same fashion that Color.getRGB() is provided. This could be simply written as

      invalid input: '<'code return getColor(level).getRGB() ... however it's likely that this method could be written more efficiently than this.

      Why isn't this called getRGBA(...)? Because for some reason the underlying Color method is likewise getRGB(), even though it ought to be called getRGBA().

    • getAlpha

      int getAlpha(double level)
      Returns the alpha value for a color for the given level. This could be simply written as

      return getRGB(level) >>> 24 ;

      ...or it could be written as:

      return getColor(level).getAlpha()

      ...however it's likely that it this method could be written more efficiently than either of these.

    • validLevel

      boolean validLevel(double level)
      Returns true if a level is "valid" (it provides a meaningful color)
    • defaultValue

      double defaultValue()
      Returns some level which is valid (that is, validLevel(defaultValue()) should always return true). This is commonly provided to give the user a level to replace an "invalid" level he's typed in.