Slicer  4.10
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLVolumeRenderingDisplayableManager.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 Julien Finet, Kitware Inc.
17  and was partially funded by NIH grant 3P41RR013218-12S1
18 
19 ==============================================================================*/
20 
21 #ifndef __vtkMRMLVolumeRenderingDisplayableManager_h
22 #define __vtkMRMLVolumeRenderingDisplayableManager_h
23 
24 // VolumeRendering includes
25 #include "vtkSlicerVolumeRenderingModuleMRMLDisplayableManagerExport.h"
26 
27 // MRML DisplayableManager includes
29 
31 class vtkMRMLVolumeNode;
32 class vtkVolumeMapper;
33 class vtkVolume;
34 
35 #define VTKIS_VOLUME_PROPS 100
36 
38 class VTK_SLICER_VOLUMERENDERING_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLVolumeRenderingDisplayableManager
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
45 
46  virtual void OnMRMLSceneStartClose() VTK_OVERRIDE;
47  virtual void OnMRMLSceneEndClose() VTK_OVERRIDE;
48  virtual void OnMRMLSceneEndImport() VTK_OVERRIDE;
49  virtual void OnMRMLSceneEndRestore() VTK_OVERRIDE;
50  virtual void OnMRMLSceneEndBatchProcess() VTK_OVERRIDE;
51  virtual void OnMRMLSceneNodeAdded(vtkMRMLNode* node) VTK_OVERRIDE;
52  virtual void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) VTK_OVERRIDE;
53  virtual void UnobserveMRMLScene() VTK_OVERRIDE;
54 
56  virtual void UpdateFromMRML() VTK_OVERRIDE;
57 
59  vtkVolumeMapper* GetVolumeMapper(vtkMRMLVolumeNode* volumeNode);
60  vtkVolume* GetVolumeActor(vtkMRMLVolumeNode* volumeNode);
61 
64  virtual int Pick3D(double ras[3]) VTK_OVERRIDE;
65 
67  virtual const char* GetPickedNodeID() VTK_OVERRIDE;
68 
69 public:
70  static int DefaultGPUMemorySize;
71 
72 protected:
75 
77  virtual void Create() VTK_OVERRIDE;
78 
80  void ObserveGraphicalResourcesCreatedEvent();
81 
82  virtual int ActiveInteractionModes() VTK_OVERRIDE;
83 
84  virtual void ProcessMRMLNodesEvents(vtkObject * caller, unsigned long event, void * callData) VTK_OVERRIDE;
85 
86  virtual void OnInteractorStyleEvent(int eventID) VTK_OVERRIDE;
87 
88 protected:
89  vtkSlicerVolumeRenderingLogic *VolumeRenderingLogic;
90 
91 protected:
93  void operator=(const vtkMRMLVolumeRenderingDisplayableManager&); // Not implemented
94 
95  class vtkInternal;
96  vtkInternal* Internal;
97  friend class vtkInternal;
98 };
99 
100 #endif
virtual void OnMRMLSceneStartClose()
static vtkMRMLAbstractThreeDViewDisplayableManager * New()
MRML node for representing a volume (image stack).
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:138