Class AbstractColorMap

java.lang.Object
org.jzy3d.colors.colormaps.AbstractColorMap
All Implemented Interfaces:
IColorMap
Direct Known Subclasses:
ColorMapGrayscale, ColorMapHotCold, ColorMapRainbow, ColorMapRainbowNoBorder, ColorMapRBG, ColorMapRedAndGreen, ColorMapWhiteBlue, ColorMapWhiteGreen, ColorMapWhiteRed

public abstract class AbstractColorMap extends Object implements IColorMap
  • Field Details

    • direction

      protected boolean direction
    • spaceTransformer

      protected SpaceTransformer spaceTransformer
  • Constructor Details

    • AbstractColorMap

      public AbstractColorMap()
  • Method Details

    • getColor

      public abstract Color getColor(double x, double y, double z, double zMin, double zMax)
      Specified by:
      getColor in interface IColorMap
    • setDirection

      public void setDirection(boolean isStandard)
      Description copied from interface: IColorMap
      Indicates if the colormap use the standard or reverted color direction
      Specified by:
      setDirection in interface IColorMap
    • getDirection

      public boolean getDirection()
      Specified by:
      getDirection in interface IColorMap
      Returns:
      the colormap direction: true if standard, false if reverted.
    • getColor

      public Color getColor(IColorMappable colorable, double x, double y, double z)
      Description copied from interface: IColorMap
      Computes the color of a IColorMappable object according to the Z value of each of its components.
      Specified by:
      getColor in interface IColorMap
      Parameters:
      colorable - A
      invalid @link
      ColorMappable
      object.
      Returns:
      a color for the given point.
    • processRelativeZValue

      protected double processRelativeZValue(double z, double zMin, double zMax)
      Compute a value in [0;1] to pick a color in a [0;1] color range. Basically normalize the z value in its original range to the color range.
      Returns:
      (z - zMin) / (zMax - zMin) OR (zMax - z) / (zMax - zMin) OR 1 OR 0
    • getColor

      public Color getColor(IColorMappable colorable, double z)
      Specified by:
      getColor in interface IColorMap
      Parameters:
      colorable - A
      invalid @link
      ColorMappable
      object.
      z - the variable that is Color-dependent, and can be independent of the coordinates.
      Returns:
      a color for the given point.
    • colorComponentRelative

      public double colorComponentRelative(double value, double center, double topwidth, double bottomwidth)
      Description copied from interface: IColorMap
      Return the influence of a color, by comparing the input value to the color spectrum. The design of a colormap implies defining the influence of each base color (red, green, and blue) over the range of input data. For this reason, the value given to this function is a number between 0 and 1, indicating the position of the input value in the colormap. Any value standing outside of colormap boundaries should have the "maximal" or "minimal" color. Exemple: A rainbow colormap is a progressive transition from blue, to green and red. The mix between these 3 colors, may be expressed by the definition of 3 functions:
       
             blue     green     red
           /-------\/-------\/-------\
          /        /\       /\        \
         /        /  \     /  \        \
        /        /    \   /    \        \  
       |----------------|----------------|
       0               0.5               1
       
       
      In order to get the color of an input value standing between 0 and 1, the user should call:
       
       float blue  = (float) colorComponentRelative( rel_value, 0.25, 0.25, 0.75 );
       float green = (float) colorComponentRelative( rel_value, 0.50, 0.25, 0.75 );
       float red   = (float) colorComponentRelative( rel_value, 0.75, 0.25, 0.75 );
       
       return new Color4f( red, green, blue, 1.0f );
       
       
      Specified by:
      colorComponentRelative in interface IColorMap
      Returns:
      color influence.
    • colorComponentRelativeNoLeftBorder

      public double colorComponentRelativeNoLeftBorder(double value, double center, double topwidth, double bottomwidth)
    • colorComponentRelativeNoRightBorder

      public double colorComponentRelativeNoRightBorder(double value, double center, double topwidth, double bottomwidth)
    • colorComponentAbsolute

      public double colorComponentAbsolute(double value, double bLeft, double bRight, double tLeft, double tRight)
      Description copied from interface: IColorMap
      Defines a simple function for a color. Between bLeft and tLeft, as well as tRight and bRight, the output value is a linear interpolation between 0 and 1.
       
                            tLeft       tRight
                              /-----------\
                             /             \ 
                            /               \
                    -------|-----------------|--------
                          bLeft            bRight  
       
       
      Specified by:
      colorComponentAbsolute in interface IColorMap
      Parameters:
      bLeft - under this value, the color is 0
      bRight - up to this value, the color is 0
      tLeft - from this value until @link tRight, the color is 1
      tRight - from @link tLeft until this value, the color is 1
      Returns:
      color
    • getSpaceTransformer

      public SpaceTransformer getSpaceTransformer()
      Specified by:
      getSpaceTransformer in interface IColorMap
    • setSpaceTransformer

      public void setSpaceTransformer(SpaceTransformer transformer)
      Specified by:
      setSpaceTransformer in interface IColorMap