Package org.jzy3d.colors.colormaps
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondouble
colorComponentAbsolute
(double value, double bLeft, double bRight, double tLeft, double tRight) Defines a simple function for a color.double
colorComponentRelative
(double value, double center, double topwidth, double bottomwidth) Return the influence of a color, by comparing the input value to the color spectrum.double
colorComponentRelativeNoLeftBorder
(double value, double center, double topwidth, double bottomwidth) double
colorComponentRelativeNoRightBorder
(double value, double center, double topwidth, double bottomwidth) abstract Color
getColor
(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 aIColorMappable
object according to the Z value of each of its components.boolean
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.void
setDirection
(boolean isStandard) Indicates if the colormap use the standard or reverted color directionvoid
setSpaceTransformer
(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:IColorMap
Indicates if the colormap use the standard or reverted color direction- Specified by:
setDirection
in interfaceIColorMap
-
getDirection
public boolean getDirection()- Specified by:
getDirection
in interfaceIColorMap
- Returns:
- the colormap direction: true if standard, false if reverted.
-
getColor
Description copied from interface:IColorMap
Computes the color of aIColorMappable
object 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: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
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 interfaceIColorMap
- 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 interfaceIColorMap
- Parameters:
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:
getSpaceTransformer
in interfaceIColorMap
-
setSpaceTransformer
- Specified by:
setSpaceTransformer
in interfaceIColorMap
-