Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLAnnotationTextDisplayNode.h
Go to the documentation of this file.
1 // .NAME vtkMRMLAnnotationTextDisplayNode - MRML node to represent display properties for tractography.
2 // .SECTION Description
3 // vtkMRMLAnnotationTextDisplayNode 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 __vtkMRMLAnnotationTextDisplayNode_h
10 #define __vtkMRMLAnnotationTextDisplayNode_h
11 
12 #include "vtkMRML.h"
14 #include "vtkSlicerAnnotationsModuleMRMLExport.h"
15 
17 class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationTextDisplayNode : public vtkMRMLAnnotationDisplayNode
18 {
19  public:
22  void PrintSelf ( ostream& os, vtkIndent indent ) override;
23 
24  //--------------------------------------------------------------------------
25  // MRMLNode methods
26  //--------------------------------------------------------------------------
27 
28  vtkMRMLNode* CreateNodeInstance () override;
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 "AnnotationTextDisplay";}
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 
57  // Description:
58  // Get/Set for Text scale
59  void SetTextScale(double scale);
60  vtkGetMacro(TextScale,double);
61 
63  vtkSetMacro(UseLineWrap,int);
64  vtkGetMacro(UseLineWrap,int);
65  vtkBooleanMacro(UseLineWrap,int);
66 
68  vtkSetMacro(MaxCharactersPerLine, unsigned int);
69  vtkGetMacro(MaxCharactersPerLine, unsigned int);
70 
72 
74  vtkSetMacro(ShowBorder,int);
75  vtkGetMacro(ShowBorder,int);
76  vtkBooleanMacro(ShowBorder,int);
77 
80  vtkSetMacro(ShowLeader,int);
81  vtkGetMacro(ShowLeader,int);
82  vtkBooleanMacro(ShowLeader,int);
83 
86  vtkSetMacro(UseThreeDimensionalLeader,int);
87  vtkGetMacro(UseThreeDimensionalLeader,int);
88  vtkBooleanMacro(UseThreeDimensionalLeader,int);
89 
91  vtkSetMacro(ShowArrowHead, int);
92  vtkGetMacro(ShowArrowHead, int);
93  vtkBooleanMacro(ShowArrowHead, int);
94 
100  vtkSetClampMacro(LeaderGlyphSize,double,0.0,0.1);
101  vtkGetMacro(LeaderGlyphSize,double);
102 
106  vtkSetClampMacro(MaximumLeaderGlyphSize,int,1,1000);
107  vtkGetMacro(MaximumLeaderGlyphSize,int);
108 
111  vtkSetClampMacro(Padding, int, 0, 50);
112  vtkGetMacro(Padding, int);
113 
116  vtkSetMacro(AttachEdgeOnly,int);
117  vtkGetMacro(AttachEdgeOnly,int);
118  vtkBooleanMacro(AttachEdgeOnly,int);
119 
121  void CreateBackup() override;
123  void RestoreBackup() override;
124 
129  std::string GetLineWrappedText(std::string inputText);
130 protected:
132  ~vtkMRMLAnnotationTextDisplayNode() override = default;
135 
136  double TextScale;
137 
139  unsigned int MaxCharactersPerLine;
140 
147  int Padding;
149 
150 };
151 
152 #endif
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void CreateBackup()
Creates a backup of the current MRML state of this node and keeps a reference.
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Does not copy node ID and Scene. Performs deep copy - an independent copy is created from all data, including bulk data.
void operator=(const vtkMRMLAnnotationDisplayNode &)
vtkMRMLNode * CreateNodeInstance() 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:167
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)