Class vtkMRMLLayerDisplayableManager

Inheritance Relationships

Base Type

  • public vtkMRMLAbstractDisplayableManager

Class Documentation

class vtkMRMLLayerDisplayableManager : public vtkMRMLAbstractDisplayableManager

Inheritance diagram for vtkMRMLLayerDisplayableManager:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="vtkMRMLAbstractDisplayableManager" tooltip="vtkMRMLAbstractDisplayableManager"] "1" [label="vtkMRMLLayerDisplayableManager" tooltip="vtkMRMLLayerDisplayableManager" fillcolor="#BFBFBF"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for vtkMRMLLayerDisplayableManager:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="vtkMRMLAbstractDisplayableManager" tooltip="vtkMRMLAbstractDisplayableManager"] "1" [label="vtkMRMLLayerDisplayableManager" tooltip="vtkMRMLLayerDisplayableManager" fillcolor="#BFBFBF"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Displayable manager responsible for handling multiple displayable pipelines in sub-layers.

This displayable manager is a generic displayable manager with an internal

Interactions are delegated to the pipeline manager which then dispatches to the different pipelines in their different renderer layers.

See also

vtkMRMLLayerDMPipelineManager implementation expecting a one-to-one relationship between a pair of view node, node and display pipeline.

Unnamed Group

static vtkSmartPointer<vtkImageData> RenderWindowBufferToImage(vtkRenderWindow *window)

Utility function to get the content of the render window image as buffer Doesn’t render / make any changes to the render window nor its renderers / cameras.

Use instead of vtkWindowToImageFilter to take screenshots of render windows where the LayerDM is set to avoid unwanted behavior (i.e., unwanted OnDefaultCameraModified calls).

static void RenderWindowBufferToImage(vtkRenderWindow *window, const vtkSmartPointer<vtkImageData> &imageData)

Public Functions

vtkTypeMacro(vtkMRMLLayerDisplayableManager, vtkMRMLAbstractDisplayableManager)
bool CanProcessInteractionEvent(vtkMRMLInteractionEventData *eventData, double &distance2) override
bool ProcessInteractionEvent(vtkMRMLInteractionEventData *eventData) override
vtkSmartPointer<vtkMRMLLayerDMPipelineI> GetNodePipeline(vtkMRMLNode *node) const

Returns the pipeline associated with the input display node if any.

Usage of this method should be reserved for testing and debugging. Pipelines are completely managed by the displayable manager and any dependencies can be injected when creating the pipeline through the pipeline creator mechanism. Runtime access logic shouldn’t be necessary outside the LayerDM layer.

Public Static Functions

static vtkMRMLLayerDisplayableManager *New()
static void RegisterInDefaultViews()

Register the DM in the 2D and 3D view factories.

static void RegisterInFactory(vtkMRMLDisplayableManagerFactory *factory)

Register the Displayable Manager in the given input factory if it’s not already registered.

static bool IsRegisteredInFactory(vtkMRMLDisplayableManagerFactory *factory)

true if the input factory is defined and displayable manager is present in the input factory

Protected Functions

vtkMRMLLayerDisplayableManager()
~vtkMRMLLayerDisplayableManager() override = default
vtkMRMLLayerDisplayableManager(const vtkMRMLLayerDisplayableManager&) = delete
void operator=(const vtkMRMLLayerDisplayableManager&) = delete
void Create() override
void SetRenderer(vtkRenderer *newRenderer) override
void OnMRMLDisplayableNodeModifiedEvent(vtkObject *caller) override
void OnMRMLSceneStartBatchProcess() override
void OnMRMLSceneEndBatchProcess() override
void OnMRMLSceneNodeAdded(vtkMRMLNode *node) override
void OnMRMLSceneNodeRemoved(vtkMRMLNode *node) override
void UnobserveMRMLScene() override
void UpdateFromMRML() override
int GetMouseCursor() override
void SetHasFocus(bool hasFocus, vtkMRMLInteractionEventData *eventData) override