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 
231  int GetNumberOfColorSchemes() const;
232 
236  virtual vtkStdString GetColorSchemeName() const;
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 
264  vtkColor3ub GetColor(int index) const;
265 
270  vtkColor3ub GetColorRepeating(int index) const;
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:
325  vtkColorSeries();
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::BREWER_SEQUENTIAL_BLUE_PURPLE_4
@ BREWER_SEQUENTIAL_BLUE_PURPLE_4
blue to purple sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:180
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::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
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkColorSeries
stores a list of colors.
Definition: vtkColorSeries.h:59
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::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:62
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::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::BREWER_SEQUENTIAL_BLUE_GREEN_6
@ BREWER_SEQUENTIAL_BLUE_GREEN_6
blue to green sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:148
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::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::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::ColorSchemes
ColorSchemes
Enum of the available color schemes.
Definition: vtkColorSeries.h:73
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:33
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_8
@ BREWER_SEQUENTIAL_BLUE_PURPLE_8
blue to purple sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:172
vtkColorSeries::BREWER_QUALITATIVE_SET3
@ BREWER_QUALITATIVE_SET3
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:198
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_9
@ BREWER_SEQUENTIAL_BLUE_GREEN_9
blue to green sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:142
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
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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::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:68
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:208
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:194
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_9
@ BREWER_SEQUENTIAL_BLUE_PURPLE_9
blue to purple sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:170
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:34
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::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::BREWER_DIVERGING_SPECTRAL_4
@ BREWER_DIVERGING_SPECTRAL_4
diverging spectral ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:120