.. _program_listing_file_MRMLDM_vtkMRMLLayerDMCameraSynchronizer.h: Program Listing for File vtkMRMLLayerDMCameraSynchronizer.h =========================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``MRMLDM/vtkMRMLLayerDMCameraSynchronizer.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "vtkSlicerLayerDMModuleMRMLDisplayableManagerExport.h" // VTK includes #include #include #include // STL includes #include class vtkCamera; class vtkRenderer; class CameraSynchronizeStrategy; class vtkMRMLAbstractViewNode; class VTK_SLICER_LAYERDM_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLLayerDMCameraSynchronizer : public vtkObject { public: static vtkMRMLLayerDMCameraSynchronizer* New(); vtkTypeMacro(vtkMRMLLayerDMCameraSynchronizer, vtkObject); void SetViewNode(vtkMRMLAbstractViewNode* viewNode); void SetDefaultCamera(const vtkSmartPointer& camera); void SetRenderer(vtkRenderer* renderer); bool BlockModified(bool isBlocked); protected: vtkMRMLLayerDMCameraSynchronizer(); ~vtkMRMLLayerDMCameraSynchronizer() override; private: void UpdateStrategy(); vtkSmartPointer m_defaultCamera; vtkWeakPointer m_renderer; vtkWeakPointer m_viewNode; std::unique_ptr m_syncStrategy; bool m_isBlocked{ false }; };