Slicer  4.8
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
vtkMRMLAnnotationPointDisplayNode.h
Go to the documentation of this file.
1 // .NAME vtkMRMLAnnotationPointDisplayNode - MRML node to represent display properties for tractography.
2 // .SECTION Description
3 // vtkMRMLAnnotationPointDisplayNode 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 __vtkMRMLAnnotationPointDisplayNode_h
10 #define __vtkMRMLAnnotationPointDisplayNode_h
11 
12 #include "vtkMRML.h"
14 #include "vtkSlicerAnnotationsModuleMRMLExport.h"
15 
17 class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationPointDisplayNode : 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 "AnnotationPointDisplay";}
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 
60  {
61  GlyphMin = 1,
62  Vertex2D = GlyphMin,
76  GlyphMax = Sphere3D,
77  };
81 
83  void SetGlyphType(int type);
84  vtkGetMacro(GlyphType, int);
86  int GlyphTypeIs3D(int glyphType);
87  int GlyphTypeIs3D() { return this->GlyphTypeIs3D(this->GlyphType); };
88 
90  const char* GetGlyphTypeAsString();
91  const char* GetGlyphTypeAsString(int g);
92  void SetGlyphTypeFromString(const char *glyphString);
93 
96  void SetGlyphScale(double scale);
97  vtkGetMacro(GlyphScale,double);
98 
100  void CreateBackup() VTK_OVERRIDE;
102  void RestoreBackup() VTK_OVERRIDE;
103 
106  inline void SliceProjectionUseFiducialColorOn();
107 
110  inline void SliceProjectionUseFiducialColorOff();
111 
115  inline void SliceProjectionOutlinedBehindSlicePlaneOn();
116 
120  inline void SliceProjectionOutlinedBehindSlicePlaneOff();
121 
128  {
129  ProjectionUseFiducialColor = 0x02,
130  ProjectionOutlinedBehindSlicePlane = 0x04
131  };
132 
133  protected:
138 
139  double GlyphScale;
141  static const char* GlyphTypesNames[GlyphMax+2];
142 };
143 
144 //----------------------------------------------------------------------------
147 {
148  this->SetSliceProjection( this->GetSliceProjection() |
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 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual int GetSliceProjection()
virtual void SetSliceProjection(int)
virtual void CreateBackup()
Creates a backup of the current MRML state of this node and keeps a reference.
int GetMinimumGlyphType()
Return the min/max glyph types, for iterating over them in tcl.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
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.
static vtkMRMLAnnotationDisplayNode * New()
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135