Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLModelHierarchyNode.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: vtkMRMLModelHierarchyNode.h,v $
10  Date: $Date: 2006/03/19 17:12:28 $
11  Version: $Revision: 1.6 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLModelHierarchyNode_h
16 #define __vtkMRMLModelHierarchyNode_h
17 
20 class vtkMRMLModelNode;
21 
24 {
25 public:
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
30  //--------------------------------------------------------------------------
32  //--------------------------------------------------------------------------
33 
34  vtkMRMLNode* CreateNodeInstance() override;
35 
38  void ReadXMLAttributes( const char** atts) override;
39 
42  void WriteXML(ostream& of, int indent) override;
43 
44 
47  void Copy(vtkMRMLNode *node) override;
48 
51  const char* GetNodeTagName() override {return "ModelHierarchy";}
52 
56  void UpdateReferences() override;
57 
60  void UpdateScene(vtkMRMLScene *scene) override;
61 
64  void UpdateReferenceID(const char *oldID, const char *newID) override;
65 
68  void SetModelNodeID(const char* id)
69  {
70  this->SetDisplayableNodeID(id);
71  }
72 
74  {
75  return this->GetDisplayableNodeID();
76  }
77 
79  void SetModelNodeIDReference(const char* ref) {
80  this->SetModelNodeID(ref);
81  };
82 
83 
86  vtkMRMLModelNode* GetModelNode();
87 
90  vtkMRMLModelDisplayNode* GetModelDisplayNode();
91 
92 
96 
99  void GetChildrenModelNodes(vtkCollection *models);
100 
103  void ProcessMRMLEvents ( vtkObject * /*caller*/,
104  unsigned long /*event*/,
105  void * /*callData*/ ) override;
106 
107 
108 protected:
110  ~vtkMRMLModelHierarchyNode() override;
113 
114 
116 
118 
119 };
120 
121 #endif
void SetModelNodeIDReference(const char *ref)
Need this for tcl wrapping to call ReferenceStringMacro methods.
vtkMRMLDisplayableHierarchyNode * GetCollapsedParentNode()
Get the top parent node in the hierarchy which is not expanded
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
MRML node to represent a display property of 3D surface model.
MRML node to represent a 3D surface model.
static vtkMRMLDisplayableHierarchyNode * New()
void PrintSelf(ostream &os, vtkIndent indent) override
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void operator=(const vtkMRMLDisplayableHierarchyNode &)
virtual char * GetDisplayableNodeID()
String ID of the corresponding displayable MRML node
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
virtual void SetDisplayableNodeID(const char *ref)
vtkMRMLModelDisplayNode * ModelDisplayNode
Data.
void SetModelNodeID(const char *id)
String ID of the model MRML node
MRML node to represent a hierarchyu of models.
void UpdateScene(vtkMRMLScene *scene) override
Finds the Displayable node and read the data
const char * GetNodeTagName() override
Get node XML tag name (like Volume, ModelHierarchy)
MRML node to represent a hierarchy of displayable nodes.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene