VTK
dox/Charts/vtkColorSeries.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkColorSeries.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 
00026 #ifndef __vtkColorSeries_h
00027 #define __vtkColorSeries_h
00028 
00029 #include "vtkObject.h"
00030 #include "vtkColor.h" // Needed for vtkColor3ub
00031 
00032 class VTK_CHARTS_EXPORT vtkColorSeries : public vtkObject
00033 {
00034 public:
00035   vtkTypeMacro(vtkColorSeries, vtkObject);
00036   virtual void PrintSelf(ostream &os, vtkIndent indent);
00037 
00039   static vtkColorSeries* New();
00040 
00041 //BTX
00043 
00044   enum {
00045     SPECTRUM = 0, 
00046     WARM,         
00047     COOL,         
00048     BLUES,        
00049     WILD_FLOWER,  
00050     CITRUS,       
00051     CUSTOM        
00052     };
00054 //ETX
00055 
00057   void SetColorScheme(int scheme);
00058 
00060 
00061   vtkGetMacro(ColorScheme, int);
00063 
00065   int GetNumberOfColors();
00066 
00067 //BTX
00070   vtkColor3ub GetColor(int index) const;
00071 
00074   vtkColor3ub GetColorRepeating(int index) const;
00075 
00078   void SetColor(int index, const vtkColor3ub &color);
00079 
00081   void AddColor(const vtkColor3ub &color);
00082 
00084   void InsertColor(int index, const vtkColor3ub &color);
00085 //ETX
00086 
00088   void RemoveColor(int index);
00089 
00091   void ClearColors();
00092 
00094   void DeepCopy(vtkColorSeries *chartColors);
00095 
00096 //BTX
00097 protected:
00098   vtkColorSeries();
00099   ~vtkColorSeries();
00100 
00102 
00103   class Private;
00104   Private *Storage;
00106 
00108   int ColorScheme;
00109 
00110 private:
00111   vtkColorSeries(const vtkColorSeries &); // Not implemented.
00112   void operator=(const vtkColorSeries &);   // Not implemented.
00113 //ETX
00114 };
00115 
00116 #endif //__vtkColorSeries_h