.. _program_listing_file_MRML_vtkMRMLLayerDMSelectionObserver.h: Program Listing for File vtkMRMLLayerDMSelectionObserver.h ========================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``MRML/vtkMRMLLayerDMSelectionObserver.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once // LayerDM includes #include "vtkSlicerLayerDMModuleMRMLExport.h" // VTK includes #include #include #include class vtkMRMLInteractionNode; class vtkMRMLNode; class vtkMRMLScene; class vtkMRMLSelectionNode; class vtkMRMLLayerDMObjectEventObserver; class vtkMRMLApplicationLogic; class VTK_SLICER_LAYERDM_MODULE_MRML_EXPORT vtkMRMLLayerDMSelectionObserver : public vtkObject { public: static vtkMRMLLayerDMSelectionObserver* New(); vtkTypeMacro(vtkMRMLLayerDMSelectionObserver, vtkObject); void SetScene(vtkMRMLScene* scene); void UpdateNodesFromScene(vtkMRMLScene* scene); void UpdateNodesFromApplicationLogic(vtkMRMLApplicationLogic* logic); bool SetInteractionNode(vtkMRMLInteractionNode* interactionNode); vtkMRMLInteractionNode* GetInteractionNode() const; bool SetSelectionNode(vtkMRMLSelectionNode* selectionNode); vtkMRMLSelectionNode* GetSelectionNode() const; bool IsPlacing(vtkMRMLNode* node) const; bool IsPlacing() const; void StartPlace(vtkMRMLNode* node, bool isPersistent); void StopPlace() const; std::string GetActivePlaceNodeID() const; void SetInteractionMode(int interactionMode) const; int GetCurrentInteractionMode() const; bool GetPlaceModePersistence() const; protected: vtkMRMLLayerDMSelectionObserver(); ~vtkMRMLLayerDMSelectionObserver() override; vtkMRMLLayerDMSelectionObserver(const vtkMRMLLayerDMSelectionObserver&) = delete; void operator=(const vtkMRMLLayerDMSelectionObserver&) = delete; private: vtkSmartPointer m_obs; vtkWeakPointer m_scene; vtkWeakPointer m_interactionNode; vtkWeakPointer m_selectionNode; };