Slicer
5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
Superclass for displayable manager classes. More...
#include <Libs/MRML/DisplayableManager/vtkMRMLAbstractDisplayableManager.h>
Public Types | |
typedef vtkMRMLAbstractLogic | Superclass |
Public Types inherited from vtkMRMLAbstractLogic | |
typedef vtkObject | Superclass |
typedef void(vtkMRMLAbstractLogic::* | TaskFunctionPointer) (void *clientdata) |
Public Member Functions | |
virtual bool | CanProcessInteractionEvent (vtkMRMLInteractionEventData *eventData, double &distance2) |
virtual const char * | GetClassName () |
virtual std::string | GetDataProbeInfoStringForPosition (double vtkNotUsed(xyz)[3]) |
virtual bool | GetGrabFocus () |
Displayable manager can indicate that it would like to get all events (even when mouse pointer is outside the window). More... | |
vtkMRMLInteractionNode * | GetInteractionNode () |
Convenient method to get the current InteractionNode. More... | |
virtual bool | GetInteractive () |
Displayable manager can indicate that the window is in interactive mode (faster updates). More... | |
vtkRenderWindowInteractor * | GetInteractor () |
Convenient method to get the WindowInteractor associated with the Renderer. More... | |
virtual vtkMRMLLightBoxRendererManagerProxy * | GetLightBoxRendererManagerProxy () |
virtual int | GetMouseCursor () |
Displayable manager returns ID of the mouse cursor shape that should be displayed. More... | |
vtkRenderer * | GetRenderer () |
Get the default renderer for this displayable manager. More... | |
vtkRenderer * | GetRenderer (int idx) |
vtkMRMLSelectionNode * | GetSelectionNode () |
Convenient method to get the current SelectionNode. More... | |
virtual int | IsA (const char *type) |
bool | IsCreated () |
void | PrintSelf (ostream &os, vtkIndent indent) override |
virtual bool | ProcessInteractionEvent (vtkMRMLInteractionEventData *eventData) |
virtual void | SetHasFocus (bool hasFocus, vtkMRMLInteractionEventData *eventData) |
Set if the widget gets/loses focus (interaction events are processed by this displayable manager). More... | |
virtual void | SetLightBoxRendererManagerProxy (vtkMRMLLightBoxRendererManagerProxy *) |
void | SetMouseCursor (int cursor) |
Public Member Functions inherited from vtkMRMLAbstractLogic | |
virtual vtkMRMLApplicationLogic * | GetMRMLApplicationLogic () const |
Get access to overall application state. More... | |
vtkMRMLScene * | GetMRMLScene () const |
Return a reference to the current MRML scene. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
virtual void | SetMRMLApplicationLogic (vtkMRMLApplicationLogic *logic) |
void | SetMRMLScene (vtkMRMLScene *newScene) |
Set and observe the MRMLScene. More... | |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkMRMLAbstractDisplayableManager * | New () |
static vtkMRMLAbstractDisplayableManager * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkMRMLAbstractLogic | |
static int | IsTypeOf (const char *type) |
static vtkMRMLAbstractLogic * | New () |
static vtkMRMLAbstractLogic * | SafeDownCast (vtkObject *o) |
Static Protected Member Functions | |
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. More... | |
Static Protected Member Functions inherited from vtkMRMLAbstractLogic | |
static void | MRMLLogicsCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRMLLogicCallback is a static function to relay modified events from the logics. More... | |
static void | MRMLNodesCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
MRMLNodesCallback is a static function to relay modified events from the nodes. More... | |
static void | MRMLSceneCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
Friends | |
class | vtkInternal |
class | vtkMRMLDisplayableManagerGroup |
Access to SetRenderer, SetMRMLDisplayableNode and CreateIfPossible methods. More... | |
Superclass for displayable manager classes.
A displayable manager is responsible for representing MRML display nodes into a renderer (e.g. 2D view renderer). Displayable managers are the interface between MRML display nodes and vtkRenderer/vtkActors. They are responsible for creating and synchronizing vtkActor, vtkMapper and vtkProperties with MRML display nodes.
Definition at line 47 of file vtkMRMLAbstractDisplayableManager.h.
Definition at line 53 of file vtkMRMLAbstractDisplayableManager.h.
|
protected |
|
overrideprotected |
|
protectedvirtual |
Subclass can overload this method to specify under which InteractionNode modes this Displayable Manager InteractorStyle events. By default events only arrive when in Place mode (good for annotations) but if you want a continuous read out of, for example, slice positions while the mouse moves set this to include Place and ViewTransform
Reimplemented in vtkMRMLModelDisplayableManager, and vtkMRMLVolumeRenderingDisplayableManager.
|
protected |
Usually used inside AdditionalInitializeStep() Allows to add observer to the current interactor that will call the virtual method OnInteractorEvent accordingly.
|
protected |
Usually used inside AdditionalInitializeStep() Allows to add observer to the current interactor style that will call the virtual method OnInteractorStyleEvent accordingly.
|
inlineprotectedvirtual |
Sub-class could overload that function and perform additional initialization steps
Reimplemented in vtkMRMLCameraDisplayableManager, vtkMRMLCrosshairDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLScalarBarDisplayableManager, vtkMRMLViewDisplayableManager, and vtkMRMLCrosshairDisplayableManager3D.
Definition at line 136 of file vtkMRMLAbstractDisplayableManager.h.
|
protected |
Allow to specify additional events that the DisplayableNode will observe.
|
virtual |
Return true if the displayable manager can process the event. Distance2 is the squared distance in display coordinates from the closest interaction position. The displayable manager with the closest distance will get the chance to process the interaction event.
Reimplemented in vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLCameraDisplayableManager, vtkMRMLCrosshairDisplayableManager, and vtkMRMLScalarBarDisplayableManager.
|
protectedvirtual |
Called after a valid MRML DisplayableNode is set. By default it simulates a ModifiedEvent event on the displayable node so that ProcessMRMLNodesEvents(displayableNode, ModifiedEvent) is called.
Reimplemented in vtkMRMLAnnotationDisplayableManager, vtkMRMLVolumeRenderingDisplayableManager, vtkMRMLSegmentationsDisplayableManager3D, vtkMRMLLinearTransformsDisplayableManager3D, vtkMRMLSegmentationsDisplayableManager2D, vtkMRMLCrosshairDisplayableManager, vtkMRMLModelSliceDisplayableManager, vtkMRMLTransformsDisplayableManager2D, vtkMRMLCameraDisplayableManager, vtkMRMLTransformsDisplayableManager3D, vtkMRMLRulerDisplayableManager, vtkMRMLScalarBarDisplayableManager, vtkMRMLViewDisplayableManager, vtkMRMLVolumeGlyphSliceDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLScriptedDisplayableManager, vtkMRMLOrientationMarkerDisplayableManager, vtkMRMLThreeDReformatDisplayableManager, and vtkMRMLCrosshairDisplayableManager3D.
|
protected |
Invoke Create() and set Created flag to True A no-op if IsCreated() return True
|
virtual |
Reimplemented from vtkMRMLAbstractLogic.
Reimplemented in vtkMRMLMarkupsDisplayableManager, vtkMRMLModelDisplayableManager, vtkMRMLAnnotationDisplayableManager, vtkMRMLLinearTransformsDisplayableManager3D, vtkMRMLAbstractSliceViewDisplayableManager, vtkMRMLViewDisplayableManager, vtkMRMLSegmentationsDisplayableManager2D, vtkMRMLVolumeRenderingDisplayableManager, vtkMRMLAbstractThreeDViewDisplayableManager, vtkMRMLModelSliceDisplayableManager, vtkMRMLSegmentationsDisplayableManager3D, vtkMRMLTransformsDisplayableManager2D, vtkMRMLTransformsDisplayableManager3D, vtkMRMLCrosshairDisplayableManager, vtkMRMLScalarBarDisplayableManager, vtkMRMLCameraDisplayableManager, vtkMRMLVolumeGlyphSliceDisplayableManager, vtkMRMLAnnotationRulerDisplayableManager, vtkMRMLOrientationMarkerDisplayableManager, vtkMRMLRulerDisplayableManager, vtkMRMLThreeDReformatDisplayableManager, vtkMRMLAnnotationFiducialDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLAnnotationROIDisplayableManager, vtkMRMLCrosshairDisplayableManager3D, and vtkMRMLScriptedDisplayableManager.
|
inlinevirtual |
Assemble and return info string to display in Data probe for a given viewer XYZ position.
Definition at line 91 of file vtkMRMLAbstractDisplayableManager.h.
|
virtual |
Displayable manager can indicate that it would like to get all events (even when mouse pointer is outside the window).
Reimplemented in vtkMRMLMarkupsDisplayableManager.
vtkMRMLInteractionNode* vtkMRMLAbstractDisplayableManager::GetInteractionNode | ( | ) |
Convenient method to get the current InteractionNode.
|
virtual |
Displayable manager can indicate that the window is in interactive mode (faster updates).
Reimplemented in vtkMRMLMarkupsDisplayableManager.
vtkRenderWindowInteractor* vtkMRMLAbstractDisplayableManager::GetInteractor | ( | ) |
Convenient method to get the WindowInteractor associated with the Renderer.
|
protected |
|
protected |
|
virtual |
Get the LightBoxRendererManagerProxy if one has been provided
|
virtual |
Displayable manager returns ID of the mouse cursor shape that should be displayed.
Reimplemented in vtkMRMLMarkupsDisplayableManager, and vtkMRMLCrosshairDisplayableManager.
|
protected |
Get associated DisplayableManager group.
|
protected |
Get MRML Displayable Node.
vtkRenderer* vtkMRMLAbstractDisplayableManager::GetRenderer | ( | ) |
Get the default renderer for this displayable manager.
vtkRenderer* vtkMRMLAbstractDisplayableManager::GetRenderer | ( | int | idx | ) |
Get the renderer for the Nth lightbox pane. This method uses the LightBoxRendererManagerProxy if one has been configured for the DisplayableManager. If no LightBoxRendererManagerProxy has been set, this method returns the default renderer by deferring to GetRenderer(),
vtkMRMLSelectionNode* vtkMRMLAbstractDisplayableManager::GetSelectionNode | ( | ) |
Convenient method to get the current SelectionNode.
|
protected |
Get vtkWidget callbackCommand.
|
protected |
Get widget observerManager.
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Reimplemented from vtkMRMLAbstractLogic.
Reimplemented in vtkMRMLMarkupsDisplayableManager, vtkMRMLModelDisplayableManager, vtkMRMLAnnotationDisplayableManager, vtkMRMLLinearTransformsDisplayableManager3D, vtkMRMLAbstractSliceViewDisplayableManager, vtkMRMLViewDisplayableManager, vtkMRMLSegmentationsDisplayableManager2D, vtkMRMLVolumeRenderingDisplayableManager, vtkMRMLAbstractThreeDViewDisplayableManager, vtkMRMLModelSliceDisplayableManager, vtkMRMLSegmentationsDisplayableManager3D, vtkMRMLTransformsDisplayableManager2D, vtkMRMLTransformsDisplayableManager3D, vtkMRMLCrosshairDisplayableManager, vtkMRMLScalarBarDisplayableManager, vtkMRMLCameraDisplayableManager, vtkMRMLVolumeGlyphSliceDisplayableManager, vtkMRMLAnnotationRulerDisplayableManager, vtkMRMLOrientationMarkerDisplayableManager, vtkMRMLRulerDisplayableManager, vtkMRMLThreeDReformatDisplayableManager, vtkMRMLAnnotationFiducialDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLAnnotationROIDisplayableManager, vtkMRMLCrosshairDisplayableManager3D, and vtkMRMLScriptedDisplayableManager.
bool vtkMRMLAbstractDisplayableManager::IsCreated | ( | ) |
Return True if Create() method has been invoked
|
static |
|
static |
|
protectedvirtual |
Called after interactor event specified using AddInteractorObservableEvent are invoked
|
protectedvirtual |
Called after interactor style event specified using AddInteractorStyleObservableEvent are invoked.
Reimplemented in vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLModelDisplayableManager, vtkMRMLVolumeRenderingDisplayableManager, vtkMRMLAnnotationFiducialDisplayableManager, and vtkMRMLScriptedDisplayableManager.
|
protectedvirtual |
ProcessMRMLNodesEvents calls OnMRMLDisplayableNodeModifiedEvent when the displayable node (e.g. vtkMRMLSliceNode, vtkMRMLViewNode) is Modified. Could be overloaded in DisplayableManager subclass.
Reimplemented in vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLAbstractSliceViewDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLRulerDisplayableManager, vtkMRMLViewDisplayableManager, vtkMRMLAbstractThreeDViewDisplayableManager, vtkMRMLScriptedDisplayableManager, and vtkMRMLOrientationMarkerDisplayableManager.
|
override |
|
virtual |
Process an interaction event. Returns true if the event should be aborted (not processed any further by other event observers).
Reimplemented in vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLCameraDisplayableManager, vtkMRMLCrosshairDisplayableManager, and vtkMRMLScalarBarDisplayableManager.
|
overrideprotectedvirtual |
Receives all the events fired by the nodes. To listen to a node, you can add an observer using GetMRMLNodesCallbackCommand() or use the utility macros vtk[SetAndObserve|Observe]MRMLNode[Event]Macro ProcessMRMLNodesEvents calls OnMRMLNodeModified when event is vtkCommand::ModifiedEvent.
Reimplemented from vtkMRMLAbstractLogic.
Reimplemented in vtkMRMLModelDisplayableManager, vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLVolumeRenderingDisplayableManager, vtkMRMLCameraDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLSegmentationsDisplayableManager3D, vtkMRMLLinearTransformsDisplayableManager3D, vtkMRMLSegmentationsDisplayableManager2D, vtkMRMLModelSliceDisplayableManager, vtkMRMLViewDisplayableManager, vtkMRMLTransformsDisplayableManager2D, vtkMRMLTransformsDisplayableManager3D, vtkMRMLVolumeGlyphSliceDisplayableManager, and vtkMRMLScriptedDisplayableManager.
|
protectedvirtual |
Receives all the events fired by any graphical object interacted by the user (typically vtk widgets). A typical use case is to listen to mrml nodes (using GetMRMLNodesCallbackCommand()) and update the graphical objects like mappers, actors, widgets... in ProcessMRMLNodesEvent, and to listen to user interactions (using (using GetWidgetsCallbackCommand()) like widgets and update the mrml nodes in ProcessWidgetsEvents. To listen to a widget (or any vtk Object), you can add an observer using GetWidgetsCallbackCommand(). ProcessWidgetsEvents doesn't do anything by default, you need to reimplement it.
Reimplemented in vtkMRMLLinearTransformsDisplayableManager3D, vtkMRMLViewDisplayableManager, and vtkMRMLThreeDReformatDisplayableManager.
|
protected |
|
protected |
|
protectedvirtual |
Remove MRML observers.
Reimplemented in vtkMRMLModelDisplayableManager, vtkMRMLAnnotationDisplayableManager, vtkMRMLScriptedDisplayableManager, and vtkMRMLCameraDisplayableManager.
|
protected |
Invoke vtkCommand::UpdateEvent and then call vtkMRMLThreeDViewDisplayableManagerFactory::RequestRender() which will also invoke vtkCommand::UpdateEvent. An observer can then listen for that event and "compress" the different Render requests to efficiently call RenderWindow->Render()
|
static |
|
protected |
Set MRML DisplayableNode Called by vtkMRMLDisplayableManagerFactory
|
virtual |
Set if the widget gets/loses focus (interaction events are processed by this displayable manager).
Reimplemented in vtkMRMLMarkupsDisplayableManager, and vtkMRMLCrosshairDisplayableManager.
|
protected |
Set the Abort flag on the Interactor event callback.
|
protected |
Set the Abort flag on the InteractorStyle event callback.
|
virtual |
Set the LightBoxRendererManager proxy. This proxy provides a method GetRenderer(int) that returns the renderer for the Nth lightbox pane. The DisplayableManagers use this method to map coordinates to the proper lightbox pane, e.g. in placing crosshairs or annotations in the proper renderer.
void vtkMRMLAbstractDisplayableManager::SetMouseCursor | ( | int | cursor | ) |
|
protectedvirtual |
|
overrideprotectedvirtual |
Called by SetMRMLScene - Used to initialize the Scene Observe all the events of the scene and call OnMRMLSceneEndClose() or OnMRMLSceneEndImport() if the new scene is valid
Reimplemented from vtkMRMLAbstractLogic.
Reimplemented in vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLColorLegendDisplayableManager, and vtkMRMLScriptedDisplayableManager.
|
protectedvirtual |
|
protected |
Specify if UodateFromMRML() should be called
|
inlineprotectedvirtual |
Called from RequestRender method if UpdateFromMRMLRequested is true
Reimplemented in vtkMRMLModelDisplayableManager, vtkMRMLAnnotationDisplayableManager, vtkMRMLMarkupsDisplayableManager, vtkMRMLSegmentationsDisplayableManager3D, vtkMRMLLinearTransformsDisplayableManager3D, vtkMRMLSegmentationsDisplayableManager2D, vtkMRMLModelSliceDisplayableManager, vtkMRMLColorLegendDisplayableManager, vtkMRMLTransformsDisplayableManager2D, vtkMRMLTransformsDisplayableManager3D, vtkMRMLVolumeRenderingDisplayableManager, and vtkMRMLScriptedDisplayableManager.
Definition at line 216 of file vtkMRMLAbstractDisplayableManager.h.
|
staticprotected |
WidgetsCallback is a static function to relay modified events from the vtk widgets.
|
friend |
Definition at line 285 of file vtkMRMLAbstractDisplayableManager.h.
|
friend |
Access to SetRenderer, SetMRMLDisplayableNode and CreateIfPossible methods.
Definition at line 126 of file vtkMRMLAbstractDisplayableManager.h.