SBDColorPaletteQualitative Class Reference

The SBDColorPaletteQualitative class is a base class for qualitative color palettes. More...

Constructors and destructors

 SBDColorPaletteQualitative ()
 Default constructor.
 
 SBDColorPaletteQualitative (int hue1, int hue2, int chroma=50, int luminance=70, std::string name=std::string(""))
 
 SBDColorPaletteQualitative (const SBDColorPaletteQualitative *const otherColorPalette)
 Copy constructor.
 
virtual ~SBDColorPaletteQualitative ()
 

Serialization

bool isSerializable () const
 Returns true.
 
virtual void serialize (SBCSerializer *serializer, const SBNodeIndexer &nodeIndexer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber &classVersionNumber=SBVersionNumber(1, 0, 0)) const
 Serializes the document.
 
virtual void unserialize (SBCSerializer *serializer, const SBNodeIndexer &nodeIndexer, const SBVersionNumber &sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber &classVersionNumber=SBVersionNumber(1, 0, 0))
 Unserializes the document.
 

Getter and setter functions

virtual SBDColorPaletteQualitativeclone () const
 Clones the color palette.
 
int getHue1 () const
 Returns the starting value for the first coordinate.
 
void setHue1 (int hue1)
 Sets the starting value for the first coordinate.
 
int getHue2 () const
 Returns the end value for the first coordinate.
 
void setHue2 (int hue2)
 Sets the end value for the first coordinate.
 
void setHue (int hue1, int hue2)
 Sets the parameters for the first coordinate.
 
int getChroma () const
 Returns the value for the second coordinate.
 
void setChroma (int chroma)
 Sets the value for the second coordinate.
 
int getLuminance () const
 Returns the value for the third coordinate.
 
void setLuminance (int luminance)
 Sets the value for the third coordinate.
 

Palette functions

void getColor (float *color, float value) const
 Computes sRGB color color based on this palette for the given intensity value value which should be in the range [0.0, 1.0].
 
virtual void getColorInPaletteColorSpace (float *color, float &value) const
 Computes color coordinates color in this palette's color space for the given intensity value value which should be in the range [0.0, 1.0]. More...
 

Palette parameters

int hue1
 The starting value for the first coordinate.
 
int hue2
 The end value for the first coordinate.
 
int chroma
 The value of the second coordinate.
 
int luminance
 The value of the third coordinate.
 

Additional Inherited Members

- Public Types inherited from SBDColorPalette
enum  ColorPaletteType {
  Custom,
  Qualitative,
  Sequential,
  Diverging
}
 
- Public Member Functions inherited from SBDColorPalette
 SBDColorPalette ()
 Default constructor.
 
virtual ~SBDColorPalette ()
 
bool isSerializable () const
 Returns true.
 
ColorPaletteType getType () const
 Returns the type of the color palette.
 
void setType (SBDColorPalette::ColorPaletteType paletteType)
 Sets the type of the color palette.
 
const std::string & getName () const
 Returns the palette's name.
 
void setName (const std::string &name)
 Sets the palette's name to name.
 
- Protected Member Functions inherited from SBDColorPalette
float getValueAlongLinearTrajectory (float y1, float y2, float power, float x) const
 Returns a value along the "linear" trajectory. More...
 
float getValueAlongTriangularTrajectory (float y1, float ymax, float y2, float power, float x) const
 Returns a value along "triangular" trajectory. More...
 
- Protected Attributes inherited from SBDColorPalette
ColorPaletteType paletteType
 Palette's type.
 
std::string * name
 Palette's name.
 

Detailed Description

A qualitative palette is constructed in a 3D color coordinate space with coordinates named h, c, and l, where the coordinate h can have an arbitrary value, and coordinates c and l are constant: h = hue1 + i * (hue2 - hue1) c = const l = const where i is a value (of intensity or interestingness) based on which the colorization should be done.

Coordinate h can designate e.g. hue (as in HCL, HSV, HSL color spaces). Coordinate c can designate e.g. chroma (as in HCL color space) or saturation (as in HSV, HSL color spaces). Coordinate l can designate e.g. luminance (as in HCL color space), lightning (as in HSL color space), or another value (as in HSV color space).

Member Function Documentation

◆ getColorInPaletteColorSpace()

void SBDColorPaletteQualitative::getColorInPaletteColorSpace ( float *  color,
float &  value 
) const
virtual

SBDColorPaletteQualitative::getColorInPaletteColorSpace - Computes color coordinates color in this palette's color space for the given intensity value value.

Parameters
color- an array for color coordinates (float[3]).
value- an intensity value based on which the resulting color is computed, the intensity value should be in range [0.0, 1.0] where 1 corresponds to the full intensity.

Reimplemented from SBDColorPalette.

Reimplemented in SBDColorPaletteQualitativeHCL.