Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLStorableNode.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8 Program: 3D Slicer
9 Module: $RCSfile: vtkMRMLStorableNode.h,v $
10 Date: $Date: 2006/03/19 17:12:28 $
11 Version: $Revision: 1.6 $
12
13=========================================================================auto=*/
14
15#ifndef __vtkMRMLStorableNode_h
16#define __vtkMRMLStorableNode_h
17
18// MRML includes
19#include "vtkMRMLNode.h"
21
22// VTK includes
23class vtkTagTable;
24
25// STD includes
26#include <vector>
27
33class VTK_MRML_EXPORT vtkMRMLStorableNode : public vtkMRMLNode
34{
35public:
37 void PrintSelf(ostream& os, vtkIndent indent) override;
38
39 //--------------------------------------------------------------------------
41 //--------------------------------------------------------------------------
42 vtkGetObjectMacro(UserTagTable, vtkTagTable);
43
44 //--------------------------------------------------------------------------
46 //--------------------------------------------------------------------------
47
49
50 const char* GetNodeTagName() override = 0;
51
54 void ReadXMLAttributes(const char** atts) override;
55
58 void WriteXML(ostream& of, int indent) override;
59
62 void Copy(vtkMRMLNode* node) override;
63
67
70 void UpdateScene(vtkMRMLScene* scene) override;
71
74 void ProcessMRMLEvents(vtkObject* /*caller*/, unsigned long /*event*/, void* /*callData*/) override;
75
78 void SetAndObserveStorageNodeID(const char* storageNodeID);
79 void AddAndObserveStorageNodeID(const char* storageNodeID);
80 void SetAndObserveNthStorageNodeID(int n, const char* storageNodeID);
81
84 bool HasStorageNodeID(const char* storageNodeID);
85
94 void SetSlicerDataType(const char* type);
95 const char* GetSlicerDataType();
96
98 const char* GetNthStorageNodeID(int n);
99 const char* GetStorageNodeID();
100
105
112
117 virtual std::string GetDefaultStorageNodeClassName(const char* filename = nullptr);
118
121 virtual bool AddDefaultStorageNode(const char* filename = nullptr);
122
128 vtkSetMacro(DefaultSequenceStorageNodeClassName, std::string);
129 vtkGetMacro(DefaultSequenceStorageNodeClassName, std::string);
130
136
150 virtual bool GetModifiedSinceRead();
151
155 virtual void StorableModified();
156
157protected:
162
163 static const char* StorageNodeReferenceRole;
165
166 virtual const char* GetStorageNodeReferenceRole();
168
170
174 std::string SlicerDataType;
175
177
185 virtual vtkTimeStamp GetStoredTime();
186
196};
197
198#endif
friend class vtkMRMLScene
const char * GetNodeTagName() override=0
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file.
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
std::string DefaultSequenceStorageNodeClassName
void SetSlicerDataType(const char *type)
virtual const char * GetStorageNodeReferenceRole()
const char * GetNthStorageNodeID(int n)
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Storage nodes
vtkMRMLStorageNode * GetNthStorageNode(int n)
Get associated display MRML node.
~vtkMRMLStorableNode() override
virtual std::string GetDefaultStorageNodeClassName(const char *filename=nullptr)
virtual vtkMRMLStorageNode * CreateDefaultSequenceStorageNode()
vtkMRMLCopyContentMacro(vtkMRMLStorableNode)
void AddAndObserveStorageNodeID(const char *storageNodeID)
void SetAndObserveStorageNodeID(const char *storageNodeID)
String ID of the storage MRML node.
virtual bool AddDefaultStorageNode(const char *filename=nullptr)
vtkMRMLStorableNode(const vtkMRMLStorableNode &)
virtual vtkTimeStamp GetStoredTime()
vtkMRMLNode * CreateNodeInstance() override=0
MRMLNode methods.
virtual const char * GetStorageNodeReferenceMRMLAttributeName()
const char * GetStorageNodeID()
vtkMRMLStorageNode * GetStorageNode()
void SetAndObserveNthStorageNodeID(int n, const char *storageNodeID)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual bool GetModifiedSinceRead()
bool HasStorageNodeID(const char *storageNodeID)
Return true if storageNodeID is in the storage node ID list.
virtual vtkMRMLStorageNode * CreateDefaultStorageNode()
virtual void StorableModified()
vtkTimeStamp StorableModifiedTime
void Copy(vtkMRMLNode *node) override
Copy node contents from another node of the same type. Reimplemented to copy default sequence storage...
void operator=(const vtkMRMLStorableNode &)
const char * GetSlicerDataType()
static const char * StorageNodeReferenceMRMLAttributeName
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
static const char * StorageNodeReferenceRole
A superclass for other storage nodes.