Slicer  4.11
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
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