.. _program_listing_file_MRMLDM_vtkMRMLLayerDMPipelineI.h: Program Listing for File vtkMRMLLayerDMPipelineI.h ================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``MRMLDM/vtkMRMLLayerDMPipelineI.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 #include class vtkCamera; class vtkMRMLAbstractViewNode; class vtkMRMLInteractionEventData; class vtkMRMLLayerDMPipelineI; class vtkMRMLLayerDMPipelineManager; class vtkMRMLNode; class vtkMRMLScene; class vtkMRMLLayerDMObjectEventObserver; class vtkRenderer; class VTK_SLICER_LAYERDM_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLLayerDMPipelineI : public vtkObject { public: static vtkMRMLLayerDMPipelineI* New(); vtkTypeMacro(vtkMRMLLayerDMPipelineI, vtkObject); virtual bool CanProcessInteractionEvent(vtkMRMLInteractionEventData* eventData, double& distance2); virtual vtkCamera* GetCustomCamera() const; virtual int GetMouseCursor() const; virtual unsigned int GetRenderOrder() const; virtual int GetWidgetState() const; virtual void LoseFocus(vtkMRMLInteractionEventData* eventData); virtual void OnDefaultCameraModified(vtkCamera* camera); virtual void OnReferenceToDisplayNodeAdded(vtkMRMLNode* fromNode, const std::string& role); virtual void OnReferenceToDisplayNodeRemoved(vtkMRMLNode* fromNode, const std::string& role); virtual void OnRendererAdded(vtkRenderer* renderer); virtual void OnRendererRemoved(vtkRenderer* renderer); virtual bool ProcessInteractionEvent(vtkMRMLInteractionEventData* eventData); virtual void SetDisplayNode(vtkMRMLNode* displayNode); virtual void SetPipelineManager(vtkMRMLLayerDMPipelineManager* pipelineManager); virtual void SetScene(vtkMRMLScene* scene); virtual void SetViewNode(vtkMRMLAbstractViewNode* viewNode); virtual void UpdatePipeline(); bool BlockResetDisplay(bool isBlocked); vtkMRMLNode* GetDisplayNode() const; vtkMRMLLayerDMPipelineI* GetNodePipeline(vtkMRMLNode* node) const; vtkMRMLLayerDMPipelineManager* GetPipelineManager() const; vtkRenderer* GetRenderer() const; vtkMRMLScene* GetScene() const; vtkMRMLAbstractViewNode* GetViewNode() const; bool UpdateObserver(vtkObject* prevObj, vtkObject* obj, const std::vector& events) const; bool UpdateObserver(vtkObject* prevObj, vtkObject* obj, unsigned long event = vtkCommand::ModifiedEvent) const; void RemoveObserver(vtkObject* prevObj) const; void RequestRender() const; void ResetDisplay(); void SetRenderer(vtkRenderer* renderer); protected: vtkMRMLLayerDMPipelineI(); ~vtkMRMLLayerDMPipelineI() override = default; virtual void OnUpdate(vtkObject* obj, unsigned long eventId, void* callData); private: vtkWeakPointer m_viewNode; vtkWeakPointer m_displayNode; vtkWeakPointer m_renderer; bool m_isResetDisplayBlocked; vtkSmartPointer m_obs; vtkWeakPointer m_pipelineManager; vtkWeakPointer m_scene; };