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 "vtkImageStencilSource.h"
36 
38 {
39 public:
40  static vtkROIStencilSource *New();
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
44 //BTX
45  enum {
46  BOX = 0,
47  ELLIPSOID = 1,
48  CYLINDERX = 2,
49  CYLINDERY = 3,
50  CYLINDERZ = 4
51  };
52 //ETX
53 
55 
57  vtkGetMacro(Shape, int);
58  vtkSetClampMacro(Shape, int, BOX, CYLINDERZ);
59  void SetShapeToBox() { this->SetShape(BOX); };
60  void SetShapeToEllipsoid() { this->SetShape(ELLIPSOID); };
61  void SetShapeToCylinderX() { this->SetShape(CYLINDERX); };
62  void SetShapeToCylinderY() { this->SetShape(CYLINDERY); };
63  void SetShapeToCylinderZ() { this->SetShape(CYLINDERZ); };
64  virtual const char *GetShapeAsString();
66 
68 
70  vtkGetVector6Macro(Bounds, double);
71  vtkSetVector6Macro(Bounds, double);
73 
74 protected:
77 
80 
81  int Shape;
82  double Bounds[6];
83 
84 private:
85  vtkROIStencilSource(const vtkROIStencilSource&); // Not implemented.
86  void operator=(const vtkROIStencilSource&); // Not implemented.
87 };
88 
89 #endif