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 
44 #ifndef vtkColorSeries_h
45 #define vtkColorSeries_h
46 
47 #include "vtkCommonColorModule.h" // For export macro
48 #include "vtkObject.h"
49 #include "vtkColor.h" // Needed for vtkColor[34]ub
50 #include "vtkStdString.h" // Needed for arguments
51 
52 class vtkLookupTable;
53 
54 class VTKCOMMONCOLOR_EXPORT vtkColorSeries : public vtkObject
55 {
56 public:
57  vtkTypeMacro(vtkColorSeries, vtkObject);
58  void PrintSelf(ostream& os, vtkIndent indent) override;
59 
63  static vtkColorSeries* New();
64 
68  enum ColorSchemes {
70  SPECTRUM = 0,
194  CUSTOM
195  };
196 
202 enum LUTMode {
204  ORDINAL = 0,
206  CATEGORICAL
207 };
208 
210 
217  virtual void SetColorScheme(int scheme);
218  virtual int SetColorSchemeByName(const vtkStdString& schemeName);
220 
224  int GetNumberOfColorSchemes() const;
225 
229  virtual vtkStdString GetColorSchemeName() const;
230 
234  virtual void SetColorSchemeName(const vtkStdString& scheme);
235 
239  virtual int GetColorScheme() const;
240 
244  virtual int GetNumberOfColors() const;
245 
251  virtual void SetNumberOfColors(int numColors);
252 
257  vtkColor3ub GetColor(int index) const;
258 
263  vtkColor3ub GetColorRepeating(int index) const;
264 
269  virtual void SetColor(int index, const vtkColor3ub &color);
270 
274  virtual void AddColor(const vtkColor3ub &color);
275 
279  virtual void InsertColor(int index, const vtkColor3ub &color);
280 
284  virtual void RemoveColor(int index);
285 
289  virtual void ClearColors();
290 
294  virtual void DeepCopy(vtkColorSeries *chartColors);
295 
303  void BuildLookupTable(vtkLookupTable* lkup, int lutIndexing = CATEGORICAL);
304 
315  vtkLookupTable* CreateLookupTable(int lutIndexing = CATEGORICAL);
316 
317 protected:
318  vtkColorSeries();
319  ~vtkColorSeries() override;
320 
325  virtual void CopyOnWrite();
326 
328 
331  class Private;
332  Private* Storage;
334 
339 
342 
343 private:
344  vtkColorSeries(const vtkColorSeries &) = delete;
345  void operator=(const vtkColorSeries &) = delete;
346 
347 };
348 
349 #endif //vtkColorSeries_h
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_4
blue to purple sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:174
vtkColorSeries::BREWER_QUALITATIVE_SET2
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:182
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_5
brown-blue-green diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:130
vtkStdString.h
vtkColorSeries::BREWER_QUALITATIVE_SET1
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:188
vtkColorSeries::WARM
6 warm colors (red to yellow).
Definition: vtkColorSeries.h:72
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_8
diverging spectral ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:106
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_8
purple-grey-orange diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:88
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_8
yellow-orange-brown sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:152
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_3
diverging spectral ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:116
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_5
blue to green sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:144
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_5
diverging spectral ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:112
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_7
yellow-orange-brown sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:154
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_3
yellow-orange-brown sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:162
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_5
blue to purple sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:172
vtkColorSeries::ColorScheme
int ColorScheme
The color scheme being used.
Definition: vtkColorSeries.h:338
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:54
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_9
purple-grey-orange diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:86
vtkColorSeries::BLUES
7 different blues.
Definition: vtkColorSeries.h:76
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_4
blue to green sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:146
vtkColorSeries::COOL
7 cool colors (green to purple).
Definition: vtkColorSeries.h:74
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:59
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_3
brown-blue-green diverging ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:134
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_6
brown-blue-green diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:128
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_5
purple-grey-orange diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:94
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_9
yellow-orange-brown sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:150
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_7
blue to purple sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:168
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_6
blue to green sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:142
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_8
brown-blue-green diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:124
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_7
diverging spectral ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:108
vtkColorSeries::BREWER_QUALITATIVE_PASTEL1
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:186
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_11
purple-grey-orange diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:82
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_6
purple-grey-orange diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:92
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_7
brown-blue-green diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:126
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_4
brown-blue-green diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:132
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_3
blue to purple sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:176
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_4
purple-grey-orange diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:96
vtkX3D::color
Definition: vtkX3D.h:221
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_10
brown-blue-green diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:120
vtkColorSeries::ColorSchemes
ColorSchemes
Enum of the available color schemes.
Definition: vtkColorSeries.h:68
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_6
yellow-orange-brown sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:156
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_5
yellow-orange-brown sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:158
vtkColorSeries::ColorSchemeName
vtkStdString ColorSchemeName
The color scheme being used.
Definition: vtkColorSeries.h:341
vtkColor.h
vtkColorSeries::BREWER_QUALITATIVE_PAIRED
a qualitative ColorBrewer scheme with pairs of matching colors
Definition: vtkColorSeries.h:190
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_8
blue to purple sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:166
vtkColorSeries::BREWER_QUALITATIVE_SET3
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:192
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_9
blue to green sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:136
vtkColorSeries::WILD_FLOWER
7 colors from blue to magenta.
Definition: vtkColorSeries.h:78
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_3
blue to green sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:148
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:122
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_10
purple-grey-orange diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:84
vtkObject.h
vtkColorSeries::BREWER_QUALITATIVE_DARK2
a dark set of qualitative colors from ColorBrewer
Definition: vtkColorSeries.h:180
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:74
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_7
purple-grey-orange diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:90
vtkColorSeries::BREWER_QUALITATIVE_ACCENT
qualitative ColorBrewer scheme good for accenting
Definition: vtkColorSeries.h:178
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:202
vtkColorSeries::BREWER_QUALITATIVE_PASTEL2
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:184
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_11
brown-blue-green diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:118
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_11
diverging spectral ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:100
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_8
blue to green sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:138
vtkColorSeries::CITRUS
6 colors from green to orange.
Definition: vtkColorSeries.h:80
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_7
blue to green sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:140
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:164
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_6
blue to purple sequential ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:170
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:98
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:40
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_9
diverging spectral ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:104
vtkX3D::index
Definition: vtkX3D.h:246
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_10
diverging spectral ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:102
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_6
diverging spectral ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:110
vtkColorSeries::Storage
Private * Storage
Definition: vtkColorSeries.h:331
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_4
yellow-orange-brown sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:160
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_4
diverging spectral ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:114