Slicer  4.10
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLROINode.h
Go to the documentation of this file.
1 #ifndef __vtkMRMLROINode_h
2 #define __vtkMRMLROINode_h
3 
5 
6 class vtkPlanes;
7 
12 class VTK_MRML_EXPORT vtkMRMLROINode : public vtkMRMLTransformableNode
13 {
14 public:
15  static vtkMRMLROINode *New();
17  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
18 
19  //--------------------------------------------------------------------------
21  //--------------------------------------------------------------------------
22  virtual vtkMRMLNode* CreateNodeInstance() VTK_OVERRIDE;
23 
26  virtual void ReadXMLAttributes( const char** atts) VTK_OVERRIDE;
27 
28  virtual void ReadXMLString( const char *keyValuePairs);
29 
32  virtual void WriteXML(ostream& of, int indent) VTK_OVERRIDE;
33 
36  virtual void Copy(vtkMRMLNode *node) VTK_OVERRIDE;
37 
40  virtual const char* GetNodeTagName() VTK_OVERRIDE {return "MRMLROINode";}
41 
44  virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE;
45 
48  void UpdateReferences() VTK_OVERRIDE;
49 
52  vtkBooleanMacro(Visibility, int);
53  vtkGetMacro(Visibility, int);
54  vtkSetMacro(Visibility, int);
55 
58  vtkBooleanMacro(InteractiveMode, int);
59  vtkGetMacro(InteractiveMode, int);
60  vtkSetMacro(InteractiveMode, int);
61 
65  void SetXYZ(double X, double Y, double Z);
66  void SetXYZ(double* XYZ);
67  vtkGetVectorMacro(XYZ,double,3);
68 
71  void SetRadiusXYZ(double RadiusX, double RadiusY, double RadiusZ);
72  void SetRadiusXYZ(double* RadiusXYZ);
73  vtkGetVectorMacro(RadiusXYZ,double,3);
74 
77  void SetIJK(double I, double J, double K);
78  void SetIJK(double* IJK);
79  vtkGetVectorMacro(IJK,double,3);
80 
83  void SetRadiusIJK(double RadiusI, double RadiusJ, double RadiusK);
84  void SetRadiusIJK(double* RadiusIJK);
85  vtkGetVectorMacro(RadiusIJK,double,3);
86 
92  vtkSetMacro(InsideOut,int);
93  vtkGetMacro(InsideOut,int);
94  vtkBooleanMacro(InsideOut,int);
95 
98  vtkSetStringMacro(LabelText);
99  vtkGetStringMacro(LabelText);
100 
101  void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData ) VTK_OVERRIDE;
102 
103  vtkGetStringMacro(VolumeNodeID);
104  vtkSetStringMacro(VolumeNodeID);
105 
108  virtual bool CanApplyNonLinearTransforms()const VTK_OVERRIDE;
109  virtual void ApplyTransform(vtkAbstractTransform* transform) VTK_OVERRIDE;
110 
113  void GetTransformedPlanes(vtkPlanes *planes);
114 
115 protected:
116  vtkMRMLROINode();
117  ~vtkMRMLROINode();
119  void operator=(const vtkMRMLROINode&);
120  int Visibility;
121  int InteractiveMode;
122 
126  double XYZ[3];
129  double RadiusXYZ[3];
133  double IJK[3];
136  double RadiusIJK[3];
137 
139  int InsideOut;
140 
141  char *LabelText;
142 
145  char *VolumeNodeID;
146 };
147 
148 #endif
MRML node to represent a 3D ROI.
virtual void UpdateReferences()
The method should remove all pointers and observations to all nodes that are not in the scene anymore...
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:138
virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE
Finds the storage node and read the data
MRML node for representing a node with a transform.