VTK  9.2.6
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=========================================================================*/
22
23#ifndef vtkImageStencil_h
24#define vtkImageStencil_h
25
26#include "vtkImagingStencilModule.h" // For export macro
28
30
31class VTKIMAGINGSTENCIL_EXPORT vtkImageStencil : public vtkThreadedImageAlgorithm
32{
33public:
36 void PrintSelf(ostream& os, vtkIndent indent) override;
37
39
44 virtual void SetStencilData(vtkImageStencilData* stencil);
47
52 {
53 this->SetInputConnection(2, outputPort);
54 }
55
57
61 vtkBooleanMacro(ReverseStencil, vtkTypeBool);
64
66
74
76
79 void SetBackgroundValue(double val) { this->SetBackgroundColor(val, val, val, val); }
80 double GetBackgroundValue() { return this->BackgroundColor[0]; }
82
84
88 vtkSetVector4Macro(BackgroundColor, double);
89 vtkGetVector4Macro(BackgroundColor, double);
91
92protected:
94 ~vtkImageStencil() override;
95
97 vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData,
98 int extent[6], int id) override;
99
102
104
105private:
106 vtkImageStencil(const vtkImageStencil&) = delete;
107 void operator=(const vtkImageStencil&) = delete;
108};
109
110#endif
Proxy object to connect input/output ports.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
topologically and geometrically regular array of data
efficient description of an image stencil
virtual void SetStencilData(vtkImageStencilData *stencil)
Specify the stencil to use.
static vtkImageStencil * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetBackgroundInputData(vtkImageData *input)
Set the second input.
vtkTypeBool ReverseStencil
vtkImageData * GetBackgroundInput()
Set the second input.
double GetBackgroundValue()
Set the default output value to use when the second input is not set.
~vtkImageStencil() override
virtual void SetBackgroundColor(double, double, double, double)
Set the default color to use when the second input is not set.
void SetBackgroundValue(double val)
Set the default output value to use when the second input is not set.
int FillInputPortInformation(int, vtkInformation *) override
These method should be reimplemented by subclasses that have more than a single input or single outpu...
double BackgroundColor[4]
void SetStencilConnection(vtkAlgorithmOutput *outputPort)
Specify the stencil to use.
vtkImageStencilData * GetStencil()
Specify the stencil to use.
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int id) override
If the subclass does not define an Execute method, then the task will be broken up,...
a simple class to control print indentation
Definition vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
int vtkTypeBool
Definition vtkABI.h:69