Slicer  5.0
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
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)