21#ifndef __vtkMRMLAbstractDisplayableManager_h
22#define __vtkMRMLAbstractDisplayableManager_h
27#include "vtkMRMLDisplayableManagerExport.h"
38class vtkRenderWindowInteractor;
52 void PrintSelf(ostream& os, vtkIndent indent)
override;
92 double vtkNotUsed(xyz)[3]) {
return ""; }
147 void * callData)
override;
167 void *clientData,
void *callData);
284 vtkInternal* Internal;
285 friend class vtkInternal;
Superclass for displayable manager classes.
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)
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.
int GetInteractorAbortFlag()
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).
void InteractorAbortFlagOff()
vtkMRMLAbstractDisplayableManager()
int GetInteractorStyleAbortFlag()
void InteractorStyleAbortFlagOn()
vtkRenderWindowInteractor * GetInteractor()
Convenient method to get the WindowInteractor associated with the Renderer.
~vtkMRMLAbstractDisplayableManager() override
void SetInteractorAbortFlag(int f)
Set the Abort flag on the Interactor event callback.
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
void SetInteractorStyleAbortFlag(int f)
Set the Abort flag on the InteractorStyle event callback.
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()
void InteractorAbortFlagOn()
static vtkMRMLAbstractDisplayableManager * New()
virtual void AdditionalInitializeStep()
virtual void SetRenderer(vtkRenderer *newRenderer)
void InteractorStyleAbortFlagOff()
Superclass for MRML logic classes.
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.