Slicer  4.10
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkImageFillROI.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8 =========================================================================auto=*/
20 //
21 
22 #ifndef __vtkImageFillROI_h
23 #define __vtkImageFillROI_h
24 
25 #include "vtkSlicerBaseLogic.h"
26 
27 // VTK includes
28 #include <vtkImageAlgorithm.h>
29 
30 #define SHAPE_POLYGON 1
31 #define SHAPE_LINES 2
32 #define SHAPE_POINTS 3
33 
34 class vtkPoints;
35 
36 class VTK_SLICER_BASE_LOGIC_EXPORT vtkImageFillROI : public vtkImageAlgorithm
37 {
38 public:
39  static vtkImageFillROI *New();
40  vtkTypeMacro(vtkImageFillROI,vtkImageAlgorithm);
41  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
42 
43  vtkSetMacro(Value, double);
44  vtkGetMacro(Value, double);
45 
46  void SetShapeToPolygon() {this->Shape = SHAPE_POLYGON;};
47  void SetShapeToLines() {this->Shape = SHAPE_LINES;};
48  void SetShapeToPoints() {this->Shape = SHAPE_POINTS;};
49  void SetShape(int s) {this->Shape = s;};
50  int GetShape() {return this->Shape;};
51 
52  const char *GetShapeString()
53  {
54  switch (this->Shape)
55  {
56  case SHAPE_POLYGON:
57  return "Polygon";
58  case SHAPE_LINES:
59  return "Lines";
60  case SHAPE_POINTS:
61  return "Points";
62  default:
63  return "None";
64  }
65  }
66 
67  void SetShapeString(const char *str) {
68  if (strcmp(str,"Polygon") == 0)
69  this->SetShapeToPolygon();
70  else if (strcmp(str,"Lines") == 0)
71  this->SetShapeToLines();
72  else
73  this->SetShapeToPoints();
74  }
75 
76  vtkSetMacro(Radius, int);
77  vtkGetMacro(Radius, int);
78 
79  virtual void SetPoints(vtkPoints*);
80  vtkGetObjectMacro(Points, vtkPoints);
81 
82 protected:
84  ~vtkImageFillROI();
85 
86  vtkPoints *Points;
87  double Value;
88  int Radius;
89  int Shape;
90 
93  virtual int RequestData(vtkInformation* request,
94  vtkInformationVector** inputVectors,
95  vtkInformationVector* outputVector) VTK_OVERRIDE;
96 
97 private:
99  void operator=(const vtkImageFillROI&);
100 };
101 
102 #endif
void SetShapeString(const char *str)
#define SHAPE_POINTS
const char * GetShapeString()
void SetShape(int s)
vtkPoints * Points
void SetShapeToPolygon()
#define SHAPE_POLYGON
#define SHAPE_LINES