21#ifndef __vtkMRMLLayerDMCameraSynchronizer_h
22#define __vtkMRMLLayerDMCameraSynchronizer_h
24#include "vtkSlicerLayerDMModuleMRMLDisplayableManagerExport.h"
28#include <vtkSmartPointer.h>
29#include <vtkWeakPointer.h>
48 class CameraSynchronizeStrategy;
52 void PrintSelf(ostream& os, vtkIndent indent)
override;
74 void UpdateStrategy();
76 vtkSmartPointer<vtkCamera> DefaultCamera;
77 vtkWeakPointer<vtkRenderer> Renderer;
78 vtkWeakPointer<vtkMRMLAbstractViewNode> ViewNode;
79 std::unique_ptr<CameraSynchronizeStrategy> SynchronizeStrategy;
80 bool IsBlocked{
false };
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D,...
void SetRenderer(vtkRenderer *renderer)
vtkMRMLLayerDMCameraSynchronizer()
static vtkMRMLLayerDMCameraSynchronizer * New()
void SetDefaultCamera(const vtkSmartPointer< vtkCamera > &camera)
Set the default camera which will be synchronized by this class.
void PrintSelf(ostream &os, vtkIndent indent) override
bool BlockModified(bool isBlocked)
~vtkMRMLLayerDMCameraSynchronizer() override
void SetViewNode(vtkMRMLAbstractViewNode *viewNode)
Set the view node for which the camera will be synchronized.