Slicer 5.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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.