Gra zręcznościowa „Straszna Epidemia"  V1.2
Projekt Wizualizacja Danych Sensorycznych Kewin Gałuszka rok akademicki 2019/2020
Dokumentacja klasy QCPColorGradient

Defines a color gradient for use with e.g. QCPColorMap. Więcej...

#include <qcustomplot.h>

Typy publiczne

enum  ColorInterpolation { ciRGB, ciHSV }
 
enum  GradientPreset {
  gpGrayscale, gpHot, gpCold, gpNight,
  gpCandy, gpGeography, gpIon, gpThermal,
  gpPolar, gpSpectrum, gpJet, gpHues
}
 

Metody publiczne

 QCPColorGradient ()
 
 QCPColorGradient (GradientPreset preset)
 
bool operator== (const QCPColorGradient &other) const
 
bool operator!= (const QCPColorGradient &other) const
 
int levelCount () const
 
QMap< double, QColor > colorStops () const
 
ColorInterpolation colorInterpolation () const
 
bool periodic () const
 
void setLevelCount (int n)
 
void setColorStops (const QMap< double, QColor > &colorStops)
 
void setColorStopAt (double position, const QColor &color)
 
void setColorInterpolation (ColorInterpolation interpolation)
 
void setPeriodic (bool enabled)
 
void colorize (const double *data, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor=1, bool logarithmic=false)
 
void colorize (const double *data, const unsigned char *alpha, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor=1, bool logarithmic=false)
 
QRgb color (double position, const QCPRange &range, bool logarithmic=false)
 
void loadPreset (GradientPreset preset)
 
void clearColorStops ()
 
QCPColorGradient inverted () const
 

Metody chronione

bool stopsUseAlpha () const
 
void updateColorBuffer ()
 

Atrybuty chronione

int mLevelCount
 
QMap< double, QColor > mColorStops
 
ColorInterpolation mColorInterpolation
 
bool mPeriodic
 
QVector< QRgb > mColorBuffer
 
bool mColorBufferInvalidated
 

Opis szczegółowy

Defines a color gradient for use with e.g. QCPColorMap.

This class describes a color gradient which can be used to encode data with color. For example, QCPColorMap and QCPColorScale have setGradient methods which take an instance of this class. Colors are set with setColorStopAt(double position, const QColor &color) with a position from 0 to 1. In between these defined color positions, the color will be interpolated linearly either in RGB or HSV space, see setColorInterpolation.

Alternatively, load one of the preset color gradients shown in the image below, with loadPreset, or by directly specifying the preset in the constructor.

Apart from red, green and blue components, the gradient also interpolates the alpha values of the configured color stops. This allows to display some portions of the data range as transparent in the plot.

The QCPColorGradient(GradientPreset preset) constructor allows directly converting a GradientPreset to a QCPColorGradient. This means that you can directly pass GradientPreset to all the setGradient methods, e.g.:

The total number of levels used in the gradient can be set with setLevelCount. Whether the color gradient shall be applied periodically (wrapping around) to data values that lie outside the data range specified on the plottable instance can be controlled with setPeriodic.

Definicja w linii 4441 pliku qcustomplot.h.

Dokumentacja składowych wyliczanych

◆ ColorInterpolation

Defines the color spaces in which color interpolation between gradient stops can be performed.

Zobacz również
setColorInterpolation
Wartości wyliczeń
ciRGB 

Color channels red, green and blue are linearly interpolated.

ciHSV 

Color channels hue, saturation and value are linearly interpolated (The hue is interpolated over the shortest angle distance)

Definicja w linii 4450 pliku qcustomplot.h.

◆ GradientPreset

Defines the available presets that can be loaded with loadPreset. See the documentation there for an image of the presets.

Wartości wyliczeń
gpGrayscale 

Continuous lightness from black to white (suited for non-biased data representation)

gpHot 

Continuous lightness from black over firey colors to white (suited for non-biased data representation)

gpCold 

Continuous lightness from black over icey colors to white (suited for non-biased data representation)

gpNight 

Continuous lightness from black over weak blueish colors to white (suited for non-biased data representation)

gpCandy 

Blue over pink to white.

gpGeography 

Colors suitable to represent different elevations on geographical maps.

gpIon 

Half hue spectrum from black over purple to blue and finally green (creates banding illusion but allows more precise magnitude estimates)

gpThermal 

Colors suitable for thermal imaging, ranging from dark blue over purple to orange, yellow and white.

gpPolar 

Colors suitable to emphasize polarity around the center, with blue for negative, black in the middle and red for positive values.

