Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLParser.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Copyright (c) Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See License.txt or http://www.slicer.org/copyright/copyright.txt for details.
6
7==========================================================================*/
8
9#ifndef __vtkMRMLParser_h
10#define __vtkMRMLParser_h
11
12// MRML includes
13#include "vtkMRML.h"
14class vtkMRMLNode;
15class vtkMRMLScene;
16
17// VTK includes
18#include "vtkXMLParser.h"
19class vtkCollection;
20
21// STD includes
22#include <stack>
23
25class VTK_MRML_EXPORT vtkMRMLParser : public vtkXMLParser
26{
27public:
28 static vtkMRMLParser* New();
29 vtkTypeMacro(vtkMRMLParser, vtkXMLParser);
30
31 vtkMRMLScene* GetMRMLScene() { return this->MRMLScene; };
32 void SetMRMLScene(vtkMRMLScene* scene) { this->MRMLScene = scene; };
33
34 vtkCollection* GetNodeCollection() { return this->NodeCollection; };
35 void SetNodeCollection(vtkCollection* scene) { this->NodeCollection = scene; };
36
37protected:
38 vtkMRMLParser() = default;
39 ;
40 ~vtkMRMLParser() override = default;
43
44 void StartElement(const char* name, const char** atts) override;
45 void EndElement(const char* name) override;
46
47private:
48 vtkMRMLScene* MRMLScene{ nullptr };
49 vtkCollection* NodeCollection{ nullptr };
50 std::stack<vtkMRMLNode*> NodeStack;
51};
52
53#endif
Abstract Superclass for all specific types of MRML nodes.
~vtkMRMLParser() override=default
vtkMRMLParser(const vtkMRMLParser &)
void SetMRMLScene(vtkMRMLScene *scene)
vtkCollection * GetNodeCollection()
vtkMRMLScene * GetMRMLScene()
static vtkMRMLParser * New()
vtkMRMLParser()=default
void SetNodeCollection(vtkCollection *scene)
void EndElement(const char *name) override
void operator=(const vtkMRMLParser &)
void StartElement(const char *name, const char **atts) override
A set of MRML Nodes that supports serialization and undo/redo.