Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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.