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
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublecolorComponentAbsolute(double value, double bLeft, double bRight, double tLeft, double tRight) Defines a simple function for a color.doublecolorComponentRelative(double value, double center, double topwidth, double bottomwidth) Return the influence of a color, by comparing the input value to the color spectrum.doublecolorComponentRelativeNoLeftBorder(double value, double center, double topwidth, double bottomwidth) doublecolorComponentRelativeNoRightBorder(double value, double center, double topwidth, double bottomwidth) abstract ColorgetColor(double x, double y, double z, double zMin, double zMax) getColor(IColorMappable colorable, double z) getColor(IColorMappable colorable, double x, double y, double z) Computes the color of aIColorMappableobject according to the Z value of each of its components.booleanprotected doubleprocessRelativeZValue(double z, double zMin, double zMax) Compute a value in [0;1] to pick a color in a [0;1] color range.voidsetDirection(boolean isStandard) Indicates if the colormap use the standard or reverted color directionvoidsetSpaceTransformer(SpaceTransformer transformer)
-
Field Details
-
direction
protected boolean direction -
spaceTransformer
-
-
Constructor Details
-
AbstractColorMap
public AbstractColorMap()
-
-
Method Details
-
getColor
-
setDirection
public void setDirection(boolean isStandard) Description copied from interface:IColorMapIndicates if the colormap use the standard or reverted color direction- Specified by:
setDirectionin interfaceIColorMap- Parameters:
isStandard-
-
getDirection
public boolean getDirection()- Specified by:
getDirectionin interfaceIColorMap- Returns:
- the colormap direction: true if standard, false if reverted.
-
getColor
Description copied from interface:IColorMapComputes the color of aIColorMappableobject according to the Z value of each of its components. -
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
-
colorComponentRelative
public double colorComponentRelative(double value, double center, double topwidth, double bottomwidth) Description copied from interface:IColorMapReturn 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:
In order to get the color of an input value standing between 0 and 1, the user should call:blue green red /-------\/-------\/-------\ / /\ /\ \ / / \ / \ \ / / \ / \ \ |----------------|----------------| 0 0.5 1float 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:
colorComponentRelativein interfaceIColorMap- Parameters:
value-center-topwidth-bottomwidth-- 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:IColorMapDefines 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:
colorComponentAbsolutein interfaceIColorMap- Parameters:
value-bLeft- under this value, the color is 0bRight- up to this value, the color is 0tLeft- from this value until @link tRight, the color is 1tRight- from @link tLeft until this value, the color is 1- Returns:
- color
-
getSpaceTransformer
- Specified by:
getSpaceTransformerin interfaceIColorMap
-
setSpaceTransformer
- Specified by:
setSpaceTransformerin interfaceIColorMap
-