Web Analytics Made Easy - Statcounter
Skip to content

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.

SBDPaletteFlexibleDivergingHCL::SBDPaletteFlexibleDivergingHCL () 


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.

virtual SBDPaletteFlexibleDivergingHCL * SBDPaletteFlexibleDivergingHCL::clone () override const

Implements SBDPalette::clone


function getChroma1#

Returns the starting value for the second coordinate.

int SBDPaletteFlexibleDivergingHCL::getChroma1 () const


function getChroma2#

Returns the center value for the second coordinate.

int SBDPaletteFlexibleDivergingHCL::getChroma2 () const


function getChroma3#

Returns the end value for the second coordinate.

int SBDPaletteFlexibleDivergingHCL::getChroma3 () const


function getChromaPower1#

Returns the power of the intensity value for the computation of the second coordinate in the first sequential palette.

float SBDPaletteFlexibleDivergingHCL::getChromaPower1 () const


function getChromaPower2#

Returns the power of the intensity value for the computation of the second coordinate in the second sequential palette.

float SBDPaletteFlexibleDivergingHCL::getChromaPower2 () const


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].

virtual void SBDPaletteFlexibleDivergingHCL::getColor (
    float * color,
    float value
) override const

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.

int SBDPaletteFlexibleDivergingHCL::getHue1 () const


function getHue2#

Returns the center value for the first coordinate.

int SBDPaletteFlexibleDivergingHCL::getHue2 () const


function getHue3#

Returns the end value for the first coordinate.

int SBDPaletteFlexibleDivergingHCL::getHue3 () const


function getLuminance1#

Returns the starting value for the third coordinate.

int SBDPaletteFlexibleDivergingHCL::getLuminance1 () const


function getLuminance2#

Returns the center value for the third coordinate.

int SBDPaletteFlexibleDivergingHCL::getLuminance2 () const


function getLuminance3#

Returns the end value for the third coordinate.

int SBDPaletteFlexibleDivergingHCL::getLuminance3 () const


function getLuminancePower1#

Returns the power of the intensity value for the computation of the third coordinate in the first sequential palette.

float SBDPaletteFlexibleDivergingHCL::getLuminancePower1 () const


function getLuminancePower2#

Returns the power of the intensity value for the computation of the third coordinate in the second sequential palette.

float SBDPaletteFlexibleDivergingHCL::getLuminancePower2 () const


function getMaximumChroma1#

Returns the max value for the second coordinate in the first sequential palette.

int SBDPaletteFlexibleDivergingHCL::getMaximumChroma1 () const


function getMaximumChroma2#

Returns the max value for the second coordinate in the second sequential palette.

int SBDPaletteFlexibleDivergingHCL::getMaximumChroma2 () const


function getNeutralPoint#

Returns the neutral point position.

float SBDPaletteFlexibleDivergingHCL::getNeutralPoint () const


function getType#

Returns the type of the color palette.

virtual PaletteType SBDPaletteFlexibleDivergingHCL::getType () override const

Implements SBDPalette::getType


function isEqual#

Returns whether this palette is equal to other .

virtual bool SBDPaletteFlexibleDivergingHCL::isEqual (
    const SBDPalette & other
) override const

Implements SBDPalette::isEqual


function isSerializable#

Returns true.

virtual bool SBDPaletteFlexibleDivergingHCL::isSerializable () override const

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.

void SBDPaletteFlexibleDivergingHCL::setChroma1 (
    int chroma
) 


function setChroma2#

Sets the center value for the second coordinate.

void SBDPaletteFlexibleDivergingHCL::setChroma2 (
    int chroma
) 


function setChroma3#

Sets the end value for the second coordinate.

void SBDPaletteFlexibleDivergingHCL::setChroma3 (
    int chroma
) 


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.

void SBDPaletteFlexibleDivergingHCL::setChromaPower1 (
    float chromaPower
) 


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.

void SBDPaletteFlexibleDivergingHCL::setChromaPower2 (
    float chromaPower
) 


function setHue#

Sets the parameters for the first coordinate.

void SBDPaletteFlexibleDivergingHCL::setHue (
    int hue1,
    int hue2,
    int hue3
) 


function setHue1#

Sets the starting value for the first coordinate.

void SBDPaletteFlexibleDivergingHCL::setHue1 (
    int hue
) 


function setHue2#

Sets the center value for the first coordinate.

void SBDPaletteFlexibleDivergingHCL::setHue2 (
    int hue
) 


function setHue3#

Sets the end value for the first coordinate.

void SBDPaletteFlexibleDivergingHCL::setHue3 (
    int hue
) 


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.

void SBDPaletteFlexibleDivergingHCL::setLuminance1 (
    int luminance
) 


function setLuminance2#

Sets the center value for the third coordinate.

void SBDPaletteFlexibleDivergingHCL::setLuminance2 (
    int luminance
) 


function setLuminance3#

Sets the end value for the third coordinate.

void SBDPaletteFlexibleDivergingHCL::setLuminance3 (
    int luminance
) 


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.

void SBDPaletteFlexibleDivergingHCL::setLuminancePower1 (
    float luminancePower
) 


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.

void SBDPaletteFlexibleDivergingHCL::setLuminancePower2 (
    float luminancePower
) 


function setMaximumChroma1#

Sets the max value for the second coordinate in the first sequential palette.

void SBDPaletteFlexibleDivergingHCL::setMaximumChroma1 (
    int maximumChroma
) 


function setMaximumChroma2#

Sets the max value for the second coordinate in the second sequential palette.

void SBDPaletteFlexibleDivergingHCL::setMaximumChroma2 (
    int maximumChroma
) 


function setNeutralPoint#

Sets the neutral point position, should be in the range [0.0, 1.0].

void SBDPaletteFlexibleDivergingHCL::setNeutralPoint (
    float neutralPoint
) 


function toPythonCode#

Returns the string representation of the object that can be used to reconstruct it in Python.

virtual std::string SBDPaletteFlexibleDivergingHCL::toPythonCode () const

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#

virtual SBDPaletteFlexibleDivergingHCL::~SBDPaletteFlexibleDivergingHCL () 

Protected Attributes Documentation#

variable chroma1#

The starting value for the chroma coordinate (corresponds to hue1 )

int chroma1;


variable chroma2#

The center value for the chroma coordinate (corresponds to hue2 )

int chroma2;


variable chroma3#

The end value for the chroma coordinate (corresponds to hue3 )

int chroma3;


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.

float chromaPower1;


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.

float chromaPower2;


variable hue1#

The starting value for the hue coordinate.

int hue1;


variable hue2#

The center value for the hue coordinate.

int hue2;


variable hue3#

The end value for the first coordinate.

int hue3;


variable luminance1#

The starting value for the luminance coordinate (corresponds to hue1 )

int luminance1;


variable luminance2#

The center value for the luminance coordinate (corresponds to hue2 )

int luminance2;


variable luminance3#

The end value for the luminance coordinate (corresponds to hue3 )

int luminance3;


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.

float luminancePower1;


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.

float luminancePower2;


variable maximumChroma1#

The max value for the chroma coordinate for the triangular trajectory in the first sequential palette.

int maximumChroma1;


variable maximumChroma2#

The max value for the chroma coordinate for the triangular trajectory in the second sequential palette.

int maximumChroma2;


variable neutralPoint#

The neutral point position, should be in the range [0.0, 1.0].

float neutralPoint;