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
vtkMRMLLinearTransformsDisplayableManager.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Portions (c) Copyright Brigham and Women's Hospital (BWH) All Rights Reserved.
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 Andras Lasso and Franklin King at
17 PerkLab, Queen's University and was supported through the Applied Cancer
18 Research Unit program of Cancer Care Ontario with funds provided by the
19 Ontario Ministry of Health and Long-Term Care.
20
21==============================================================================*/
22
23#ifndef __vtkMRMLLinearTransformsDisplayableManager_h
24#define __vtkMRMLLinearTransformsDisplayableManager_h
25
26// MRMLDisplayableManager includes
28
29// Transforms MRMLDM includes
31#include "vtkSlicerTransformsModuleMRMLDisplayableManagerExport.h"
32
33// MRML includes
36
42class VTK_SLICER_TRANSFORMS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLLinearTransformsDisplayableManager
44{
45
46public:
47
50 void PrintSelf(ostream& os, vtkIndent indent) override;
51
56
57protected:
58
61
62 void UnobserveMRMLScene() override;
63 void OnMRMLSceneNodeAdded(vtkMRMLNode* node) override;
64 void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) override;
65 void ProcessMRMLNodesEvents(vtkObject* caller, unsigned long event, void* callData) override;
66
68 void UpdateFromMRML() override;
69
70 void OnMRMLSceneStartClose() override;
71 void OnMRMLSceneEndClose() override;
72
74
77 void Create() override;
78
79 bool CanProcessInteractionEvent(vtkMRMLInteractionEventData* eventData, double& closestDistance2) override;
81
82private:
83
85 void operator=(const vtkMRMLLinearTransformsDisplayableManager&) = delete;
86
87 class vtkInternal;
88 vtkInternal * Internal;
89 friend class vtkInternal;
90};
91
92#endif
void UpdateFromMRML() override
Update Actors based on transforms in the scene.
vtkMRMLTransformHandleWidget * GetWidget(vtkMRMLTransformDisplayNode *markupsDisplayNode)
Get a vtkMRMLTransformHandleWidget* given a node.
static vtkMRMLLinearTransformsDisplayableManager * New()
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
void OnMRMLSceneNodeRemoved(vtkMRMLNode *node) override
bool ProcessInteractionEvent(vtkMRMLInteractionEventData *eventData) override
bool CanProcessInteractionEvent(vtkMRMLInteractionEventData *eventData, double &closestDistance2) override
void PrintSelf(ostream &os, vtkIndent indent) override
vtkMRMLTransformHandleWidget * GetWidget(vtkMRMLTransformNode *markupsNode)
Get first visible widget for this markup.
void OnMRMLSceneNodeAdded(vtkMRMLNode *node) override
Abstract Superclass for all specific types of MRML nodes.
MRML node to represent display properties for transforms visualization in the slice and 3D viewers.
Process interaction events to update state of interaction widgets.
MRML node for representing a transformation between this node space and a parent node space.