VTK
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 =========================================================================*/
31 #ifndef vtkROIStencilSource_h
32 #define vtkROIStencilSource_h
33 
34 
35 #include "vtkImagingStencilModule.h" // For export macro
36 #include "vtkImageStencilSource.h"
37 
39 {
40 public:
43  void PrintSelf(ostream& os, vtkIndent indent);
44 
45 //BTX
46  enum {
47  BOX = 0,
48  ELLIPSOID = 1,
49  CYLINDERX = 2,
50  CYLINDERY = 3,
51  CYLINDERZ = 4
52  };
53 //ETX
54 
56 
59  vtkSetClampMacro(Shape, int, BOX, CYLINDERZ);
60  void SetShapeToBox() { this->SetShape(BOX); };
61  void SetShapeToEllipsoid() { this->SetShape(ELLIPSOID); };
62  void SetShapeToCylinderX() { this->SetShape(CYLINDERX); };
63  void SetShapeToCylinderY() { this->SetShape(CYLINDERY); };
64  void SetShapeToCylinderZ() { this->SetShape(CYLINDERZ); };
65  virtual const char *GetShapeAsString();
67 
69 
71  vtkGetVector6Macro(Bounds, double);
72  vtkSetVector6Macro(Bounds, double);
74 
75 protected:
78 
81 
82  int Shape;
83  double Bounds[6];
84 
85 private:
86  vtkROIStencilSource(const vtkROIStencilSource&); // Not implemented.
87  void operator=(const vtkROIStencilSource&); // Not implemented.
88 };
89 
90 #endif
vtkROIStencilSource::SetShapeToCylinderY
void SetShapeToCylinderY()
Definition: vtkROIStencilSource.h:63
vtkGetVector6Macro
#define vtkGetVector6Macro(name, type)
Definition: vtkSetGet.h:380
vtkROIStencilSource
create simple mask shapes
Definition: vtkROIStencilSource.h:39
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkROIStencilSource::SetShapeToCylinderX
void SetShapeToCylinderX()
Definition: vtkROIStencilSource.h:62
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkX3D::Shape
@ Shape
Definition: vtkX3D.h:36
vtkROIStencilSource::Shape
int Shape
Definition: vtkROIStencilSource.h:82
vtkROIStencilSource::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkROIStencilSource::GetShapeAsString
virtual const char * GetShapeAsString()
vtkROIStencilSource::vtkROIStencilSource
vtkROIStencilSource()
vtkROIStencilSource::New
static vtkROIStencilSource * New()
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkROIStencilSource::SetShapeToEllipsoid
void SetShapeToEllipsoid()
Definition: vtkROIStencilSource.h:61
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkImagingStencilModule.h
VTKIMAGINGSTENCIL_EXPORT
#define VTKIMAGINGSTENCIL_EXPORT
Definition: vtkImagingStencilModule.h:15
vtkImageStencilSource.h
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkImageStencilSource
generate an image stencil
Definition: vtkImageStencilSource.h:43
vtkROIStencilSource::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkSetVector6Macro
#define vtkSetVector6Macro(name, type)
Definition: vtkSetGet.h:360
vtkROIStencilSource::SetShapeToBox
void SetShapeToBox()
Definition: vtkROIStencilSource.h:60
vtkROIStencilSource::SetShapeToCylinderZ
void SetShapeToCylinderZ()
Definition: vtkROIStencilSource.h:64
vtkROIStencilSource::~vtkROIStencilSource
~vtkROIStencilSource()