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 
32 #include "vtkImageStencilSource.h"
33 #include "vtkImagingStencilModule.h" // For export macro
34 
35 class VTKIMAGINGSTENCIL_EXPORT vtkROIStencilSource : public vtkImageStencilSource
36 {
37 public:
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 
75 protected:
78 
80 
81  int Shape;
82  double Bounds[6];
83 
84 private:
86  void operator=(const vtkROIStencilSource&) = delete;
87 };
88 
89 #endif
generate an image stencil
a simple class to control print indentation
Definition: vtkIndent.h:34
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.
virtual const char * GetShapeAsString()
The shape of the region of interest.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkROIStencilSource * New()
~vtkROIStencilSource() override
@ Shape
Definition: vtkX3D.h:42