Slicer 5.9
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
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
32class vtkVolumeMapper;
33class vtkVolume;
34
35#define VTKIS_VOLUME_PROPS 100
36
37class VTK_SLICER_VOLUMERENDERING_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLVolumeRenderingDisplayableManager
39{
40public:
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44
45 void OnMRMLSceneStartClose() override;
46 void OnMRMLSceneEndClose() override;
47 void OnMRMLSceneEndImport() override;
48 void OnMRMLSceneEndRestore() override;
50 void OnMRMLSceneNodeAdded(vtkMRMLNode* node) override;
51 void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) override;
52 void UnobserveMRMLScene() override;
53
55 void UpdateFromMRML() override;
56
58 vtkVolumeMapper* GetVolumeMapper(vtkMRMLVolumeNode* volumeNode);
59 vtkVolume* GetVolumeActor(vtkMRMLVolumeNode* volumeNode);
60
63 int Pick3D(double ras[3]) override;
64
66 const char* GetPickedNodeID() override;
67
68public:
70
71protected:
74
76 void Create() override;
77
80
81 int ActiveInteractionModes() override;
82
83 void ProcessMRMLNodesEvents(vtkObject * caller, unsigned long event, void * callData) override;
84
85protected:
87
88protected:
90 void operator=(const vtkMRMLVolumeRenderingDisplayableManager&); // Not implemented
91
92 class vtkInternal;
94 friend class vtkInternal;
95};
96
97#endif
Abstract Superclass for all specific types of MRML nodes.
MRML node for representing a volume (image stack).
vtkVolume * GetVolumeActor(vtkMRMLVolumeNode *volumeNode)
const char * GetPickedNodeID() override
Get the MRML ID of the picked node, returns empty string if no pick.
void ObserveGraphicalResourcesCreatedEvent()
Observe graphical resources created event.
int Pick3D(double ras[3]) override
void OnMRMLSceneNodeRemoved(vtkMRMLNode *node) override
vtkVolumeMapper * GetVolumeMapper(vtkMRMLVolumeNode *volumeNode)
Utility functions mainly used for testing.
void UpdateFromMRML() override
Update actors based on volumes in the scene.
static vtkMRMLVolumeRenderingDisplayableManager * New()
void Create() override
Initialize the displayable manager.
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
vtkMRMLVolumeRenderingDisplayableManager(const vtkMRMLVolumeRenderingDisplayableManager &)
void PrintSelf(ostream &os, vtkIndent indent) override
void OnMRMLSceneNodeAdded(vtkMRMLNode *node) override
void operator=(const vtkMRMLVolumeRenderingDisplayableManager &)