VTK
vtkBrush.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBrush.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 
28 #ifndef vtkBrush_h
29 #define vtkBrush_h
30 
31 #include "vtkRenderingContext2DModule.h" // For export macro
32 #include "vtkObject.h"
33 #include "vtkColor.h" // Needed for vtkColor4ub
34 
35 class vtkImageData;
36 
37 class VTKRENDERINGCONTEXT2D_EXPORT vtkBrush : public vtkObject
38 {
39 public:
40  vtkTypeMacro(vtkBrush, vtkObject);
41  virtual void PrintSelf(ostream &os, vtkIndent indent);
42 
43  static vtkBrush *New();
44 
49  void SetColorF(double color[3]);
50 
55  void SetColorF(double r, double g, double b);
56 
61  void SetColorF(double r, double g, double b, double a);
62 
67  void SetOpacityF(double a);
68 
72  double GetOpacityF();
73 
78  void SetColor(unsigned char color[3]);
79 
84  void SetColor(unsigned char r, unsigned char g, unsigned char b);
85 
87 
91  void SetColor(unsigned char r, unsigned char g, unsigned char b,
92  unsigned char a);
93  void SetColor(const vtkColor4ub &color);
95 
100  void SetOpacity(unsigned char a);
101 
105  unsigned char GetOpacity();
106 
110  void GetColorF(double color[4]);
111 
115  void GetColor(unsigned char color[4]);
116 
120  unsigned char * GetColor() { return &this->Color[0]; }
121 
125  vtkColor4ub GetColorObject();
126 
133  void SetTexture(vtkImageData* image);
134 
136 
139  vtkGetObjectMacro(Texture, vtkImageData);
141 
146  Nearest = 0x01,
147  Linear = 0x02,
148  Stretch = 0x04,
149  Repeat = 0x08
150  };
151 
153 
160  vtkSetMacro(TextureProperties, int);
162 
164 
167  vtkGetMacro(TextureProperties, int);
169 
173  void DeepCopy(vtkBrush *brush);
174 
175 protected:
176  vtkBrush();
177  ~vtkBrush();
178 
179  // Storage of the color in RGBA format (0-255 per channel).
180  unsigned char* Color;
184 
185 private:
186  vtkBrush(const vtkBrush &) VTK_DELETE_FUNCTION;
187  void operator=(const vtkBrush &) VTK_DELETE_FUNCTION;
188 
189 };
190 
191 #endif //vtkBrush_h
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
unsigned char * GetColor()
Get the color of the brush - gives a pointer to the underlying data.
Definition: vtkBrush.h:120
provides a brush that fills shapes drawn by vtkContext2D.
Definition: vtkBrush.h:37
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkColor4ub BrushColor
Definition: vtkBrush.h:181
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
TextureProperty
Texture properties.
Definition: vtkBrush.h:145
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkImageData * Texture
Definition: vtkBrush.h:182
int TextureProperties
Definition: vtkBrush.h:183
unsigned char * Color
Definition: vtkBrush.h:180