Slicer 5.9
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
15class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationLinesStorageNode
17{
18 public:
21 void PrintSelf(ostream& os, vtkIndent indent) override;
22
24
25 // Description:
26 // Read node attributes from XML file
27 void ReadXMLAttributes( const char** atts) override;
28
29 // Description:
30 // Write this node's information to a MRML file in XML format.
31 void WriteXML(ostream& of, int indent) override;
32
33 // Description:
34 // Copy the node's attributes to this object
35 void Copy(vtkMRMLNode *node) override;
36
37 // Description:
38 // Get node XML tag name (like Storage, Model)
39 const char* GetNodeTagName() override {return "AnnotationLinesStorage";}
40
42 bool CanReadInReferenceNode(vtkMRMLNode* refNode) override;
43
44protected:
49
50 const char* GetAnnotationStorageType() { return "line"; }
51
52 int WriteAnnotationLineDisplayProperties(fstream & of, vtkMRMLAnnotationLineDisplayNode *refNode, std::string preposition);
55
57 int ReadAnnotationLinesData(vtkMRMLAnnotationLinesNode *refNode, char line[1024], int typeColumn, int startIDColumn, int endIDColumn, int selColumn, int visColumn, int numColumns);
58 int ReadAnnotationLineDisplayProperties(vtkMRMLAnnotationLineDisplayNode *refNode, std::string lineString, std::string preposition);
59 int ReadAnnotationLinesProperties(vtkMRMLAnnotationLinesNode *refNode, char line[1024], int &typeColumn, int& startIDColumn, int& endIDColumn, int& selColumn, int& visColumn, int& numColumns);
60
62 int ReadDataInternal(vtkMRMLNode *refNode) override;
63
64 // Description:
65 int WriteAnnotationDataInternal(vtkMRMLNode *refNode, fstream & of) override;
66};
67
68#endif
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
void WriteXML(ostream &of, int indent) override
int ReadDataInternal(vtkMRMLNode *refNode) override
Read data and set it in the referenced node.
int WriteAnnotationLineDisplayProperties(fstream &of, vtkMRMLAnnotationLineDisplayNode *refNode, std::string preposition)
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Model)
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Does not copy node ID and Scene....
bool CanReadInReferenceNode(vtkMRMLNode *refNode) override
Return true if the node can be read in.
vtkMRMLAnnotationLinesStorageNode(const vtkMRMLAnnotationLinesStorageNode &)
void operator=(const vtkMRMLAnnotationLinesStorageNode &)
int ReadAnnotationLinesProperties(vtkMRMLAnnotationLinesNode *refNode, char line[1024], int &typeColumn, int &startIDColumn, int &endIDColumn, int &selColumn, int &visColumn, int &numColumns)
int WriteAnnotationDataInternal(vtkMRMLNode *refNode, fstream &of) override
Write data from a referenced node into a passed stream.
void PrintSelf(ostream &os, vtkIndent indent) override
int WriteAnnotationLinesData(fstream &of, vtkMRMLAnnotationLinesNode *refNode)
int ReadAnnotationLinesData(vtkMRMLAnnotationLinesNode *refNode, char line[1024], int typeColumn, int startIDColumn, int endIDColumn, int selColumn, int visColumn, int numColumns)
int ReadAnnotationLineDisplayProperties(vtkMRMLAnnotationLineDisplayNode *refNode, std::string lineString, std::string preposition)
int WriteAnnotationLinesProperties(fstream &of, vtkMRMLAnnotationLinesNode *refNode)
int ReadAnnotation(vtkMRMLAnnotationLinesNode *refNode)
void ReadXMLAttributes(const char **atts) override
static vtkMRMLAnnotationLinesStorageNode * New()
Abstract Superclass for all specific types of MRML nodes.