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
vtkMRMLAnnotationLinesStorageNode.h
Go to the documentation of this file.
1 // .NAME vtkMRMLAnnotationLinesStorageNode - MRML node for representing a volume storage
2 // .SECTION Description
3 // vtkMRMLAnnotationLinesStorageNode nodes describe the annotation storage
4 // node that allows to read/write point data from/to file.
5 
6 #ifndef __vtkMRMLAnnotationLinesStorageNode_h
7 #define __vtkMRMLAnnotationLinesStorageNode_h
8 
9 #include "vtkSlicerAnnotationsModuleMRMLExport.h"
11 
14 
16 class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationLinesStorageNode
18 {
19  public:
22  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
23 
24  virtual vtkMRMLNode* CreateNodeInstance() VTK_OVERRIDE;
25 
26  // Description:
27  // Read node attributes from XML file
28  virtual void ReadXMLAttributes( const char** atts) VTK_OVERRIDE;
29 
30  // Description:
31  // Write this node's information to a MRML file in XML format.
32  virtual void WriteXML(ostream& of, int indent) VTK_OVERRIDE;
33 
34  // Description:
35  // Copy the node's attributes to this object
36  virtual void Copy(vtkMRMLNode *node) VTK_OVERRIDE;
37 
38  // Description:
39  // Get node XML tag name (like Storage, Model)
40  virtual const char* GetNodeTagName() VTK_OVERRIDE {return "AnnotationLinesStorage";}
41 
43  virtual bool CanReadInReferenceNode(vtkMRMLNode* refNode) VTK_OVERRIDE;
44 
45 protected:
50 
51  const char* GetAnnotationStorageType() { return "line"; }
52 
53  int WriteAnnotationLineDisplayProperties(fstream & of, vtkMRMLAnnotationLineDisplayNode *refNode, std::string preposition);
54  int WriteAnnotationLinesProperties(fstream & of, vtkMRMLAnnotationLinesNode *refNode);
55  int WriteAnnotationLinesData(fstream& of, vtkMRMLAnnotationLinesNode *refNode);
56 
58  int ReadAnnotationLinesData(vtkMRMLAnnotationLinesNode *refNode, char line[1024], int typeColumn, int startIDColumn, int endIDColumn, int selColumn, int visColumn, int numColumns);
59  int ReadAnnotationLineDisplayProperties(vtkMRMLAnnotationLineDisplayNode *refNode, std::string lineString, std::string preposition);
60  int ReadAnnotationLinesProperties(vtkMRMLAnnotationLinesNode *refNode, char line[1024], int &typeColumn, int& startIDColumn, int& endIDColumn, int& selColumn, int& visColumn, int& numColumns);
61 
63  virtual int ReadDataInternal(vtkMRMLNode *refNode) VTK_OVERRIDE;
64 
65  // Description:
66  virtual int WriteAnnotationDataInternal(vtkMRMLNode *refNode, fstream & of) VTK_OVERRIDE;
67 };
68 
69 #endif
70 
71 
72 
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual int WriteAnnotationDataInternal(vtkMRMLNode *refNode, fstream &of) VTK_OVERRIDE
Write data from a referenced node into a passed stream.
int ReadAnnotation(vtkMRMLAnnotationControlPointsNode *refNode)
virtual bool CanReadInReferenceNode(vtkMRMLNode *refNode) VTK_OVERRIDE
Return true if the node can be read in.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE
Create instance of the default node. Like New only virtual.
static vtkMRMLAnnotationControlPointsStorageNode * New()
virtual int ReadDataInternal(vtkMRMLNode *refNode) VTK_OVERRIDE
Read data and set it in the referenced node.
void operator=(const vtkMRMLAnnotationControlPointsStorageNode &)
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135