Slicer 5.4
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
17class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationPointDisplayNode : public vtkMRMLAnnotationDisplayNode
18{
19 public:
22 void PrintSelf ( ostream& os, vtkIndent indent ) override;
23
24 //--------------------------------------------------------------------------
25 // MRMLNode methods
26 //--------------------------------------------------------------------------
27
29
30 // Description:
31 // Read node attributes from XML (MRML) file
32 void ReadXMLAttributes ( const char** atts ) override;
33
34 // Description:
35 // Write this node's information to a MRML file in XML format.
36 void WriteXML ( ostream& of, int indent ) override;
37
38
39 // Description:
40 // Copy the node's attributes to this object
41 void Copy ( vtkMRMLNode *node ) override;
42
43 // Description:
44 // Get node XML tag name (like Volume, Annotation)
45 const char* GetNodeTagName() override {return "AnnotationPointDisplay";}
46
47 // Description:
48 // Finds the storage node and read the data
49 void UpdateScene(vtkMRMLScene *scene) override;
50
51 // Description:
52 // alternative method to propagate events generated in Display nodes
53 void ProcessMRMLEvents ( vtkObject * /*caller*/,
54 unsigned long /*event*/,
55 void * /*callData*/ ) override;
56
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() override;
102 void RestoreBackup() 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:
137 void operator= ( const vtkMRMLAnnotationPointDisplayNode& );
138
141 static const char* GlyphTypesNames[GlyphMax+2];
142};
143
144//----------------------------------------------------------------------------
145void vtkMRMLAnnotationPointDisplayNode
146::SliceProjectionUseFiducialColorOn()
147{
148 this->SetSliceProjection( this->GetSliceProjection() |
150}
151
152//----------------------------------------------------------------------------
153void vtkMRMLAnnotationPointDisplayNode
154::SliceProjectionUseFiducialColorOff()
155{
156 this->SetSliceProjection( this->GetSliceProjection() &
158}
159
160//----------------------------------------------------------------------------
161void vtkMRMLAnnotationPointDisplayNode
162::SliceProjectionOutlinedBehindSlicePlaneOn()
163{
164 this->SetSliceProjection( this->GetSliceProjection() |
166}
167
168//----------------------------------------------------------------------------
169void vtkMRMLAnnotationPointDisplayNode
170::SliceProjectionOutlinedBehindSlicePlaneOff()
171{
172 this->SetSliceProjection( this->GetSliceProjection() &
174}
175
176#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.