VTK  9.0.1
vtkColorSeries.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkColorSeries.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
49 #ifndef vtkColorSeries_h
50 #define vtkColorSeries_h
51 
52 #include "vtkColor.h" // Needed for vtkColor[34]ub
53 #include "vtkCommonColorModule.h" // For export macro
54 #include "vtkObject.h"
55 #include "vtkStdString.h" // Needed for arguments
56 
57 class vtkLookupTable;
58 
59 class VTKCOMMONCOLOR_EXPORT vtkColorSeries : public vtkObject
60 {
61 public:
62  vtkTypeMacro(vtkColorSeries, vtkObject);
63  void PrintSelf(ostream& os, vtkIndent indent) override;
64 
68  static vtkColorSeries* New();
69 
74  {
76  SPECTRUM = 0,
200  CUSTOM
201  };
202 
208  enum LUTMode
209  {
211  ORDINAL = 0,
213  CATEGORICAL
214  };
215 
217 
224  virtual void SetColorScheme(int scheme);
225  virtual int SetColorSchemeByName(const vtkStdString& schemeName);
227 
232 
237 
241  virtual void SetColorSchemeName(const vtkStdString& scheme);
242 
246  virtual int GetColorScheme() const;
247 
251  virtual int GetNumberOfColors() const;
252 
258  virtual void SetNumberOfColors(int numColors);
259 
265 
271 
276  virtual void SetColor(int index, const vtkColor3ub& color);
277 
281  virtual void AddColor(const vtkColor3ub& color);
282 
286  virtual void InsertColor(int index, const vtkColor3ub& color);
287 
291  virtual void RemoveColor(int index);
292 
296  virtual void ClearColors();
297 
301  virtual void DeepCopy(vtkColorSeries* chartColors);
302 
310  void BuildLookupTable(vtkLookupTable* lkup, int lutIndexing = CATEGORICAL);
311 
322  vtkLookupTable* CreateLookupTable(int lutIndexing = CATEGORICAL);
323 
324 protected:
326  ~vtkColorSeries() override;
327 
332  virtual void CopyOnWrite();
333 
335 
338  class Private;
339  Private* Storage;
341 
346 
349 
350 private:
351  vtkColorSeries(const vtkColorSeries&) = delete;
352  void operator=(const vtkColorSeries&) = delete;
353 };
354 
355 #endif // vtkColorSeries_h
vtkColorSeries::GetNumberOfColors
virtual int GetNumberOfColors() const
Get the number of colors available in the current color scheme.
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_4
@ BREWER_SEQUENTIAL_BLUE_PURPLE_4
blue to purple sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:180
vtkColorSeries::SetColorScheme
virtual void SetColorScheme(int scheme)
Set the color scheme that should be used.
vtkColorSeries::BREWER_QUALITATIVE_SET2
@ BREWER_QUALITATIVE_SET2
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:188
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_5
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_5
brown-blue-green diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:136
vtkStdString.h
vtkColorSeries::BREWER_QUALITATIVE_SET1
@ BREWER_QUALITATIVE_SET1
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:194
vtkColorSeries::WARM
@ WARM
6 warm colors (red to yellow).
Definition: vtkColorSeries.h:78
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_8
@ BREWER_DIVERGING_SPECTRAL_8
diverging spectral ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:112
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_8
@ BREWER_DIVERGING_PURPLE_ORANGE_8
purple-grey-orange diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:94
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_8
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_8
yellow-orange-brown sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:158
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_3
@ BREWER_DIVERGING_SPECTRAL_3
diverging spectral ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:122
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_5
@ BREWER_SEQUENTIAL_BLUE_GREEN_5
blue to green sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:150
vtkColorSeries::GetColorScheme
virtual int GetColorScheme() const
Return the ID of the color scheme currently in use.
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_5
@ BREWER_DIVERGING_SPECTRAL_5
diverging spectral ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:118
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_7
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_7
yellow-orange-brown sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:160
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_3
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_3
yellow-orange-brown sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:168
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_5
@ BREWER_SEQUENTIAL_BLUE_PURPLE_5
blue to purple sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:178
vtkColorSeries::ColorScheme
int ColorScheme
The color scheme being used.
Definition: vtkColorSeries.h:345
vtkColorSeries
stores a list of colors.
Definition: vtkColorSeries.h:60
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_9
@ BREWER_DIVERGING_PURPLE_ORANGE_9
purple-grey-orange diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:92
vtkColorSeries::BLUES
@ BLUES
7 different blues.
Definition: vtkColorSeries.h:82
vtkColorSeries::New
static vtkColorSeries * New()
Create a new vtkColorSeries with the SPECTRUM color scheme.
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_4
@ BREWER_SEQUENTIAL_BLUE_GREEN_4
blue to green sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:152
vtkColorSeries::COOL
@ COOL
7 cool colors (green to purple).
Definition: vtkColorSeries.h:80
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:54
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_3
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_3
brown-blue-green diverging ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:140
vtkColorSeries::DeepCopy
virtual void DeepCopy(vtkColorSeries *chartColors)
Make a deep copy of the supplied object.
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_6
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_6
brown-blue-green diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:134
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_5
@ BREWER_DIVERGING_PURPLE_ORANGE_5
purple-grey-orange diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:100
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_9
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_9
yellow-orange-brown sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:156
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_7
@ BREWER_SEQUENTIAL_BLUE_PURPLE_7
blue to purple sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:174
vtkColorSeries::GetColorRepeating
vtkColor3ub GetColorRepeating(int index) const
Get the color at the specified index.
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_6
@ BREWER_SEQUENTIAL_BLUE_GREEN_6
blue to green sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:148
vtkColorSeries::AddColor
virtual void AddColor(const vtkColor3ub &color)
Adds the color to the end of the list.
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_8
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_8
brown-blue-green diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:130
vtkColorSeries::ClearColors
virtual void ClearColors()
Clears the list of colors.
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_7
@ BREWER_DIVERGING_SPECTRAL_7
diverging spectral ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:114
vtkColorSeries::BREWER_QUALITATIVE_PASTEL1
@ BREWER_QUALITATIVE_PASTEL1
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:192
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_11
@ BREWER_DIVERGING_PURPLE_ORANGE_11
purple-grey-orange diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:88
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_6
@ BREWER_DIVERGING_PURPLE_ORANGE_6
purple-grey-orange diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:98
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_7
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_7
brown-blue-green diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:132
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_4
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_4
brown-blue-green diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:138
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_3
@ BREWER_SEQUENTIAL_BLUE_PURPLE_3
blue to purple sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:182
vtkColorSeries::SetColorSchemeName
virtual void SetColorSchemeName(const vtkStdString &scheme)
Set the name of the current color scheme.
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_4
@ BREWER_DIVERGING_PURPLE_ORANGE_4
purple-grey-orange diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:102
vtkX3D::color
@ color
Definition: vtkX3D.h:227
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_10
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_10
brown-blue-green diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:126
vtkColorSeries::vtkColorSeries
vtkColorSeries()
vtkColorSeries::ColorSchemes
ColorSchemes
Enum of the available color schemes.
Definition: vtkColorSeries.h:74
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_6
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_6
yellow-orange-brown sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:162
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_5
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_5
yellow-orange-brown sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:164
vtkColorSeries::ColorSchemeName
vtkStdString ColorSchemeName
The color scheme being used.
Definition: vtkColorSeries.h:348
vtkColor.h
vtkColorSeries::BREWER_QUALITATIVE_PAIRED
@ BREWER_QUALITATIVE_PAIRED
a qualitative ColorBrewer scheme with pairs of matching colors
Definition: vtkColorSeries.h:196
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_8
@ BREWER_SEQUENTIAL_BLUE_PURPLE_8
blue to purple sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:172
vtkColorSeries::InsertColor
virtual void InsertColor(int index, const vtkColor3ub &color)
Inserts the color at the specified index in the list.
vtkColorSeries::BREWER_QUALITATIVE_SET3
@ BREWER_QUALITATIVE_SET3
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:198
vtkColorSeries::~vtkColorSeries
~vtkColorSeries() override
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_9
@ BREWER_SEQUENTIAL_BLUE_GREEN_9
blue to green sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:142
vtkColorSeries::CreateLookupTable
vtkLookupTable * CreateLookupTable(int lutIndexing=CATEGORICAL)
Create a new lookup table with all the colors in the current scheme.
vtkColorSeries::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkColorSeries::SetNumberOfColors
virtual void SetNumberOfColors(int numColors)
Set the number of colors to be stored in a non-default color scheme.
vtkColorSeries::WILD_FLOWER
@ WILD_FLOWER
7 colors from blue to magenta.
Definition: vtkColorSeries.h:84
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_3
@ BREWER_SEQUENTIAL_BLUE_GREEN_3
blue to green sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:154
vtkColorSeries::CopyOnWrite
virtual void CopyOnWrite()
If the current scheme is a predefined (read-only) scheme, copy the current colors to a new scheme and...
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_9
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_9
brown-blue-green diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:128
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_10
@ BREWER_DIVERGING_PURPLE_ORANGE_10
purple-grey-orange diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:90
vtkObject.h
vtkColorSeries::SetColor
virtual void SetColor(int index, const vtkColor3ub &color)
Set the color at the specified index.
vtkColorSeries::BREWER_QUALITATIVE_DARK2
@ BREWER_QUALITATIVE_DARK2
a dark set of qualitative colors from ColorBrewer
Definition: vtkColorSeries.h:186
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:69
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_7
@ BREWER_DIVERGING_PURPLE_ORANGE_7
purple-grey-orange diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:96
vtkColorSeries::BREWER_QUALITATIVE_ACCENT
@ BREWER_QUALITATIVE_ACCENT
qualitative ColorBrewer scheme good for accenting
Definition: vtkColorSeries.h:184
vtkColorSeries::LUTMode
LUTMode
An enum defining how lookup tables should be used: either as a list of discrete colors to choose from...
Definition: vtkColorSeries.h:209
vtkColorSeries::BREWER_QUALITATIVE_PASTEL2
@ BREWER_QUALITATIVE_PASTEL2
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:190
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_11
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_11
brown-blue-green diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:124
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_11
@ BREWER_DIVERGING_SPECTRAL_11
diverging spectral ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:106
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_8
@ BREWER_SEQUENTIAL_BLUE_GREEN_8
blue to green sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:144
vtkColorSeries::CITRUS
@ CITRUS
6 colors from green to orange.
Definition: vtkColorSeries.h:86
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_7
@ BREWER_SEQUENTIAL_BLUE_GREEN_7
blue to green sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:146
vtkColor3ub
Some derived classes for the different colors commonly used.
Definition: vtkColor.h:195
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_9
@ BREWER_SEQUENTIAL_BLUE_PURPLE_9
blue to purple sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:170
vtkColorSeries::BuildLookupTable
void BuildLookupTable(vtkLookupTable *lkup, int lutIndexing=CATEGORICAL)
Populate a lookup table with all the colors in the current scheme.
vtkColorSeries::GetColor
vtkColor3ub GetColor(int index) const
Get the color at the specified index.
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_6
@ BREWER_SEQUENTIAL_BLUE_PURPLE_6
blue to purple sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:176
VTK_NEWINSTANCE
#define VTK_NEWINSTANCE
Definition: vtkWrappingHints.h:42
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_3
@ BREWER_DIVERGING_PURPLE_ORANGE_3
purple-grey-orange diverging ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:104
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:35
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_9
@ BREWER_DIVERGING_SPECTRAL_9
diverging spectral ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:110
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_10
@ BREWER_DIVERGING_SPECTRAL_10
diverging spectral ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:108
vtkColorSeries::RemoveColor
virtual void RemoveColor(int index)
Removes the color at the specified index in the list.
vtkColorSeries::GetNumberOfColorSchemes
int GetNumberOfColorSchemes() const
Return the number of schemes currently defined.
vtkColorSeries::GetColorSchemeName
virtual vtkStdString GetColorSchemeName() const
Get the color scheme that is currently being used.
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_6
@ BREWER_DIVERGING_SPECTRAL_6
diverging spectral ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:116
vtkColorSeries::Storage
Private * Storage
Definition: vtkColorSeries.h:338
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_4
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_4
yellow-orange-brown sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:166
vtkColorSeries::SetColorSchemeByName
virtual int SetColorSchemeByName(const vtkStdString &schemeName)
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_4
@ BREWER_DIVERGING_SPECTRAL_4
diverging spectral ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:120