Slicer  5.2
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) override;
18 
19  //--------------------------------------------------------------------------
21  //--------------------------------------------------------------------------
22  vtkMRMLNode* CreateNodeInstance() override;
23 
26  void ReadXMLAttributes( const char** atts) override;
27 
28  virtual void ReadXMLString( const char *keyValuePairs);
29 
32  void WriteXML(ostream& of, int indent) override;
33 
36  void Copy(vtkMRMLNode *node) override;
37 
40  const char* GetNodeTagName() override {return "MRMLROINode";}
41 
44  void UpdateScene(vtkMRMLScene *scene) override;
45 
48  void UpdateReferences() 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 ) override;
102 
103  vtkGetStringMacro(VolumeNodeID);
104  vtkSetStringMacro(VolumeNodeID);
105 
108  bool CanApplyNonLinearTransforms()const override;
109  void ApplyTransform(vtkAbstractTransform* transform) override;
110 
113  void GetTransformedPlanes(vtkPlanes *planes);
114 
115 protected:
116  vtkMRMLROINode();
117  ~vtkMRMLROINode() override;
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
vtkMRMLNode * CreateNodeInstance() override=0
MRMLNode methods.
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Transform nodes
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...
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Reimplemented to copy default sequence storage...
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
void operator=(const vtkMRMLTransformableNode &)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual bool CanApplyNonLinearTransforms() const
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
MRML node for representing a node with a transform.
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)