Slicer  5.3
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLViewLinkLogic.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Copyright (c) Kapteyn Astronomical Institute
4  University of Groningen, Groningen, Netherlands. All Rights Reserved.
5 
6  See COPYRIGHT.txt
7  or http://www.slicer.org/copyright/copyright.txt for details.
8 
9  Unless required by applicable law or agreed to in writing, software
10  distributed under the License is distributed on an "AS IS" BASIS,
11  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  See the License for the specific language governing permissions and
13  limitations under the License.
14 
15  This file was originally developed by Davide Punzo, Kapteyn Astronomical Institute,
16  and was supported through the European Research Council grant nr. 291531.
17 
18 ==============================================================================*/
19 
31 
32 #ifndef __vtkMRMLViewLinkLogic_h
33 #define __vtkMRMLViewLinkLogic_h
34 
35 // MRMLLogic includes
36 #include "vtkMRMLAbstractLogic.h"
37 
38 // STD includes
39 #include <vector>
40 
41 class vtkMRMLViewNode;
42 class vtkMRMLCameraNode;
43 
44 class VTK_MRML_LOGIC_EXPORT vtkMRMLViewLinkLogic : public vtkMRMLAbstractLogic
45 {
46 public:
48  static vtkMRMLViewLinkLogic *New();
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
52 protected:
54  ~vtkMRMLViewLinkLogic() override;
55 
56  // On a change in scene, we need to manage the observations.
57  void SetMRMLSceneInternal(vtkMRMLScene* newScene) override;
58 
59  void OnMRMLSceneNodeAdded(vtkMRMLNode* node) override;
60  void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) override;
61  void OnMRMLNodeModified(vtkMRMLNode* node) override;
62 
64  void BroadcastViewNodeEvent(vtkMRMLViewNode* viewNode);
65 
67  void BroadcastCameraNodeEvent(vtkMRMLCameraNode* cameraNode);
68 
69 private:
71  void operator=(const vtkMRMLViewLinkLogic&) = delete;
72 
73 };
74 
75 #endif
Superclass for MRML logic classes.
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void OnMRMLNodeModified(vtkMRMLNode *)
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
virtual void OnMRMLSceneNodeAdded(vtkMRMLNode *)
virtual void OnMRMLSceneNodeRemoved(vtkMRMLNode *)
virtual void SetMRMLSceneInternal(vtkMRMLScene *newScene)
MRML node to represent a 3D view.
MRML node to represent camera node.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
static vtkMRMLAbstractLogic * New()