Slicer 5.8
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*/,
75 unsigned long /*event*/,
76 void * /*callData*/ ) override;
77
80 void SetAndObserveStorageNodeID(const char *storageNodeID);
81 void AddAndObserveStorageNodeID(const char *storageNodeID);
82 void SetAndObserveNthStorageNodeID(int n, const char *storageNodeID);
83
86 bool HasStorageNodeID(const char* storageNodeID);
87
96 void SetSlicerDataType ( const char *type );
97 const char *GetSlicerDataType ();
98
100 const char *GetNthStorageNodeID(int n);
101 const char *GetStorageNodeID();
102
107
114
119 virtual std::string GetDefaultStorageNodeClassName(const char* filename = nullptr);
120
123 virtual bool AddDefaultStorageNode(const char* filename = nullptr);
124
130 vtkSetMacro(DefaultSequenceStorageNodeClassName, std::string);
131 vtkGetMacro(DefaultSequenceStorageNodeClassName, std::string);
132
138
152 virtual bool GetModifiedSinceRead();
153
157 virtual void StorableModified();
158
159 protected:
164
165 static const char* StorageNodeReferenceRole;
167
168 virtual const char* GetStorageNodeReferenceRole();
170
172
176 std::string SlicerDataType;
177
179
187 virtual vtkTimeStamp GetStoredTime();
188
198};
199
200#endif
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.
MRML node to represent a 3D surface model.
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.