Slicer 5.9
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
6class vtkPlanes;
7
12class VTK_MRML_EXPORT vtkMRMLROINode : public vtkMRMLTransformableNode
13{
14public:
17 void PrintSelf(ostream& os, vtkIndent indent) override;
18
19 //--------------------------------------------------------------------------
21 //--------------------------------------------------------------------------
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
115protected:
117 ~vtkMRMLROINode() override;
122
126 double XYZ[3];
129 double RadiusXYZ[3];
133 double IJK[3];
136 double RadiusIJK[3];
137
140
142
146};
147
148#endif
friend class vtkMRMLScene
virtual void ReadXMLString(const char *keyValuePairs)
~vtkMRMLROINode() override
vtkMRMLNode * CreateNodeInstance() override
MRML methods.
void GetTransformedPlanes(vtkPlanes *planes)
double RadiusIJK[3]
The radius of the ROI box in IJK space.
void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override
Propagate events generated in mrml.
void SetRadiusXYZ(double RadiusX, double RadiusY, double RadiusZ)
Get/Set for radius of the ROI in RAS coordinates.
void SetRadiusXYZ(double *RadiusXYZ)
bool CanApplyNonLinearTransforms() const override
transform utility functions
void ApplyTransform(vtkAbstractTransform *transform) override
void UpdateScene(vtkMRMLScene *scene) override
static vtkMRMLROINode * New()
void SetXYZ(double X, double Y, double Z)
void ReadXMLAttributes(const char **atts) override
Set node attributes.
void UpdateReferences() override
update display node ids
void SetRadiusIJK(double RadiusI, double RadiusJ, double RadiusK)
Get/Set for radius of the ROI in IJK coordinates.
vtkMRMLROINode(const vtkMRMLROINode &)
void operator=(const vtkMRMLROINode &)
char * VolumeNodeID
The ID of the volume associated with the ROI.
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void SetRadiusIJK(double *RadiusIJK)
void PrintSelf(ostream &os, vtkIndent indent) override
void SetXYZ(double *XYZ)
double RadiusXYZ[3]
The radius of the ROI box in RAS space.
void SetIJK(double I, double J, double K)
Get/Set for ROI Position in IJK coordinates.
void SetIJK(double *IJK)
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
int InsideOut
Control the orientation of the normals.