VTK  9.1.0
vtkROIStencilSource.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkROIStencilSource.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=========================================================================*/
29#ifndef vtkROIStencilSource_h
30#define vtkROIStencilSource_h
31
33#include "vtkImagingStencilModule.h" // For export macro
34
35class VTKIMAGINGSTENCIL_EXPORT vtkROIStencilSource : public vtkImageStencilSource
36{
37public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
42 enum
43 {
44 BOX = 0,
45 ELLIPSOID = 1,
46 CYLINDERX = 2,
47 CYLINDERY = 3,
48 CYLINDERZ = 4
49 };
50
52
56 vtkGetMacro(Shape, int);
57 vtkSetClampMacro(Shape, int, BOX, CYLINDERZ);
58 void SetShapeToBox() { this->SetShape(BOX); }
59 void SetShapeToEllipsoid() { this->SetShape(ELLIPSOID); }
60 void SetShapeToCylinderX() { this->SetShape(CYLINDERX); }
61 void SetShapeToCylinderY() { this->SetShape(CYLINDERY); }
62 void SetShapeToCylinderZ() { this->SetShape(CYLINDERZ); }
63 virtual const char* GetShapeAsString();
65
67
71 vtkGetVector6Macro(Bounds, double);
72 vtkSetVector6Macro(Bounds, double);
74
75protected:
78
80
81 int Shape;
82 double Bounds[6];
83
84private:
86 void operator=(const vtkROIStencilSource&) = delete;
87};
88
89#endif
generate an image stencil
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
create simple mask shapes
void SetShapeToBox()
The shape of the region of interest.
void SetShapeToCylinderZ()
The shape of the region of interest.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
void SetShapeToCylinderY()
The shape of the region of interest.
void SetShapeToEllipsoid()
The shape of the region of interest.
void SetShapeToCylinderX()
The shape of the region of interest.
static vtkROIStencilSource * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual const char * GetShapeAsString()
The shape of the region of interest.
~vtkROIStencilSource() override