gpSpectrum 

An approximation of the visible light spectrum (creates banding illusion but allows more precise magnitude estimates)

gpJet 

Hue variation similar to a spectrum, often used in numerical visualization (creates banding illusion but allows more precise magnitude estimates)

gpHues 

Full hue cycle, with highest and lowest color red (suitable for periodic data, such as angles and phases, see setPeriodic)

Definicja w linii 4459 pliku qcustomplot.h.

Dokumentacja konstruktora i destruktora

◆ QCPColorGradient() [1/2]

QCPColorGradient::QCPColorGradient ( )

Constructs a new, empty QCPColorGradient with no predefined color stops. You can add own color stops with setColorStopAt.

The color level count is initialized to 350.

Definicja w linii 15790 pliku qcustomplot.cpp.

◆ QCPColorGradient() [2/2]

QCPColorGradient::QCPColorGradient ( GradientPreset  preset)

Constructs a new QCPColorGradient initialized with the colors and color interpolation according to preset.

The color level count is initialized to 350.

Definicja w linii 15805 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:

Dokumentacja funkcji składowych

◆ clearColorStops()

void QCPColorGradient::clearColorStops ( )

Clears all color stops.

Zobacz również
setColorStops, setColorStopAt

Definicja w linii 16257 pliku qcustomplot.cpp.

Oto graf wywoływań tej funkcji:

◆ color()

QRgb QCPColorGradient::color ( double  position,
const QCPRange range,
bool  logarithmic = false 
)

Definicja w linii 16116 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:
Oto graf wywoływań tej funkcji:

◆ colorInterpolation()

ColorInterpolation QCPColorGradient::colorInterpolation ( ) const
inline

Definicja w linii 4482 pliku qcustomplot.h.

◆ colorize() [1/2]

void QCPColorGradient::colorize ( const double *  data,
const QCPRange range,
QRgb *  scanLine,
int  n,
int  dataIndexFactor = 1,
bool  logarithmic = false 
)

To jest metoda przeciążona, udostępniona dla wygody. Różni się od powyższej metody tylko zestawem akceptowanych argumentów.

This method is used to quickly convert a data array to colors. The colors will be output in the array scanLine. Both data and scanLine must have the length n when passed to this function. The data range that shall be used for mapping the data value to the gradient is passed in range. logarithmic indicates whether the data values shall be mapped to colors logarithmically.

if data actually contains 2D-data linearized via [row*columnCount + column], you can set dataIndexFactor to columnCount to convert a column instead of a row of the data array, in scanLine. scanLine will remain a regular (1D) array. This works because data is addressed data[i*dataIndexFactor].

Use the overloaded method to additionally provide alpha map data.

The QRgb values that are placed in scanLine have their r, g and b components premultiplied with alpha (see QImage::Format_ARGB32_Premultiplied).

Definicja w linii 15927 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:
Oto graf wywoływań tej funkcji:

◆ colorize() [2/2]

void QCPColorGradient::colorize ( const double *  data,
const unsigned char *  alpha,
const QCPRange range,
QRgb *  scanLine,
int  n,
int  dataIndexFactor = 1,
bool  logarithmic = false 
)

To jest metoda przeciążona, udostępniona dla wygody. Różni się od powyższej metody tylko zestawem akceptowanych argumentów.

Additionally to the other overload of colorize, this method takes the array alpha, which has the same size and structure as data and encodes the alpha information per data point.

The QRgb values that are placed in scanLine have their r, g and b components premultiplied with alpha (see QImage::Format_ARGB32_Premultiplied).

Definicja w linii 16001 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:

◆ colorStops()

QMap<double, QColor> QCPColorGradient::colorStops ( ) const
inline

Definicja w linii 4481 pliku qcustomplot.h.

Oto graf wywoływań tej funkcji:

◆ inverted()

QCPColorGradient QCPColorGradient::inverted ( ) const

Returns an inverted gradient. The inverted gradient has all properties as this QCPColorGradient, but the order of the color stops is inverted.

Zobacz również
setColorStops, setColorStopAt

Definicja w linii 16269 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:

◆ levelCount()

int QCPColorGradient::levelCount ( ) const
inline

Definicja w linii 4480 pliku qcustomplot.h.

Oto graf wywoływań tej funkcji:

◆ loadPreset()

void QCPColorGradient::loadPreset ( GradientPreset  preset)

Clears the current color stops and loads the specified preset. A preset consists of predefined color stops and the corresponding color interpolation method.

