Program Listing for File vtkMRMLLayerDMSelectionObserver.h
↰ Return to documentation for file (MRML/vtkMRMLLayerDMSelectionObserver.h)
#pragma once
// LayerDM includes
#include "vtkSlicerLayerDMModuleMRMLExport.h"
// VTK includes
#include <vtkObject.h>
#include <vtkSmartPointer.h>
#include <vtkWeakPointer.h>
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<vtkMRMLLayerDMObjectEventObserver> m_obs;
vtkWeakPointer<vtkMRMLScene> m_scene;
vtkWeakPointer<vtkMRMLInteractionNode> m_interactionNode;
vtkWeakPointer<vtkMRMLSelectionNode> m_selectionNode;
};