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
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"
14 class vtkMRMLNode;
15 class vtkMRMLScene;
16 
17 // VTK includes
18 #include "vtkXMLParser.h"
19 class vtkCollection;
20 
21 // STD includes
22 #include <stack>
23 
25 class VTK_MRML_EXPORT vtkMRMLParser : public vtkXMLParser
26 {
27 public:
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 
37 protected:
38  vtkMRMLParser() = default;;
39  ~vtkMRMLParser() override = default;
41  void operator=(const vtkMRMLParser&);
42 
43  void StartElement(const char* name, const char** atts) override;
44  void EndElement (const char *name) override;
45 
46 private:
47  vtkMRMLScene* MRMLScene{nullptr};
48  vtkCollection* NodeCollection{nullptr};
49  std::stack< vtkMRMLNode *> NodeStack;
50 };
51 
52 #endif
vtkMRMLScene * GetMRMLScene()
Definition: vtkMRMLParser.h:31
void SetMRMLScene(vtkMRMLScene *scene)
Definition: vtkMRMLParser.h:32
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:61
void SetNodeCollection(vtkCollection *scene)
Definition: vtkMRMLParser.h:35
Parse XML scene file.
Definition: vtkMRMLParser.h:25
vtkCollection * GetNodeCollection()
Definition: vtkMRMLParser.h:34
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167