VTK
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 
41 #ifndef vtkColorSeries_h
42 #define vtkColorSeries_h
43 
44 #include "vtkCommonColorModule.h" // For export macro
45 #include "vtkObject.h"
46 #include "vtkColor.h" // Needed for vtkColor[34]ub
47 #include "vtkStdString.h" // Needed for arguments
48 
49 class vtkLookupTable;
50 
51 class VTKCOMMONCOLOR_EXPORT vtkColorSeries : public vtkObject
52 {
53 public:
54  vtkTypeMacro(vtkColorSeries, vtkObject);
55  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
60  static vtkColorSeries* New();
61 
65  enum ColorSchemes {
67  SPECTRUM = 0,
191  CUSTOM
192  };
193 
199 enum LUTMode {
201  ORDINAL = 0,
203  CATEGORICAL
204 };
205 
207 
214  virtual void SetColorScheme(int scheme);
215  virtual int SetColorSchemeByName(const vtkStdString& schemeName);
217 
221  int GetNumberOfColorSchemes() const;
222 
226  virtual vtkStdString GetColorSchemeName() const;
227 
231  virtual void SetColorSchemeName(const vtkStdString& scheme);
232 
236  virtual int GetColorScheme() const;
237 
241  virtual int GetNumberOfColors() const;
242 
248  virtual void SetNumberOfColors(int numColors);
249 
254  vtkColor3ub GetColor(int index) const;
255 
260  vtkColor3ub GetColorRepeating(int index) const;
261 
266  virtual void SetColor(int index, const vtkColor3ub &color);
267 
271  virtual void AddColor(const vtkColor3ub &color);
272 
276  virtual void InsertColor(int index, const vtkColor3ub &color);
277 
281  virtual void RemoveColor(int index);
282 
286  virtual void ClearColors();
287 
291  virtual void DeepCopy(vtkColorSeries *chartColors);
292 
300  void BuildLookupTable(vtkLookupTable* lkup, int lutIndexing = CATEGORICAL);
301 
312  vtkLookupTable* CreateLookupTable(int lutIndexing = CATEGORICAL);
313 
314 protected:
315  vtkColorSeries();
316  ~vtkColorSeries() override;
317 
322  virtual void CopyOnWrite();
323 
325 
328  class Private;
329  Private* Storage;
331 
336 
339 
340 private:
341  vtkColorSeries(const vtkColorSeries &) = delete;
342  void operator=(const vtkColorSeries &) = delete;
343 
344 };
345 
346 #endif //vtkColorSeries_h
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_4
blue to purple sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:171
vtkColorSeries::BREWER_QUALITATIVE_SET2
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:179
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_5
brown-blue-green diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:127
vtkStdString.h
vtkColorSeries::BREWER_QUALITATIVE_SET1
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:185
vtkColorSeries::WARM
6 warm colors (red to yellow).
Definition: vtkColorSeries.h:69
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_8
diverging spectral ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:103
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_8
purple-grey-orange diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:85
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_8
yellow-orange-brown sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:149
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_3
diverging spectral ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:113
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_5
blue to green sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:141
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_5
diverging spectral ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:109
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_7
yellow-orange-brown sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:151
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_3
yellow-orange-brown sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:159
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_5
blue to purple sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:169
vtkColorSeries::ColorScheme
int ColorScheme
The color scheme being used.
Definition: vtkColorSeries.h:335
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:51
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_9
purple-grey-orange diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:83
vtkColorSeries::BLUES
7 different blues.
Definition: vtkColorSeries.h:73
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_4
blue to green sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:143
vtkColorSeries::COOL
7 cool colors (green to purple).
Definition: vtkColorSeries.h:71
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:53
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_3
brown-blue-green diverging ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:131
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_6
brown-blue-green diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:125
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_5
purple-grey-orange diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:91
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_9
yellow-orange-brown sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:147
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_7
blue to purple sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:165
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_6
blue to green sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:139
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_8
brown-blue-green diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:121
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_7
diverging spectral ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:105
vtkColorSeries::BREWER_QUALITATIVE_PASTEL1
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:183
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_11
purple-grey-orange diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:79
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_6
purple-grey-orange diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:89
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_7
brown-blue-green diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:123
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_4
brown-blue-green diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:129
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_3
blue to purple sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:173
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_4
purple-grey-orange diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:93
vtkX3D::color
Definition: vtkX3D.h:221
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_10
brown-blue-green diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:117
vtkColorSeries::ColorSchemes
ColorSchemes
Enum of the available color schemes.
Definition: vtkColorSeries.h:65
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_6
yellow-orange-brown sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:153
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_5
yellow-orange-brown sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:155
vtkColorSeries::ColorSchemeName
vtkStdString ColorSchemeName
The color scheme being used.
Definition: vtkColorSeries.h:338
vtkColor.h
vtkColorSeries::BREWER_QUALITATIVE_PAIRED
a qualitative ColorBrewer scheme with pairs of matching colors
Definition: vtkColorSeries.h:187
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_8
blue to purple sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:163
vtkColorSeries::BREWER_QUALITATIVE_SET3
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:189
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_9
blue to green sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:133
vtkColorSeries::WILD_FLOWER
7 colors from blue to magenta.
Definition: vtkColorSeries.h:75
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_3
blue to green sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:145
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
brown-blue-green diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:119
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_10
purple-grey-orange diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:81
vtkObject.h
vtkColorSeries::BREWER_QUALITATIVE_DARK2
a dark set of qualitative colors from ColorBrewer
Definition: vtkColorSeries.h:177
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:68
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_7
purple-grey-orange diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:87
vtkColorSeries::BREWER_QUALITATIVE_ACCENT
qualitative ColorBrewer scheme good for accenting
Definition: vtkColorSeries.h:175
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:199
vtkColorSeries::BREWER_QUALITATIVE_PASTEL2
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:181
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_11
brown-blue-green diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:115
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_11
diverging spectral ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:97
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_8
blue to green sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:135
vtkColorSeries::CITRUS
6 colors from green to orange.
Definition: vtkColorSeries.h:77
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_7
blue to green sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:137
vtkColor3ub
Some derived classes for the different colors commonly used.
Definition: vtkColor.h:194
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_9
blue to purple sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:161
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_6
blue to purple sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:167
VTK_NEWINSTANCE
#define VTK_NEWINSTANCE
Definition: vtkWrappingHints.h:39
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_3
purple-grey-orange diverging ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:95
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:34
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_9
diverging spectral ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:101
vtkX3D::index
Definition: vtkX3D.h:246
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_10
diverging spectral ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:99
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_6
diverging spectral ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:107
vtkColorSeries::Storage
Private * Storage
Definition: vtkColorSeries.h:328
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_4
yellow-orange-brown sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:157
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_4
diverging spectral ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:111