VTK
dox/Charts/vtkPen.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPen.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 
00031 #ifndef __vtkPen_h
00032 #define __vtkPen_h
00033 
00034 #include "vtkObject.h"
00035 #include "vtkColor.h" // Needed for vtkColor4ub
00036 
00037 class VTK_CHARTS_EXPORT vtkPen : public vtkObject
00038 {
00039 public:
00040   vtkTypeMacro(vtkPen, vtkObject);
00041   virtual void PrintSelf(ostream &os, vtkIndent indent);
00042 
00043   static vtkPen *New();
00044 
00045 //BTX
00047 
00048   enum {
00049     NO_PEN,
00050     SOLID_LINE,
00051     DASH_LINE,
00052     DOT_LINE,
00053     DASH_DOT_LINE,
00054     DASH_DOT_DOT_LINE};
00055 //ETX
00057 
00060   void SetLineType(int type);
00061 
00063   int GetLineType();
00064 
00067   void SetColorF(double color[3]);
00068 
00071   void SetColorF(double r, double g, double b);
00072 
00075   void SetColorF(double r, double g, double b, double a);
00076 
00079   void SetOpacityF(double a);
00080 
00083   void SetColor(unsigned char color[3]);
00084 
00087   void SetColor(unsigned char r, unsigned char g, unsigned char b);
00088 
00090 
00092   void SetColor(unsigned char r, unsigned char g, unsigned char b,
00093                 unsigned char a);
00094   void SetColor(const vtkColor4ub &color);
00096 
00099   void SetOpacity(unsigned char a);
00100 
00103   void GetColorF(double color[3]);
00104 
00106   void GetColor(unsigned char color[3]);
00107 
00109   vtkColor4ub GetColorObject();
00110 
00113   unsigned char GetOpacity();
00114 
00116   unsigned char * GetColor() { return this->Color; }
00117 
00119 
00120   vtkSetMacro(Width, float);
00121   vtkGetMacro(Width, float);
00123 
00125   void DeepCopy(vtkPen *pen);
00126 
00127 //BTX
00128 protected:
00129   vtkPen();
00130   ~vtkPen();
00131 
00133 
00134   unsigned char* Color;
00135   vtkColor4ub PenColor;
00137 
00139   float Width;
00140 
00142   int LineType;
00143 
00144 private:
00145   vtkPen(const vtkPen &); // Not implemented.
00146   void operator=(const vtkPen &);   // Not implemented.
00147 //ETX
00148 };
00149 
00150 #endif //__vtkPen_h