Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLAnnotationAngleStorageNode.h
Go to the documentation of this file.
1 // .NAME vtkMRMLAnnotationAngleStorageNode - MRML node for representing a volume storage
2 // .SECTION Description
3 // vtkMRMLAnnotationAngleStorageNode nodes describe the annotation storage
4 // node that allows to read/write point data from/to file.
5 
6 #ifndef __vtkMRMLAnnotationAngleStorageNode_h
7 #define __vtkMRMLAnnotationAngleStorageNode_h
8 
9 #include "vtkSlicerAnnotationsModuleMRMLExport.h"
11 
13 
15 class VTK_SLICER_ANNOTATIONS_MODULE_MRML_EXPORT vtkMRMLAnnotationAngleStorageNode
17 {
18 public:
21  void PrintSelf(ostream& os, vtkIndent indent) override;
22 
23  vtkMRMLNode* CreateNodeInstance() override;
24 
25  // Description:
26  // Get node XML tag name (like Storage, Model)
27  const char* GetNodeTagName() override {return "AnnotationAngleStorage";}
28 
30  bool CanReadInReferenceNode(vtkMRMLNode *refNode) override;
31 
32 protected:
37 
38  const char* GetAnnotationStorageType() { return "angle"; }
39 
42  int WriteAnnotationAngleProperties(fstream & of, vtkMRMLAnnotationAngleNode *refNode);
43  int WriteAnnotationAngleData(fstream& of, vtkMRMLAnnotationAngleNode *refNode);
44 
46  int ReadAnnotationAngleData(vtkMRMLAnnotationAngleNode *refNode, char line[1024], int typeColumn, int line1IDColumn, int line2IDColumn, int selColumn, int visColumn, int numColumns);
47  int ReadAnnotationAngleProperties(vtkMRMLAnnotationAngleNode *refNode, char line[1024], int &typeColumn, int& line1IDColumn, int& line2Column, int& selColumn, int& visColumn, int& numColumns);
48 
50  int ReadDataInternal(vtkMRMLNode *refNode) override;
51 
53  int WriteAnnotationDataInternal(vtkMRMLNode *refNode, fstream & of) override;
54 };
55 
56 #endif
bool CanReadInReferenceNode(vtkMRMLNode *refNode) override
Return true if the node can be read in.
const char * GetNodeTagName() override
Get node XML tag name (like Storage, Model)
void PrintSelf(ostream &os, vtkIndent indent) override
int ReadAnnotation(vtkMRMLAnnotationLinesNode *refNode)
void operator=(const vtkMRMLAnnotationLinesStorageNode &)
int WriteAnnotationDataInternal(vtkMRMLNode *refNode, fstream &of) override
Write data from a referenced node into a passed stream.
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
static vtkMRMLAnnotationLinesStorageNode * New()
int ReadDataInternal(vtkMRMLNode *refNode) override
Read data and set it in the referenced node.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167