Slicer 5.6
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLAnnotationLineDisplayNode.h
Go to the documentation of this file.
1// .NAME vtkMRMLAnnotationLineDisplayNode - MRML node to represent display properties for tractography.
2// .SECTION Description
3// vtkMRMLAnnotationLineDisplayNode nodes store display properties of trajectories
4// from tractography in diffusion MRI data, including color type (by bundle, by fiber,
5// or by scalar invariants), display on/off for tensor glyphs and display of
6// trajectory as a line or tube.
7//
8
9#ifndef __vtkMRMLAnnotationLineDisplayNode_h
10#define __vtkMRMLAnnotationLineDisplayNode_h
11
12#include "vtkMRML.h"
14#include "vtkSlicerAnnotationsModuleMRMLExport.h"
15
16class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationLineDisplayNode : public vtkMRMLAnnotationDisplayNode
17{
18 public:
21 void PrintSelf ( ostream& os, vtkIndent indent ) override;
22
23 //--------------------------------------------------------------------------
24 // MRMLNode methods
25 //--------------------------------------------------------------------------
26
28
29 // Description:
30 // Read node attributes from XML (MRML) file
31 void ReadXMLAttributes ( const char** atts ) override;
32
33 // Description:
34 // Write this node's information to a MRML file in XML format.
35 void WriteXML ( ostream& of, int indent ) override;
36
37
38 // Description:
39 // Copy the node's attributes to this object
40 void Copy ( vtkMRMLNode *node ) override;
41
42 // Description:
43 // Get node XML tag name (like Volume, Annotation)
44 const char* GetNodeTagName() override {return "AnnotationLineDisplay";}
45
46 // Description:
47 // Finds the storage node and read the data
48 void UpdateScene(vtkMRMLScene *scene) override;
49
50 // Description:
51 // alternative method to propagate events generated in Display nodes
52 void ProcessMRMLEvents ( vtkObject * /*caller*/,
53 unsigned long /*event*/,
54 void * /*callData*/ ) override;
55
58 void SetLineThickness(double thickness);
59 vtkGetMacro(LineThickness,double);
60
62 vtkSetClampMacro(LabelPosition, double, 0.0, 1.0);
63 vtkGetMacro(LabelPosition, double);
64
66 vtkBooleanMacro(LabelVisibility, int);
67 vtkSetMacro(LabelVisibility, int);
68 vtkGetMacro(LabelVisibility, int);
69
71 vtkSetMacro(TickSpacing, double);
72 vtkGetMacro(TickSpacing, double);
73
75 vtkSetMacro(MaxTicks, int);
76 vtkGetMacro(MaxTicks, int);
77
79 inline void SliceProjectionDashedOn();
80
82 inline void SliceProjectionDashedOff();
83
85 inline void SliceProjectionColoredWhenParallelOn();
86
88 inline void SliceProjectionColoredWhenParallelOff();
89
91 inline void SliceProjectionThickerOnTopOn();
92
94 inline void SliceProjectionThickerOnTopOff();
95
98 inline void SliceProjectionUseRulerColorOn();
99
102 inline void SliceProjectionUseRulerColorOff();
103
113 {
114 ProjectionDashed = 0x02,
115 ProjectionColoredWhenParallel = 0x04,
116 ProjectionThickerOnTop = 0x08,
117 ProjectionUseRulerColor = 0x10
118 };
119
122 vtkSetMacro(UnderLineThickness, double);
123 vtkGetMacro(UnderLineThickness, double);
124
127 vtkSetMacro(OverLineThickness, double);
128 vtkGetMacro(OverLineThickness, double);
129
131 void CreateBackup() override;
133 void RestoreBackup() override;
134
135protected:
139 void operator= ( const vtkMRMLAnnotationLineDisplayNode& );
140
146
149};
150
151//----------------------------------------------------------------------------
152void vtkMRMLAnnotationLineDisplayNode
153::SliceProjectionDashedOn()
154{
155 this->SetSliceProjection( this->GetSliceProjection() |
157}
158
159//----------------------------------------------------------------------------
160void vtkMRMLAnnotationLineDisplayNode
161::SliceProjectionDashedOff()
162{
163 this->SetSliceProjection( this->GetSliceProjection() &
165}
166
167//----------------------------------------------------------------------------
168void vtkMRMLAnnotationLineDisplayNode
169::SliceProjectionColoredWhenParallelOn()
170{
171 this->SetSliceProjection( this->GetSliceProjection() |
173}
174
175//----------------------------------------------------------------------------
176void vtkMRMLAnnotationLineDisplayNode
177::SliceProjectionColoredWhenParallelOff()
178{
179 this->SetSliceProjection( this->GetSliceProjection() &
181}
182
183//----------------------------------------------------------------------------
184void vtkMRMLAnnotationLineDisplayNode
185::SliceProjectionThickerOnTopOn()
186{
187 this->SetSliceProjection( this->GetSliceProjection() |
189}
190
191//----------------------------------------------------------------------------
192void vtkMRMLAnnotationLineDisplayNode
193::SliceProjectionThickerOnTopOff()
194{
195 this->SetSliceProjection( this->GetSliceProjection() &
197}
198
199//----------------------------------------------------------------------------
200void vtkMRMLAnnotationLineDisplayNode
201::SliceProjectionUseRulerColorOn()
202{
203 this->SetSliceProjection( this->GetSliceProjection() |
205}
206
207//----------------------------------------------------------------------------
208void vtkMRMLAnnotationLineDisplayNode
209::SliceProjectionUseRulerColorOff()
210{
211 this->SetSliceProjection( this->GetSliceProjection() &
213}
214
215#endif
void WriteXML(ostream &of, int indent) override
void UpdateScene(vtkMRMLScene *scene) override
vtkMRMLAnnotationLineDisplayNode(const vtkMRMLAnnotationLineDisplayNode &)
void ReadXMLAttributes(const char **atts) override
static vtkMRMLAnnotationLineDisplayNode * New()
~vtkMRMLAnnotationLineDisplayNode() override=default
void CreateBackup() override
Create a backup of this node and attach it.
void SetLineThickness(double thickness)
void PrintSelf(ostream &os, vtkIndent indent) override
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Does not copy node ID and Scene....
void RestoreBackup() override
Restore an attached backup of this node.
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
Propagate events generated in mrml.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.