Slicer 5.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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
16class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationPointDisplayNode : 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 "AnnotationPointDisplay";}
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
80
82 void SetGlyphType(int type);
83 vtkGetMacro(GlyphType, int);
85 int GlyphTypeIs3D(int glyphType);
86 int GlyphTypeIs3D() { return this->GlyphTypeIs3D(this->GlyphType); };
87
89 const char* GetGlyphTypeAsString();
90 const char* GetGlyphTypeAsString(int g);
91 void SetGlyphTypeFromString(const char *glyphString);
92
95 void SetGlyphScale(double scale);
96 vtkGetMacro(GlyphScale,double);
97
99 void CreateBackup() override;
101 void RestoreBackup() override;
102
105 inline void SliceProjectionUseFiducialColorOn();
106
109 inline void SliceProjectionUseFiducialColorOff();
110
114 inline void SliceProjectionOutlinedBehindSlicePlaneOn();
115
119 inline void SliceProjectionOutlinedBehindSlicePlaneOff();
120
127 {
128 ProjectionUseFiducialColor = 0x02,
129 ProjectionOutlinedBehindSlicePlane = 0x04
130 };
131
132 protected:
136 void operator= ( const vtkMRMLAnnotationPointDisplayNode& );
137
140 static const char* GlyphTypesNames[GlyphMax+2];
141};
142
143//----------------------------------------------------------------------------
144void vtkMRMLAnnotationPointDisplayNode
145::SliceProjectionUseFiducialColorOn()
146{
147 this->SetSliceProjection( this->GetSliceProjection() |
149}
150
151//----------------------------------------------------------------------------
152void vtkMRMLAnnotationPointDisplayNode
153::SliceProjectionUseFiducialColorOff()
154{
155 this->SetSliceProjection( this->GetSliceProjection() &
157}
158
159//----------------------------------------------------------------------------
160void vtkMRMLAnnotationPointDisplayNode
161::SliceProjectionOutlinedBehindSlicePlaneOn()
162{
163 this->SetSliceProjection( this->GetSliceProjection() |
165}
166
167//----------------------------------------------------------------------------
168void vtkMRMLAnnotationPointDisplayNode
169::SliceProjectionOutlinedBehindSlicePlaneOff()
170{
171 this->SetSliceProjection( this->GetSliceProjection() &
173}
174
175#endif
void SetGlyphScale(double scale)
void UpdateScene(vtkMRMLScene *scene) override
void PrintSelf(ostream &os, vtkIndent indent) override
void ReadXMLAttributes(const char **atts) override
void WriteXML(ostream &of, int indent) override
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
Propagate events generated in mrml.
const char * GetGlyphTypeAsString()
Return a string representing the glyph type, set it from a string.
int GlyphTypeIs3D(int glyphType)
Returns 1 if the type is a 3d one, 0 else.
void RestoreBackup() override
Restore an attached backup of this node.
int GetMinimumGlyphType()
Return the min/max glyph types, for iterating over them in tcl.
void CreateBackup() override
Create a backup of this node and attach it.
~vtkMRMLAnnotationPointDisplayNode() override=default
static vtkMRMLAnnotationPointDisplayNode * New()
vtkMRMLAnnotationPointDisplayNode(const vtkMRMLAnnotationPointDisplayNode &)
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Does not copy node ID and Scene....
const char * GetGlyphTypeAsString(int g)
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
void SetGlyphTypeFromString(const char *glyphString)
void SetGlyphType(int type)
The glyph type used to display this fiducial.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.