Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLDisplayableHierarchyLogic.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: vtkMRMLDisplayableHierarchyLogic.h,v $
10  Date: $Date: 2010-02-15 16:35:35 -0500 (Mon, 15 Feb 2010) $
11  Version: $Revision: 12142 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLDisplayableHierarchyLogic_h
16 #define __vtkMRMLDisplayableHierarchyLogic_h
17 
18 // MRML includes
19 #include <vtkMRMLAbstractLogic.h>
22 
23 // STD includes
24 #include <cstdlib>
25 #include <vector>
26 
27 typedef std::vector< vtkMRMLDisplayableHierarchyNode *> vtkMRMLDisplayableHierarchyNodeList;
28 
32 class VTK_MRML_LOGIC_EXPORT vtkMRMLDisplayableHierarchyLogic : public vtkMRMLAbstractLogic
33 {
34  public:
35 
39 
42  char *AddDisplayableHierarchyNodeForNode(vtkMRMLDisplayableNode *node);
43 
47  bool AddChildToParent(vtkMRMLDisplayableNode *child, vtkMRMLDisplayableNode *parent);
48 
52  bool DeleteHierarchyNodeAndChildren(vtkMRMLDisplayableHierarchyNode *hnode);
53 
54 protected:
58  void operator=(const vtkMRMLDisplayableHierarchyLogic&);
59 
61  void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
62 
64  void OnMRMLSceneNodeRemoved(vtkMRMLNode* removedNode) override;
65 
66 };
67 
68 #endif
Superclass for MRML logic classes.
std::vector< vtkMRMLDisplayableHierarchyNode * > vtkMRMLDisplayableHierarchyNodeList
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
virtual void OnMRMLSceneNodeRemoved(vtkMRMLNode *)
Slicer logic class for hierarchy manipulation.
virtual void SetMRMLSceneInternal(vtkMRMLScene *newScene)
MRML node to represent a hierarchy of displayable nodes.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
static vtkMRMLAbstractLogic * New()