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
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.