Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkSlicerSceneViewsModuleLogic.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Copyright (c) Kitware Inc.
6 
7  See COPYRIGHT.txt
8  or http://www.slicer.org/copyright/copyright.txt for details.
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  This file was originally developed by Daniel Haehn, UPenn
17  and was partially funded by NIH grant 3P41RR013218-12S1
18 
19 ==============================================================================*/
20 
21 #ifndef __vtkMRMLSceneViewsModuleLogic_h
22 #define __vtkMRMLSceneViewsModuleLogic_h
23 
24 // SlicerLogic includes
25 #include "vtkSlicerBaseLogic.h"
26 
27 // MRMLLogic includes
28 #include "vtkMRMLAbstractLogic.h"
29 
30 #include "vtkSlicerSceneViewsModuleLogicExport.h"
31 //#include "qSlicerSceneViewsModuleExport.h"
32 
33 #include "vtkSlicerModuleLogic.h"
34 
35 // MRML includes
37 
38 // VTK includes
39 class vtkImageData;
40 
41 #include <string>
42 
44 class VTK_SLICER_SCENEVIEWS_MODULE_LOGIC_EXPORT vtkSlicerSceneViewsModuleLogic :
46 {
47 public:
48 
51  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
52 
54  virtual void SetMRMLSceneInternal(vtkMRMLScene * newScene) VTK_OVERRIDE;
55 
57  virtual void RegisterNodes() VTK_OVERRIDE;
58 
60  void CreateSceneView(const char* name, const char* description, int screenshotType, vtkImageData* screenshot);
61 
63  void ModifySceneView(vtkStdString id, const char* name, const char* description, int screenshotType, vtkImageData* screenshot);
64 
66  vtkStdString GetSceneViewName(const char* id);
67 
69  vtkStdString GetSceneViewDescription(const char* id);
70 
72  int GetSceneViewScreenshotType(const char* id);
73 
75  vtkImageData* GetSceneViewScreenshot(const char* id);
76 
80  void RestoreSceneView(const char* id, bool removeNodes = true);
81 
83  const char* MoveSceneViewUp(const char* id);
84 
86  const char* MoveSceneViewDown(const char* id);
87 
89  void RemoveSceneViewNode(vtkMRMLSceneViewNode *sceneViewNode);
90 
91 protected:
92 
94 
95  virtual ~vtkSlicerSceneViewsModuleLogic();
96 
97  virtual void OnMRMLSceneNodeAdded(vtkMRMLNode* node) VTK_OVERRIDE;
98  virtual void OnMRMLSceneEndImport() VTK_OVERRIDE;
99  virtual void OnMRMLSceneEndRestore() VTK_OVERRIDE;
100  virtual void OnMRMLSceneEndClose() VTK_OVERRIDE;
101 
102  virtual void OnMRMLNodeModified(vtkMRMLNode* node) VTK_OVERRIDE;
103 
104 private:
105 
106  std::string m_StringHolder;
107 
108 };
109 
110 #endif
static vtkSlicerModuleLogic * New()
The Usual vtk class functions.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
LRU Cache.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
virtual void SetMRMLSceneInternal(vtkMRMLScene *newScene)
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135