Class SBDPaletteFlexibleDivergingHCL#
ClassList > SBDPaletteFlexibleDivergingHCL
The SBDPaletteFlexibleDivergingHCL class is a class for the flexible diverging HCL (Hue-Chroma-Luminance) color palette.More...
#include <SBDPaletteFlexibleDivergingHCL.hpp>
Inherits the following classes: SBDPalette
Public Types inherited from SBDPalette#
See SBDPalette
Type | Name |
---|---|
enum | PaletteType |
Public Functions#
Type | Name |
---|---|
SBDPaletteFlexibleDivergingHCL () Default constructor. |
|
SBDPaletteFlexibleDivergingHCL (int hue1, int hue2, int hue3, int chroma1, int chroma2, int chroma3, int luminance1=70, int luminance2=70, int luminance3=70, float chromaPower1=1.0f, float luminancePower1=1.0f, float chromaPower2=1.0f, float luminancePower2=1.0f, int maximumChroma1=50, int maximumChroma2=50, float neutralPoint=0.5f, std::string name=std::string(""), bool reverse=false) |
|
SBDPaletteFlexibleDivergingHCL (const SBDPaletteFlexibleDivergingHCL & otherColorPalette) Copy constructor. |
|
virtual SBDPaletteFlexibleDivergingHCL * | clone () override const Clones the color palette. |
int | getChroma1 () const Returns the starting value for the second coordinate. |
int | getChroma2 () const Returns the center value for the second coordinate. |
int | getChroma3 () const Returns the end value for the second coordinate. |
float | getChromaPower1 () const Returns the power of the intensity value for the computation of the second coordinate in the first sequential palette. |
float | getChromaPower2 () const Returns the power of the intensity value for the computation of the second coordinate in the second sequential palette. |
virtual void | getColor (float * color, float value) override const Computes sRGB color color based on this palette for the given intensity valuevalue which should be in the range [0.0, 1.0]. |
virtual void | getColorInPaletteColorSpace (float * color, float value) override const Computes color coordinates color in this palette's color space for the given intensity valuevalue which should be in the range [0.0, 1.0]. |
int | getHue1 () const Returns the starting value for the first coordinate. |
int | getHue2 () const Returns the center value for the first coordinate. |
int | getHue3 () const Returns the end value for the first coordinate. |
int | getLuminance1 () const Returns the starting value for the third coordinate. |
int | getLuminance2 () const Returns the center value for the third coordinate. |
int | getLuminance3 () const Returns the end value for the third coordinate. |
float | getLuminancePower1 () const Returns the power of the intensity value for the computation of the third coordinate in the first sequential palette. |
float | getLuminancePower2 () const Returns the power of the intensity value for the computation of the third coordinate in the second sequential palette. |
int | getMaximumChroma1 () const Returns the max value for the second coordinate in the first sequential palette. |
int | getMaximumChroma2 () const Returns the max value for the second coordinate in the second sequential palette. |
float | getNeutralPoint () const Returns the neutral point position. |
virtual PaletteType | getType () override const Returns the type of the color palette. |
virtual bool | isEqual (const SBDPalette & other) override const Returns whether this palette is equal to other . |
virtual bool | isSerializable () override const Returns true. |
virtual void | serialize (SBCSerializer * serializer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const Serializes the document. |
void | setChroma (int chroma1, int chroma2, int chroma3, int maximumChroma1, int maximumChroma2, float chromaPower1=1.0f, float chromaPower2=1.0f) Sets the parameters for the second coordinate. |
void | setChroma1 (int chroma) Sets the starting value for the second coordinate. |
void | setChroma2 (int chroma) Sets the center value for the second coordinate. |
void | setChroma3 (int chroma) Sets the end value for the second coordinate. |
void | setChromaPower1 (float chromaPower) Sets the power of the intensity value for the computation of the second coordinate in the first sequential palette, the power should be greater than 0. |
void | setChromaPower2 (float chromaPower) Sets the power of the intensity value for the computation of the second coordinate in the second sequential palette, the power should be greater than 0. |
void | setHue (int hue1, int hue2, int hue3) Sets the parameters for the first coordinate. |
void | setHue1 (int hue) Sets the starting value for the first coordinate. |
void | setHue2 (int hue) Sets the center value for the first coordinate. |
void | setHue3 (int hue) Sets the end value for the first coordinate. |
void | setLuminance (int luminance1, int luminance2, int luminance3, float luminancePower1=1.0f, float luminancePower2=1.0f) Sets the parameters for the third coordinate. |
void | setLuminance1 (int luminance) Sets the starting value for the third coordinate. |
void | setLuminance2 (int luminance) Sets the center value for the third coordinate. |
void | setLuminance3 (int luminance) Sets the end value for the third coordinate. |
void | setLuminancePower1 (float luminancePower) Sets the power of the intensity value for the computation of the third coordinate in the first sequential palette, the power should be greater than 0. |
void | setLuminancePower2 (float luminancePower) Sets the power of the intensity value for the computation of the third coordinate in the second sequential palette, the power should be greater than 0. |
void | setMaximumChroma1 (int maximumChroma) Sets the max value for the second coordinate in the first sequential palette. |
void | setMaximumChroma2 (int maximumChroma) Sets the max value for the second coordinate in the second sequential palette. |
void | setNeutralPoint (float neutralPoint) Sets the neutral point position, should be in the range [0.0, 1.0]. |
virtual std::string | toPythonCode () const Returns the string representation of the object that can be used to reconstruct it in Python. |
virtual void | unserialize (SBCSerializer * serializer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override Unserializes the document. |
virtual | ~SBDPaletteFlexibleDivergingHCL () |
Public Functions inherited from SBDPalette#
See SBDPalette
Type | Name |
---|---|
SBDPalette () Default constructor for HSV color palette. |
|
SBDPalette (bool reverse) Constructor for HSV color palette with reverse flag. |
|
virtual SBDPalette * | clone () const Clones the palette. |
SBColor | getColor (float value) const Returns SBColor based on the palette and an intensity value value . |
virtual void | getColor (float * color, float value) const Computes RGB color color based on the palette and an intensity valuevalue 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 valuevalue which should be in the range [0.0, 1.0]. |
const std::string & | getName () const Returns the palette's name. |
bool | getReverseFlag () const Returns the reverse flag - whether the color palette is mirrored or not. |
virtual PaletteType | getType () const Returns the type of the color palette. |
std::string | getTypeString (bool humanReadable=false) const Returns the string representation of the color palette type. |
virtual bool | isEqual (const SBDPalette & other) const Returns whether this palette is equal to other . |
virtual bool | isSerializable () const Returns true. |
bool | operator!= (const SBDPalette & other) const Non-equality operator. |
bool | operator== (const SBDPalette & other) const Equality operator. |
virtual void | serialize (SBCSerializer * serializer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) const Serializes the document. |
void | setName (const std::string & name) Sets the palette's name to name . |
void | setReverseFlag (bool b) Sets the reverse flag - whether to mirror or not the color palette. |
virtual std::string | toPythonCode () const Returns the string representation of the object that can be used to reconstruct it in Python. |
virtual void | unserialize (SBCSerializer * serializer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) Unserializes the document. |
virtual | ~SBDPalette () |
Public Static Functions inherited from SBDPalette#
See SBDPalette
Type | Name |
---|---|
std::string | getTypeString (PaletteType paletteType, bool humanReadable=false) Returns the string representation of the color palette type paletteType . |
float | getValueAlongLinearTrajectory (float y1, float y2, float power, float x) Returns a value along the "linear" trajectory. |
float | getValueAlongTriangularTrajectory (float y1, float ymax, float y2, float power, float x) Returns a value along "triangular" trajectory. |
Protected Attributes#
Type | Name |
---|---|
int | chroma1 The starting value for the chroma coordinate (corresponds to hue1 ) |
int | chroma2 The center value for the chroma coordinate (corresponds to hue2 ) |
int | chroma3 The end value for the chroma coordinate (corresponds to hue3 ) |
float | chromaPower1 The power of the intensity value for the computation of the chroma coordinate in the first sequential palette, the power should be greater than 0. |
float | chromaPower2 The power of the intensity value for the computation of the chroma coordinate in the second sequential palette, the power should be greater than 0. |
int | hue1 The starting value for the hue coordinate. |
int | hue2 The center value for the hue coordinate. |
int | hue3 The end value for the first coordinate. |
int | luminance1 The starting value for the luminance coordinate (corresponds to hue1 ) |
int | luminance2 The center value for the luminance coordinate (corresponds to hue2 ) |
int | luminance3 The end value for the luminance coordinate (corresponds to hue3 ) |
float | luminancePower1 The power of the intensity value for the computation of the luminance coordinate in the first sequential palette, the power should be greater than 0. |
float | luminancePower2 The power of the intensity value for the computation of the luminance coordinate in the second sequential palette, the power should be greater than 0. |
int | maximumChroma1 The max value for the chroma coordinate for the triangular trajectory in the first sequential palette. |
int | maximumChroma2 The max value for the chroma coordinate for the triangular trajectory in the second sequential palette. |
float | neutralPoint The neutral point position, should be in the range [0.0, 1.0]. |
Protected Attributes inherited from SBDPalette#
See SBDPalette
Type | Name |
---|---|
std::string * | name The palette's name. |
bool | reverseFlag Reverse flag: if true, then the palette is reversed/mirrored. |
Detailed Description#
A flexible diverging palette is constructed in a 3D color coordinate space with coordinates named Hue, Chroma, and Luminance. Flexible diverging HCL color palettes generated through combination of two fully flexible multi-hue sequential palettes.
Short name: SBPaletteFlexibleDivergingHCL
Public Functions Documentation#
function SBDPaletteFlexibleDivergingHCL [1/3]#
Default constructor.
function SBDPaletteFlexibleDivergingHCL [2/3]#
SBDPaletteFlexibleDivergingHCL::SBDPaletteFlexibleDivergingHCL (
int hue1,
int hue2,
int hue3,
int chroma1,
int chroma2,
int chroma3,
int luminance1=70,
int luminance2=70,
int luminance3=70,
float chromaPower1=1.0f,
float luminancePower1=1.0f,
float chromaPower2=1.0f,
float luminancePower2=1.0f,
int maximumChroma1=50,
int maximumChroma2=50,
float neutralPoint=0.5f,
std::string name=std::string(""),
bool reverse=false
)
function SBDPaletteFlexibleDivergingHCL [3/3]#
Copy constructor.
SBDPaletteFlexibleDivergingHCL::SBDPaletteFlexibleDivergingHCL (
const SBDPaletteFlexibleDivergingHCL & otherColorPalette
)
function clone#
Clones the color palette.
Implements SBDPalette::clone
function getChroma1#
Returns the starting value for the second coordinate.
function getChroma2#
Returns the center value for the second coordinate.
function getChroma3#
Returns the end value for the second coordinate.
function getChromaPower1#
Returns the power of the intensity value for the computation of the second coordinate in the first sequential palette.
function getChromaPower2#
Returns the power of the intensity value for the computation of the second coordinate in the second sequential palette.
function getColor#
Computes sRGB color color
based on this palette for the given intensity valuevalue
which should be in the range [0.0, 1.0].
Implements SBDPalette::getColor
function getColorInPaletteColorSpace#
Computes color coordinates color
in this palette's color space for the given intensity valuevalue
which should be in the range [0.0, 1.0].
virtual void SBDPaletteFlexibleDivergingHCL::getColorInPaletteColorSpace (
float * color,
float value
) override const
SBDPaletteFlexibleDivergingHCL::getColorInPaletteColorSpace - Computes color coordinates color
in the HCL color space for the given intensity value value
.
Parameters:
color
- an array for color coordinates (with the size greater than or equal to 3) in the HCL color space.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.
Implements SBDPalette::getColorInPaletteColorSpace
function getHue1#
Returns the starting value for the first coordinate.
function getHue2#
Returns the center value for the first coordinate.
function getHue3#
Returns the end value for the first coordinate.
function getLuminance1#
Returns the starting value for the third coordinate.
function getLuminance2#
Returns the center value for the third coordinate.
function getLuminance3#
Returns the end value for the third coordinate.
function getLuminancePower1#
Returns the power of the intensity value for the computation of the third coordinate in the first sequential palette.
function getLuminancePower2#
Returns the power of the intensity value for the computation of the third coordinate in the second sequential palette.
function getMaximumChroma1#
Returns the max value for the second coordinate in the first sequential palette.
function getMaximumChroma2#
Returns the max value for the second coordinate in the second sequential palette.
function getNeutralPoint#
Returns the neutral point position.
function getType#
Returns the type of the color palette.
Implements SBDPalette::getType
function isEqual#
Returns whether this palette is equal to other
.
Implements SBDPalette::isEqual
function isSerializable#
Returns true.
Implements SBDPalette::isSerializable
function serialize#
Serializes the document.
virtual void SBDPaletteFlexibleDivergingHCL::serialize (
SBCSerializer * serializer,
const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override const
Implements SBDPalette::serialize
function setChroma#
Sets the parameters for the second coordinate.
void SBDPaletteFlexibleDivergingHCL::setChroma (
int chroma1,
int chroma2,
int chroma3,
int maximumChroma1,
int maximumChroma2,
float chromaPower1=1.0f,
float chromaPower2=1.0f
)
function setChroma1#
Sets the starting value for the second coordinate.
function setChroma2#
Sets the center value for the second coordinate.
function setChroma3#
Sets the end value for the second coordinate.
function setChromaPower1#
Sets the power of the intensity value for the computation of the second coordinate in the first sequential palette, the power should be greater than 0.
function setChromaPower2#
Sets the power of the intensity value for the computation of the second coordinate in the second sequential palette, the power should be greater than 0.
function setHue#
Sets the parameters for the first coordinate.
function setHue1#
Sets the starting value for the first coordinate.
function setHue2#
Sets the center value for the first coordinate.
function setHue3#
Sets the end value for the first coordinate.
function setLuminance#
Sets the parameters for the third coordinate.
void SBDPaletteFlexibleDivergingHCL::setLuminance (
int luminance1,
int luminance2,
int luminance3,
float luminancePower1=1.0f,
float luminancePower2=1.0f
)
function setLuminance1#
Sets the starting value for the third coordinate.
function setLuminance2#
Sets the center value for the third coordinate.
function setLuminance3#
Sets the end value for the third coordinate.
function setLuminancePower1#
Sets the power of the intensity value for the computation of the third coordinate in the first sequential palette, the power should be greater than 0.
function setLuminancePower2#
Sets the power of the intensity value for the computation of the third coordinate in the second sequential palette, the power should be greater than 0.
function setMaximumChroma1#
Sets the max value for the second coordinate in the first sequential palette.
function setMaximumChroma2#
Sets the max value for the second coordinate in the second sequential palette.
function setNeutralPoint#
Sets the neutral point position, should be in the range [0.0, 1.0].
function toPythonCode#
Returns the string representation of the object that can be used to reconstruct it in Python.
Implements SBDPalette::toPythonCode
function unserialize#
Unserializes the document.
virtual void SBDPaletteFlexibleDivergingHCL::unserialize (
SBCSerializer * serializer,
const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) override
Implements SBDPalette::unserialize
function ~SBDPaletteFlexibleDivergingHCL#
Protected Attributes Documentation#
variable chroma1#
The starting value for the chroma coordinate (corresponds to hue1
)
variable chroma2#
The center value for the chroma coordinate (corresponds to hue2
)
variable chroma3#
The end value for the chroma coordinate (corresponds to hue3
)
variable chromaPower1#
The power of the intensity value for the computation of the chroma coordinate in the first sequential palette, the power should be greater than 0.
variable chromaPower2#
The power of the intensity value for the computation of the chroma coordinate in the second sequential palette, the power should be greater than 0.
variable hue1#
The starting value for the hue coordinate.
variable hue2#
The center value for the hue coordinate.
variable hue3#
The end value for the first coordinate.
variable luminance1#
The starting value for the luminance coordinate (corresponds to hue1
)
variable luminance2#
The center value for the luminance coordinate (corresponds to hue2
)
variable luminance3#
The end value for the luminance coordinate (corresponds to hue3
)
variable luminancePower1#
The power of the intensity value for the computation of the luminance coordinate in the first sequential palette, the power should be greater than 0.
variable luminancePower2#
The power of the intensity value for the computation of the luminance coordinate in the second sequential palette, the power should be greater than 0.
variable maximumChroma1#
The max value for the chroma coordinate for the triangular trajectory in the first sequential palette.
variable maximumChroma2#
The max value for the chroma coordinate for the triangular trajectory in the second sequential palette.
variable neutralPoint#
The neutral point position, should be in the range [0.0, 1.0].