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 |
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 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#
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#
enum SBDPalette::PaletteType {
Custom = 0,
Qualitative = 1,
Sequential = 2,
Diverging = 3,
FlexibleDiverging = 4,
Discrete = 5
};
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 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!=#
Non-equality 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#
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.