The available presets are:

Definicja w linii 16148 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:
Oto graf wywoływań tej funkcji:

◆ operator!=()

bool QCPColorGradient::operator!= ( const QCPColorGradient other) const
inline

Definicja w linii 4477 pliku qcustomplot.h.

◆ operator==()

bool QCPColorGradient::operator== ( const QCPColorGradient other) const

Definicja w linii 15816 pliku qcustomplot.cpp.

◆ periodic()

bool QCPColorGradient::periodic ( ) const
inline

Definicja w linii 4483 pliku qcustomplot.h.

◆ setColorInterpolation()

void QCPColorGradient::setColorInterpolation ( QCPColorGradient::ColorInterpolation  interpolation)

Sets whether the colors in between the configured color stops (see setColorStopAt) shall be interpolated linearly in RGB or in HSV color space.

For example, a sweep in RGB space from red to green will have a muddy brown intermediate color, whereas in HSV space the intermediate color is yellow.

Definicja w linii 15880 pliku qcustomplot.cpp.

Oto graf wywoływań tej funkcji:

◆ setColorStopAt()

void QCPColorGradient::setColorStopAt ( double  position,
const QColor &  color 
)

Sets the color the gradient will have at the specified position (from 0 to 1). In between these color stops, the color is interpolated according to setColorInterpolation.

Zobacz również
setColorStops, clearColorStops

Definicja w linii 15867 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:
Oto graf wywoływań tej funkcji:

◆ setColorStops()

void QCPColorGradient::setColorStops ( const QMap< double, QColor > &  colorStops)

Sets at which positions from 0 to 1 which color shall occur. The positions are the keys, the colors are the values of the passed QMap colorStops. In between these color stops, the color is interpolated according to setColorInterpolation.

A more convenient way to create a custom gradient may be to clear all color stops with clearColorStops (or creating a new, empty QCPColorGradient) and then adding them one by one with setColorStopAt.

Zobacz również
clearColorStops

Definicja w linii 15855 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:

◆ setLevelCount()

void QCPColorGradient::setLevelCount ( int  n)

Sets the number of discretization levels of the color gradient to n. The default is 350 which is typically enough to create a smooth appearance. The minimum number of levels is 2.

Definicja w linii 15830 pliku qcustomplot.cpp.

◆ setPeriodic()

void QCPColorGradient::setPeriodic ( bool  enabled)

Sets whether data points that are outside the configured data range (e.g. QCPColorMap::setDataRange) are colored by periodically repeating the color gradient or whether they all have the same color, corresponding to the respective gradient boundary color.

As shown in the image above, gradients that have the same start and end color are especially suitable for a periodic gradient mapping, since they produce smooth color transitions throughout the color map. A preset that has this property is gpHues.

In practice, using periodic color gradients makes sense when the data corresponds to a periodic dimension, such as an angle or a phase. If this is not the case, the color encoding might become ambiguous, because multiple different data values are shown as the same color.

Definicja w linii 15904 pliku qcustomplot.cpp.

◆ stopsUseAlpha()

bool QCPColorGradient::stopsUseAlpha ( ) const
protected

Definicja w linii 16283 pliku qcustomplot.cpp.

Oto graf wywoływań tej funkcji:

◆ updateColorBuffer()

void QCPColorGradient::updateColorBuffer ( )
protected

Definicja w linii 16298 pliku qcustomplot.cpp.

Oto graf wywołań dla tej funkcji:
Oto graf wywoływań tej funkcji:

Dokumentacja atrybutów składowych

◆ mColorBuffer

QVector<QRgb> QCPColorGradient::mColorBuffer
protected

Definicja w linii 4508 pliku qcustomplot.h.

◆ mColorBufferInvalidated

bool QCPColorGradient::mColorBufferInvalidated
protected

Definicja w linii 4509 pliku qcustomplot.h.

◆ mColorInterpolation

ColorInterpolation QCPColorGradient::mColorInterpolation
protected

Definicja w linii 4504 pliku qcustomplot.h.

◆ mColorStops

QMap<double, QColor> QCPColorGradient::mColorStops
protected

Definicja w linii 4503 pliku qcustomplot.h.

◆ mLevelCount

int QCPColorGradient::mLevelCount
protected

Definicja w linii 4502 pliku qcustomplot.h.

◆ mPeriodic

bool QCPColorGradient::mPeriodic
protected

Definicja w linii 4505 pliku qcustomplot.h.


Dokumentacja dla tej klasy została wygenerowana z plików: