VTK
vtkImageStencil.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageStencil.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 =========================================================================*/
23 #ifndef vtkImageStencil_h
24 #define vtkImageStencil_h
25 
26 #include "vtkImagingStencilModule.h" // For export macro
28 
30 
31 class VTKIMAGINGSTENCIL_EXPORT vtkImageStencil : public vtkThreadedImageAlgorithm
32 {
33 public:
34  static vtkImageStencil *New();
36  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
37 
39 
44  virtual void SetStencilData(vtkImageStencilData *stencil);
45  vtkImageStencilData *GetStencil();
47 
52  {
53  this->SetInputConnection(2, outputPort);
54  }
55 
57 
60  vtkSetMacro(ReverseStencil, int);
61  vtkBooleanMacro(ReverseStencil, int);
62  vtkGetMacro(ReverseStencil, int);
64 
66 
71  virtual void SetBackgroundInputData(vtkImageData *input);
72  vtkImageData *GetBackgroundInput();
74 
76 
79  void SetBackgroundValue(double val) {
80  this->SetBackgroundColor(val,val,val,val); };
81  double GetBackgroundValue() {
82  return this->BackgroundColor[0]; };
84 
86 
90  vtkSetVector4Macro(BackgroundColor, double);
91  vtkGetVector4Macro(BackgroundColor, double);
93 
94 protected:
96  ~vtkImageStencil() VTK_OVERRIDE;
97 
98  void ThreadedRequestData(vtkInformation *request,
99  vtkInformationVector **inputVector,
100  vtkInformationVector *outputVector,
101  vtkImageData ***inData, vtkImageData **outData,
102  int extent[6], int id) VTK_OVERRIDE;
103 
104  int ReverseStencil;
105  double BackgroundColor[4];
106 
107  int FillInputPortInformation(int, vtkInformation*) VTK_OVERRIDE;
108 
109 private:
110  vtkImageStencil(const vtkImageStencil&) VTK_DELETE_FUNCTION;
111  void operator=(const vtkImageStencil&) VTK_DELETE_FUNCTION;
112 };
113 
114 #endif
Store vtkAlgorithm input/output information.
Proxy object to connect input/output ports.
Generic filter that has one input.
a simple class to control print indentation
Definition: vtkIndent.h:33
efficient description of an image stencil
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
void SetBackgroundValue(double val)
Set the default output value to use when the second input is not set.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
combine images via a cookie-cutter operation
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetStencilConnection(vtkAlgorithmOutput *outputPort)
Specify the stencil to use.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
double GetBackgroundValue()
Set the default output value to use when the second input is not set.