Class SBDPalette#
The SBDPalette class is a base class for color palettes.More...
#include "SBDPalette.hpp"
Inherited by the following classes: SBDPaletteDiscrete, SBDPaletteDiverging, SBDPaletteFlexibleDivergingHCL, SBDPaletteQualitative, SBDPaletteSequential
Public Types#
Type | Name |
---|---|
enum | PaletteType The three different types of palettes - qualitative, sequential, and diverging - are all constructed by combining three different types of trajectories (constant, linear, triangular) for the three different coordinates in the given color space (e.h.: hue H, chroma C, luminance L) |
Public Functions#
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 Inequality 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 () Destructor. |
Public Static Functions#
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 |
---|---|
std::string * | name The palette's name. |
bool | reverseFlag Reverse flag: if true, then the palette is reversed/mirrored. |
Detailed Description#
This class is a base class for color palettes in SAMSON.
Please refer to Color schemes for more information. The default implementation describes the HSV (Hue, Saturation, Value) color palette.
Short name: SBPalette
See also: Color schemes
Public Types Documentation#
enum PaletteType#
The three different types of palettes - qualitative, sequential, and diverging - are all constructed by combining three different types of trajectories (constant, linear, triangular) for the three different coordinates in the given color space (e.h.: hue H, chroma C, luminance L)
enum SBDPalette::PaletteType {
Custom = 0,
Qualitative = 1,
Sequential = 2,
Diverging = 3,
FlexibleDiverging = 4,
Discrete = 5
};
Public Functions Documentation#
function SBDPalette [1/2]#
Default constructor for HSV color palette.
function SBDPalette [2/2]#
Constructor for HSV color palette with reverse
flag.
function clone#
Clones the palette.
function getColor [1/2]#
Returns SBColor based on the palette and an intensity value value
.
SBDPalette::getColor - Returns SBColor based on the palette and an intensity value value
.
Parameters:
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.
function getColor [2/2]#
Computes RGB color color
based on the palette and an intensity valuevalue
which should be in the range [0.0, 1.0].
SBDPalette::getColor - Computes RGB color color
based on the palette and an intensity value value
.
Parameters:
color
- an array for color coordinates with the size greater than or equal to 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.
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].
SBDPalette::getColorInPaletteColorSpace - Computes color coordinates color
in this palette's color space for the given intensity value value
.
Parameters:
color
- an array for color coordinates with the size greater than or equal to 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.
function getName#
Returns the palette's name.
function getReverseFlag#
Returns the reverse flag - whether the color palette is mirrored or not.
function getType#
Returns the type of the color palette.
function getTypeString [1/2]#
Returns the string representation of the color palette type.
function isEqual#
Returns whether this palette is equal to other
.
function isSerializable#
Returns true
__
function operator!=#
Inequality operator.
function operator==#
Equality operator.
function serialize#
Serializes the document.
virtual void SBDPalette::serialize (
SBCSerializer * serializer,
const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
) const
function setName#
Sets the palette's name to name
.
function setReverseFlag#
Sets the reverse flag - whether to mirror or not the color palette.
function toPythonCode#
Returns the string representation of the object that can be used to reconstruct it in Python.
function unserialize#
Unserializes the document.
virtual void SBDPalette::unserialize (
SBCSerializer * serializer,
const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER,
const SBVersionNumber & classVersionNumber=SBVersionNumber (1, 0, 0)
)
function ~SBDPalette#
Destructor.
Public Static Functions Documentation#
function getTypeString [2/2]#
Returns the string representation of the color palette type paletteType
.
function getValueAlongLinearTrajectory#
Returns a value along the "linear" trajectory.
SBDPalette::getValueAlongLinearTrajectory - Returns the value corresponding to x
along the "linear" trajectory starting.
Parameters:
y1
- the start of the trajectoryy2
- the end of the trajectorypower
- a power parameter for the valuex
; if the power is equal to 1.0 the trajectory is linear, else it is a power-transformed curvex
- a value, should be in the range [0.0, 1.0].
Returns:
The value along the "linear" trajectory
function getValueAlongTriangularTrajectory#
Returns a value along "triangular" trajectory.
static float SBDPalette::getValueAlongTriangularTrajectory (
float y1,
float ymax,
float y2,
float power,
float x
)
SBDPalette::getValueAlongTriangularTrajectory - Returns the value corresponding to x
along the "triangular" trajectory starting.
Parameters:
y1
- the start of the trajectoryymax
- the max value on the trajectory that defines the triangular shape. If it is smaller thany1
ory2
then it defaults to the linear trajectory betweeny1
andy2
.y2
- the end of the trajectorypower
- a power parameter for the valuex
; if the power is equal to 1.0 the trajectories that constitute the triangular trajectory are linear, else they are power-transformed curvesx
- a value, should be in the range [0.0, 1.0].
Returns:
The value along the "triangular" trajectory
Protected Attributes Documentation#
variable name#
The palette's name.
variable reverseFlag#
Reverse flag: if true, then the palette is reversed/mirrored.