Slicer  4.10
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
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 
17 class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationLineDisplayNode : public vtkMRMLAnnotationDisplayNode
18 {
19  public:
22  void PrintSelf ( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
23 
24  //--------------------------------------------------------------------------
25  // MRMLNode methods
26  //--------------------------------------------------------------------------
27 
28  virtual vtkMRMLNode* CreateNodeInstance () VTK_OVERRIDE;
29 
30  // Description:
31  // Read node attributes from XML (MRML) file
32  virtual void ReadXMLAttributes ( const char** atts ) VTK_OVERRIDE;
33 
34  // Description:
35  // Write this node's information to a MRML file in XML format.
36  virtual void WriteXML ( ostream& of, int indent ) VTK_OVERRIDE;
37 
38 
39  // Description:
40  // Copy the node's attributes to this object
41  virtual void Copy ( vtkMRMLNode *node ) VTK_OVERRIDE;
42 
43  // Description:
44  // Get node XML tag name (like Volume, Annotation)
45  virtual const char* GetNodeTagName() VTK_OVERRIDE {return "AnnotationLineDisplay";}
46 
47  // Description:
48  // Finds the storage node and read the data
49  virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE;
50 
51  // Description:
52  // alternative method to propagate events generated in Display nodes
53  virtual void ProcessMRMLEvents ( vtkObject * /*caller*/,
54  unsigned long /*event*/,
55  void * /*callData*/ ) VTK_OVERRIDE;
56 
59  void SetLineThickness(double thickness);
60  vtkGetMacro(LineThickness,double);
61 
63  vtkSetClampMacro(LabelPosition, double, 0.0, 1.0);
64  vtkGetMacro(LabelPosition, double);
65 
67  vtkBooleanMacro(LabelVisibility, int);
68  vtkSetMacro(LabelVisibility, int);
69  vtkGetMacro(LabelVisibility, int);
70 
72  vtkSetMacro(TickSpacing, double);
73  vtkGetMacro(TickSpacing, double);
74 
76  vtkSetMacro(MaxTicks, int);
77  vtkGetMacro(MaxTicks, int);
78 
80  inline void SliceProjectionDashedOn();
81 
83  inline void SliceProjectionDashedOff();
84 
86  inline void SliceProjectionColoredWhenParallelOn();
87 
89  inline void SliceProjectionColoredWhenParallelOff();
90 
92  inline void SliceProjectionThickerOnTopOn();
93 
95  inline void SliceProjectionThickerOnTopOff();
96 
99  inline void SliceProjectionUseRulerColorOn();
100 
103  inline void SliceProjectionUseRulerColorOff();
104 
114  {
115  ProjectionDashed = 0x02,
116  ProjectionColoredWhenParallel = 0x04,
117  ProjectionThickerOnTop = 0x08,
118  ProjectionUseRulerColor = 0x10
119  };
120 
123  vtkSetMacro(UnderLineThickness, double);
124  vtkGetMacro(UnderLineThickness, double);
125 
128  vtkSetMacro(OverLineThickness, double);
129  vtkGetMacro(OverLineThickness, double);
130 
132  void CreateBackup() VTK_OVERRIDE;
134  void RestoreBackup() VTK_OVERRIDE;
135 
136 protected:
141 
145  double TickSpacing;
146  int MaxTicks;
147 
150 };
151 
152 //----------------------------------------------------------------------------
155 {
156  this->SetSliceProjection( this->GetSliceProjection() |
158 }
159 
160 //----------------------------------------------------------------------------
163 {
164  this->SetSliceProjection( this->GetSliceProjection() &
166 }
167 
168 //----------------------------------------------------------------------------
171 {
172  this->SetSliceProjection( this->GetSliceProjection() |
174 }
175 
176 //----------------------------------------------------------------------------
179 {
180  this->SetSliceProjection( this->GetSliceProjection() &
182 }
183 
184 //----------------------------------------------------------------------------
187 {
188  this->SetSliceProjection( this->GetSliceProjection() |
190 }
191 
192 //----------------------------------------------------------------------------
195 {
196  this->SetSliceProjection( this->GetSliceProjection() &
198 }
199 
200 //----------------------------------------------------------------------------
203 {
204  this->SetSliceProjection( this->GetSliceProjection() |
206 }
207 
208 //----------------------------------------------------------------------------
211 {
212  this->SetSliceProjection( this->GetSliceProjection() &
214 }
215 
216 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
void SliceProjectionColoredWhenParallelOff()
Set line color unchanged when parallel to slice plane.
virtual void CreateBackup()
Creates a backup of the current MRML state of this node and keeps a reference.
void SliceProjectionDashedOff()
Set SliceProjection to Plain.
void SliceProjectionThickerOnTopOff()
Set line thickness uniform.
void SliceProjectionDashedOn()
Set SliceProjection to Dashed.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
void SliceProjectionColoredWhenParallelOn()
Set line colored when parallel to slice plane.
virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE
Finds the storage node and read the data.
void operator=(const vtkMRMLAnnotationDisplayNode &)
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE
Create instance of the default node. Like New only virtual.
void SliceProjectionThickerOnTopOn()
Set line thicker when on top of the plane, thiner when under.
static vtkMRMLAnnotationDisplayNode * New()
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:138