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) VTK_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 
225 
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 
258 
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:
319  ~vtkColorSeries() VTK_OVERRIDE;
320 
325  virtual void CopyOnWrite();
326 
328 
331  class Private;
332  Private* Storage;
334 
338  int ColorScheme;
339 
341  vtkStdString ColorSchemeName;
342 
343 private:
344  vtkColorSeries(const vtkColorSeries &) VTK_DELETE_FUNCTION;
345  void operator=(const vtkColorSeries &) VTK_DELETE_FUNCTION;
346 
347 };
348 
349 #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:174
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:182
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_5
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_5
brown-blue-green diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:130
vtkStdString.h
vtkColorSeries::BREWER_QUALITATIVE_SET1
@ BREWER_QUALITATIVE_SET1
a qualitative ColorBrewer scheme useful for color set members
Definition: vtkColorSeries.h:188
vtkColorSeries::WARM
@ WARM
6 warm colors (red to yellow).
Definition: vtkColorSeries.h:72
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_8
@ BREWER_DIVERGING_SPECTRAL_8
diverging spectral ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:106
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_8
@ BREWER_DIVERGING_PURPLE_ORANGE_8
purple-grey-orange diverging ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:88
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_8
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_8
yellow-orange-brown sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:152
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_3
@ BREWER_DIVERGING_SPECTRAL_3
diverging spectral ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:116
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_5
@ BREWER_SEQUENTIAL_BLUE_GREEN_5
blue to green sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:144
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:112
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_7
@ 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
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_3
yellow-orange-brown sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:162
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_5
@ BREWER_SEQUENTIAL_BLUE_PURPLE_5
blue to purple sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:172
vtkColorSeries
stores a list of colors.
Definition: vtkColorSeries.h:55
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_9
@ BREWER_DIVERGING_PURPLE_ORANGE_9
purple-grey-orange diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:86
vtkColorSeries::BLUES
@ BLUES
7 different blues.
Definition: vtkColorSeries.h:76
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:146
vtkColorSeries::COOL
@ COOL
7 cool colors (green to purple).
Definition: vtkColorSeries.h:74
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:60
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_3
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_3
brown-blue-green diverging ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:134
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:128
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_5
@ BREWER_DIVERGING_PURPLE_ORANGE_5
purple-grey-orange diverging ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:94
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_9
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_9
yellow-orange-brown sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:150
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_7
@ BREWER_SEQUENTIAL_BLUE_PURPLE_7
blue to purple sequential ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:168
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:142
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:124
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:108
vtkColorSeries::BREWER_QUALITATIVE_PASTEL1
@ BREWER_QUALITATIVE_PASTEL1
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:186
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_11
@ BREWER_DIVERGING_PURPLE_ORANGE_11
purple-grey-orange diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:82
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_6
@ BREWER_DIVERGING_PURPLE_ORANGE_6
purple-grey-orange diverging ColorBrewer scheme (6 colors)
Definition: vtkColorSeries.h:92
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_7
@ 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
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_4
brown-blue-green diverging ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:132
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_3
@ BREWER_SEQUENTIAL_BLUE_PURPLE_3
blue to purple sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:176
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:96
vtkX3D::color
@ color
Definition: vtkX3D.h:221
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_10
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_10
brown-blue-green diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:120
vtkColorSeries::vtkColorSeries
vtkColorSeries()
vtkColorSeries::ColorSchemes
ColorSchemes
Enum of the available color schemes.
Definition: vtkColorSeries.h:68
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_6
@ 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
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_5
yellow-orange-brown sequential ColorBrewer scheme (5 colors)
Definition: vtkColorSeries.h:158
vtkColor.h
vtkColorSeries::CreateLookupTable
VTK_NEWINSTANCE vtkLookupTable * CreateLookupTable(int lutIndexing=CATEGORICAL)
Create a new lookup table with all the colors in the current scheme.
vtkColorSeries::BREWER_QUALITATIVE_PAIRED
@ 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:40
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_8
@ BREWER_SEQUENTIAL_BLUE_PURPLE_8
blue to purple sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:166
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:192
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:136
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:78
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_3
@ BREWER_SEQUENTIAL_BLUE_GREEN_3
blue to green sequential ColorBrewer scheme (3 colors)
Definition: vtkColorSeries.h:148
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_9
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_9
brown-blue-green diverging ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:122
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_10
@ BREWER_DIVERGING_PURPLE_ORANGE_10
purple-grey-orange diverging ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:84
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:180
vtkLookupTable
map scalar values into colors via a lookup table
Definition: vtkLookupTable.h:75
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_7
@ BREWER_DIVERGING_PURPLE_ORANGE_7
purple-grey-orange diverging ColorBrewer scheme (7 colors)
Definition: vtkColorSeries.h:90
vtkColorSeries::BREWER_QUALITATIVE_ACCENT
@ 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
@ BREWER_QUALITATIVE_PASTEL2
a qualitative ColorBrewer scheme composed of pastel colors
Definition: vtkColorSeries.h:184
vtkColorSeries::BREWER_DIVERGING_BROWN_BLUE_GREEN_11
@ BREWER_DIVERGING_BROWN_BLUE_GREEN_11
brown-blue-green diverging ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:118
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_11
@ BREWER_DIVERGING_SPECTRAL_11
diverging spectral ColorBrewer scheme (11 colors)
Definition: vtkColorSeries.h:100
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_8
@ BREWER_SEQUENTIAL_BLUE_GREEN_8
blue to green sequential ColorBrewer scheme (8 colors)
Definition: vtkColorSeries.h:138
vtkColorSeries::CITRUS
@ CITRUS
6 colors from green to orange.
Definition: vtkColorSeries.h:80
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_GREEN_7
@ 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:195
vtkColorSeries::BREWER_SEQUENTIAL_BLUE_PURPLE_9
@ BREWER_SEQUENTIAL_BLUE_PURPLE_9
blue to purple sequential ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:164
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:170
VTK_NEWINSTANCE
#define VTK_NEWINSTANCE
Definition: vtkWrappingHints.h:30
vtkColorSeries::BREWER_DIVERGING_PURPLE_ORANGE_3
@ 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:49
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_9
@ BREWER_DIVERGING_SPECTRAL_9
diverging spectral ColorBrewer scheme (9 colors)
Definition: vtkColorSeries.h:104
vtkX3D::index
@ index
Definition: vtkX3D.h:246
vtkColorSeries::BREWER_DIVERGING_SPECTRAL_10
@ BREWER_DIVERGING_SPECTRAL_10
diverging spectral ColorBrewer scheme (10 colors)
Definition: vtkColorSeries.h:102
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:110
vtkColorSeries::BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_4
@ BREWER_SEQUENTIAL_YELLOW_ORANGE_BROWN_4
yellow-orange-brown sequential ColorBrewer scheme (4 colors)
Definition: vtkColorSeries.h:160
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:114