21#ifndef __vtkMRMLAbstractDisplayableManager_h
22#define __vtkMRMLAbstractDisplayableManager_h
27#include "vtkMRMLDisplayableManagerExport.h"
38class vtkRenderWindowInteractor;
51 void PrintSelf(ostream& os, vtkIndent indent)
override;
159 static void WidgetsCallback(vtkObject* caller,
unsigned long eid,
void* clientData,
void* callData);
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
virtual vtkMRMLLightBoxRendererManagerProxy * GetLightBoxRendererManagerProxy()
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void UpdateFromMRML()
vtkMRMLNode * GetMRMLDisplayableNode()
Get MRML Displayable Node.
virtual bool CanProcessInteractionEvent(vtkMRMLInteractionEventData *eventData, double &distance2)
virtual bool ProcessInteractionEvent(vtkMRMLInteractionEventData *eventData)
virtual void SetMRMLDisplayableManagerGroup(vtkMRMLDisplayableManagerGroup *group)
friend class vtkMRMLDisplayableManagerGroup
Access to SetRenderer, SetMRMLDisplayableNode and CreateIfPossible methods.
void AddInteractorStyleObservableEvent(int eventid, float priority=0.0)
virtual void OnInteractorStyleEvent(int eventid)
virtual bool GetInteractive()
Displayable manager can indicate that the window is in interactive mode (faster updates).
virtual std::string GetDataProbeInfoStringForPosition(double vtkNotUsed(xyz)[3])
virtual void RemoveMRMLObservers()
Remove MRML observers.
virtual void SetLightBoxRendererManagerProxy(vtkMRMLLightBoxRendererManagerProxy *)
void SetAndObserveMRMLDisplayableNode(vtkMRMLNode *newMRMLDisplayableNode)
vtkMRMLSelectionNode * GetSelectionNode()
Convenient method to get the current SelectionNode.
vtkMRMLDisplayableManagerGroup * GetMRMLDisplayableManagerGroup()
Get associated DisplayableManager group.
void AddMRMLDisplayableManagerEvent(int eventId)
Allow to specify additional events that the DisplayableNode will observe.
void SetMouseCursor(int cursor)
vtkRenderer * GetRenderer(int idx)
vtkRenderer * GetRenderer()
Get the default renderer for this displayable manager.
vtkObserverManager * GetWidgetsObserverManager() const
Get widget observerManager.
vtkMRMLInteractionNode * GetInteractionNode()
Convenient method to get the current InteractionNode.
void SetUpdateFromMRMLRequested(bool requested)
virtual int GetMouseCursor()
Displayable manager returns ID of the mouse cursor shape that should be displayed.
void RemoveInteractorObservableEvent(int eventid)
virtual void SetHasFocus(bool hasFocus, vtkMRMLInteractionEventData *eventData)
Set if the widget gets/loses focus (interaction events are processed by this displayable manager).
vtkMRMLAbstractDisplayableManager()
vtkRenderWindowInteractor * GetInteractor()
Convenient method to get the WindowInteractor associated with the Renderer.
~vtkMRMLAbstractDisplayableManager() override
virtual void ProcessWidgetsEvents(vtkObject *caller, unsigned long event, void *callData)
void RemoveInteractorStyleObservableEvent(int eventid)
static void WidgetsCallback(vtkObject *caller, unsigned long eid, void *clientData, void *callData)
WidgetsCallback is a static function to relay modified events from the vtk widgets.
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
vtkCallbackCommand * GetWidgetsCallbackCommand()
Get vtkWidget callbackCommand.
virtual void OnInteractorEvent(int eventid)
virtual bool GetGrabFocus()
Displayable manager can indicate that it would like to get all events (even when mouse pointer is out...
void AddInteractorObservableEvent(int eventid, float priority=0.0)
virtual void OnMRMLDisplayableNodeModifiedEvent(vtkObject *caller)
virtual int ActiveInteractionModes()
static vtkMRMLAbstractDisplayableManager * New()
virtual void AdditionalInitializeStep()
virtual void SetRenderer(vtkRenderer *newRenderer)
DisplayableManagerGroup is a collection of DisplayableManager.
Proxy class to provide mechanisms for a displayable manager to communicate with 3rd party renderer ma...
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.
MRML node for storing information about the active nodes in the scene.
Manages adding and deleting of observers with events.