VTK  9.1.0
vtkNamedColors.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkNamedColors.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 =========================================================================*/
68 #ifndef vtkNamedColors_h
69 #define vtkNamedColors_h
70 
71 #include "vtkColor.h" // Needed for vtkColor[34]ub
72 #include "vtkCommonColorModule.h" // For export macro
73 #include "vtkObject.h"
74 #include "vtkStdString.h" // Needed for arguments
75 #include "vtkStringArray.h" // For returning color names
76 
77 class vtkNamedColorsDataStore;
78 class vtkColorStringParser;
79 
80 class VTKCOMMONCOLOR_EXPORT vtkNamedColors : public vtkObject
81 {
82 public:
83  vtkTypeMacro(vtkNamedColors, vtkObject);
84 
91  void PrintSelf(ostream& os, vtkIndent indent) override;
92 
96  static vtkNamedColors* New();
97 
102 
107  void ResetColors();
108 
113 
121 
129  void GetColor(const vtkStdString& name, unsigned char& r, unsigned char& g, unsigned char& b,
130  unsigned char& a);
131 
139  void GetColor(const vtkStdString& name, unsigned char rgba[4]);
140 
147  void GetColor(const vtkStdString& name, vtkColor4ub& rgba);
148 
156 
164  void GetColor(const vtkStdString& name, double& r, double& g, double& b, double& a);
165 
173  void GetColor(const vtkStdString& name, double rgba[4]);
174 
181  void GetColor(const vtkStdString& name, vtkColor4d& rgba);
182 
190 
198 
206  void GetColor(const vtkStdString& name, double& r, double& g, double& b);
207 
215  void GetColorRGB(const vtkStdString& name, double rgb[3]);
216 
223  void GetColor(const vtkStdString& name, vtkColor3ub& rgb);
224 
231  void GetColor(const vtkStdString& name, vtkColor3d& rgb);
232 
239  virtual void SetColor(const vtkStdString& name, const unsigned char& r, const unsigned char& g,
240  const unsigned char& b, const unsigned char& a = 255);
241 
248  virtual void SetColor(const vtkStdString& name, const double& r, const double& g, const double& b,
249  const double& a = 1);
250 
259  virtual void SetColor(const vtkStdString& name, const unsigned char rgba[4]);
260 
267  virtual void SetColor(const vtkStdString& name, const vtkColor4ub& rgba);
268 
275  virtual void SetColor(const vtkStdString& name, const vtkColor3ub& rgb);
276 
284  virtual void SetColor(const vtkStdString& name, const double rgba[4]);
285 
292  virtual void SetColor(const vtkStdString& name, const vtkColor4d& rgba);
293 
300  virtual void SetColor(const vtkStdString& name, const vtkColor3d& rgb);
301 
309 
319 
323  void GetColorNames(vtkStringArray* colorNames);
324 
336 
350 
364 
370 
376 
384  void SetColor(const vtkStdString& name, const vtkStdString& htmlString);
385 
386 protected:
388  ~vtkNamedColors() override;
389 
390 private:
392 
395  vtkNamedColorsDataStore* Colors;
396  vtkColorStringParser* Parser;
398 
399  vtkNamedColors(const vtkNamedColors&) = delete;
400  void operator=(const vtkNamedColors&) = delete;
401 };
402 
403 #endif /* vtkNamedColors_h */
Some derived classes for the different colors commonly used.
Definition: vtkColor.h:195
a simple class to control print indentation
Definition: vtkIndent.h:34
A class holding colors and their names.
virtual void SetColor(const vtkStdString &name, const vtkColor4ub &rgba)
Set the color by name.
virtual void SetColor(const vtkStdString &name, const double &r, const double &g, const double &b, const double &a=1)
Set the color by name.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkColor4d GetColor4d(const vtkStdString &name)
Get the color by name.
void GetColor(const vtkStdString &name, vtkColor4d &rgba)
Get the color by name.
~vtkNamedColors() override
void GetColorRGB(const vtkStdString &name, double rgb[3])
Get the color by name.
void GetColor(const vtkStdString &name, vtkColor3ub &rgb)
Get the color by name.
void GetColor(const vtkStdString &name, vtkColor3d &rgb)
Get the color by name.
vtkStdString GetSynonyms()
Return a string of synonyms such as cyan/aqua and magenta/fuchsia.
virtual void SetColor(const vtkStdString &name, const unsigned char &r, const unsigned char &g, const unsigned char &b, const unsigned char &a=255)
Set the color by name.
virtual void SetColor(const vtkStdString &name, const vtkColor3ub &rgb)
Set the color by name.
vtkColor3ub HTMLColorToRGB(const vtkStdString &colorString)
Return a vtkColor3ub instance from an HTML color string in any of the following formats:
virtual void SetColor(const vtkStdString &name, const unsigned char rgba[4])
Set the color by name.
virtual void SetColor(const vtkStdString &name, const vtkColor4d &rgba)
Set the color by name.
void GetColor(const vtkStdString &name, unsigned char rgba[4])
Get the color by name.
vtkColor3d GetColor3d(const vtkStdString &name)
Get the color by name.
vtkStdString RGBAToHTMLColor(const vtkColor4ub &rgba)
Given a vtkColor4ub instance as input color return a valid HTML color string in the rgba(r,...
void ResetColors()
Reset the colors in the color map to the original colors.
virtual void SetColor(const vtkStdString &name, const double rgba[4])
Set the color by name.
vtkStdString RGBToHTMLColor(const vtkColor3ub &rgb)
Given a vtkColor3ub instance as input color return a valid HTML color string in the #RRGGBB format.
vtkColor3ub GetColor3ub(const vtkStdString &name)
Get the color by name.
virtual void SetColor(const vtkStdString &name, const vtkColor3d &rgb)
Set the color by name.
void GetColor(const vtkStdString &name, unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
Get the color by name.
static vtkNamedColors * New()
Create a new vtkNamedColors object.
vtkColor4ub GetColor4ub(const vtkStdString &name)
Get the color by name.
void SetColor(const vtkStdString &name, const vtkStdString &htmlString)
Set the color by name.
void GetColor(const vtkStdString &name, double &r, double &g, double &b)
Get the color by name.
void RemoveColor(const vtkStdString &name)
Remove the color by name.
int GetNumberOfColors()
Get the number of colors.
void GetColor(const vtkStdString &name, double rgba[4])
Get the color by name.
void GetColor(const vtkStdString &name, double &r, double &g, double &b, double &a)
Get the color by name.
vtkStdString GetColorNames()
Return a string of color names with each name delimited by a line feed.
bool ColorExists(const vtkStdString &name)
Return true if the color exists.
void GetColorNames(vtkStringArray *colorNames)
Return a string array of color names.
void GetColor(const vtkStdString &name, vtkColor4ub &rgba)
Get the color by name.
vtkColor4ub HTMLColorToRGBA(const vtkStdString &colorString)
Return a vtkColor4ub instance from an HTML color string in any of the following formats:
abstract base class for most VTK objects
Definition: vtkObject.h:63
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:36
a vtkAbstractArray subclass for strings
@ name
Definition: vtkX3D.h:225