Slicer  4.8
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&);
122 
126  double XYZ[3];
129  double RadiusXYZ[3];
133  double IJK[3];
136  double RadiusIJK[3];
137 
140 
141  char *LabelText;
142 
146 };
147 
148 #endif
int InsideOut
Control the orientation of the normals.
char * VolumeNodeID
The ID of the volume associated with the ROI.
virtual void ApplyTransform(vtkAbstractTransform *transform)
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...
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
alternative method to propagate events generated in Transform nodes
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
void operator=(const vtkMRMLTransformableNode &)
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.
virtual bool CanApplyNonLinearTransforms() const
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE
Finds the storage node and read the data.
MRML node for representing a node with a tranform.