.. _program_listing_file_MRMLDM_vtkMRMLLayerDMScriptedPipelineBridge.h: Program Listing for File vtkMRMLLayerDMScriptedPipelineBridge.h =============================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``MRMLDM/vtkMRMLLayerDMScriptedPipelineBridge.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "vtkSlicerLayerDMModuleMRMLDisplayableManagerExport.h" #include "vtkMRMLLayerDMPipelineI.h" // VTK includes #include class vtkSmartPyObject; class VTK_SLICER_LAYERDM_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLLayerDMScriptedPipelineBridge : public vtkMRMLLayerDMPipelineI { public: static vtkMRMLLayerDMScriptedPipelineBridge* New(); vtkTypeMacro(vtkMRMLLayerDMScriptedPipelineBridge, vtkMRMLLayerDMPipelineI); bool CanProcessInteractionEvent(vtkMRMLInteractionEventData* eventData, double& distance2) override; vtkCamera* GetCustomCamera() const override; int GetMouseCursor() const override; unsigned int GetRenderOrder() const override; int GetWidgetState() const override; void LoseFocus(vtkMRMLInteractionEventData* eventData) override; void OnDefaultCameraModified(vtkCamera* camera) override; void OnReferenceToDisplayNodeAdded(vtkMRMLNode* fromNode, const std::string& role) override; void OnReferenceToDisplayNodeRemoved(vtkMRMLNode* fromNode, const std::string& role) override; void OnRendererAdded(vtkRenderer* renderer) override; void OnRendererRemoved(vtkRenderer* renderer) override; bool ProcessInteractionEvent(vtkMRMLInteractionEventData* eventData) override; void SetDisplayNode(vtkMRMLNode* displayNode) override; void SetViewNode(vtkMRMLAbstractViewNode* viewNode) override; void SetScene(vtkMRMLScene* scene) override; void SetPipelineManager(vtkMRMLLayerDMPipelineManager* pipelineManager) override; void SetPythonObject(PyObject* object); void UpdatePipeline() override; static PyObject* CastCallData(PyObject* object, int vtkType); protected: vtkMRMLLayerDMScriptedPipelineBridge(); ~vtkMRMLLayerDMScriptedPipelineBridge() override; void OnUpdate(vtkObject* obj, unsigned long eventId, void* callData) override; private: PyObject* CallPythonMethod(const vtkSmartPyObject& pyArgs, const std::string& fName, bool decrementResult) const; int CastToIntAndDecrement(PyObject* result) const; PyObject* m_object; };