.. _program_listing_file_MRMLDM_vtkMRMLLayerDisplayableManager.h: Program Listing for File vtkMRMLLayerDisplayableManager.h ========================================================= |exhale_lsh| :ref:`Return to documentation for file ` (``MRMLDM/vtkMRMLLayerDisplayableManager.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "vtkSlicerLayerDMModuleMRMLDisplayableManagerExport.h" // Slicer includes #include // VTK includes #include class vtkImageData; class vtkMRMLDisplayableManagerFactory; class vtkMRMLLayerDMPipelineI; class vtkMRMLLayerDMPipelineManager; class vtkRenderWindow; class VTK_SLICER_LAYERDM_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLLayerDisplayableManager : public vtkMRMLAbstractDisplayableManager { public: static vtkMRMLLayerDisplayableManager* New(); vtkTypeMacro(vtkMRMLLayerDisplayableManager, vtkMRMLAbstractDisplayableManager); bool CanProcessInteractionEvent(vtkMRMLInteractionEventData* eventData, double& distance2) override; bool ProcessInteractionEvent(vtkMRMLInteractionEventData* eventData) override; static void RegisterInDefaultViews(); static void RegisterInFactory(vtkMRMLDisplayableManagerFactory* factory); static bool IsRegisteredInFactory(vtkMRMLDisplayableManagerFactory* factory); vtkSmartPointer GetNodePipeline(vtkMRMLNode* node) const; static vtkSmartPointer RenderWindowBufferToImage(vtkRenderWindow* window); static void RenderWindowBufferToImage(vtkRenderWindow* window, const vtkSmartPointer& imageData); protected: vtkMRMLLayerDisplayableManager(); ~vtkMRMLLayerDisplayableManager() override = default; vtkMRMLLayerDisplayableManager(const vtkMRMLLayerDisplayableManager&) = delete; void operator=(const vtkMRMLLayerDisplayableManager&) = delete; void Create() override; void OnMRMLDisplayableNodeModifiedEvent(vtkObject* caller) override; void OnMRMLSceneStartBatchProcess() override; void OnMRMLSceneEndBatchProcess() override; void OnMRMLSceneNodeAdded(vtkMRMLNode* node) override; void OnMRMLSceneNodeRemoved(vtkMRMLNode* node) override; void UnobserveMRMLScene() override; void UpdateFromMRML() override; int GetMouseCursor() override; void SetHasFocus(bool hasFocus, vtkMRMLInteractionEventData* eventData) override; private: vtkSmartPointer m_pipelineManager; };