Class vtkMRMLLayerDMPipelineI

Inheritance Relationships

Base Type

  • public vtkObject

Derived Types

Class Documentation

class vtkMRMLLayerDMPipelineI : public vtkObject

Inheritance diagram for vtkMRMLLayerDMPipelineI:

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

Collaboration diagram for vtkMRMLLayerDMPipelineI:

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

Interface for the layered displayable manager pipelines.

Contains empty implementation and default behavior for the different API calls. Implementation can be limited to

Widget pipelines should also implement the

A python main class is available from

See also

UpdatePipeline and reactivity on node changes for pure display pipelines.

See also

ProcessInteractionEvent methods.

See also

vtkMRMLLayerDMScriptedPipeline.py

Subclassed by vtkMRMLDummyLayerDMPipeline, vtkMRMLLayerDMScriptedPipelineBridge

Unnamed Group

virtual void OnReferenceToDisplayNodeAdded(vtkMRMLNode *fromNode, const std::string &role)

Triggered when a reference to the display node is added / removed default behavior: Triggers onUpdate with the display node as argument and ReferenceAdded / Removed eventId.

virtual void OnReferenceToDisplayNodeRemoved(vtkMRMLNode *fromNode, const std::string &role)

Unnamed Group

void SetFrozen(bool isFrozen)

If

Parameters:

isFrozen – is true, blocks all reactiveness from the pipeline (ResetDisplay, Interaction and Update). Reactiveness cannot be toggled back on unless the pipeline is unfrozen first. Used to deactivate pipelines during removal.

bool IsFrozen() const

Unnamed Group

bool UpdateObserver(vtkObject *prevObj, vtkObject *obj, const std::vector<unsigned long> &events) const

Remove previous monitored events from

See also

OnUpdate

Warning

prevObj is not mutated by this call. To update the pointer, a manual set is required after update.

Parameters:
  • prevObj – and observe events from the

  • obj – If both obj are the same, does nothing. On event triggered, calls

bool UpdateObserver(vtkObject *prevObj, vtkObject *obj, unsigned long event = vtkCommand::ModifiedEvent) const

Public Functions

vtkTypeMacro(vtkMRMLLayerDMPipelineI, vtkObject)
virtual bool CanProcessInteractionEvent(vtkMRMLInteractionEventData *eventData, double &distance2)

true if the pipeline can process the input event data

Parameters:
  • eventData – The MRML event needing to be processed

  • distance2 – Return value for the distance to the interaction (preferably actual RAS distance)

Returns:

true if the pipeline can process the input event data. Default = false;

virtual vtkCamera *GetCustomCamera() const

Custom pipeline camera. If the returned value is not nullptr, then the pipeline (or dedicated logic) is expected to handle its own camera. Otherwise, the pipeline will be moved in a renderer with a default camera synchronized on its view default camera.

Returns:

nullptr by default.

virtual int GetMouseCursor() const

Custom mouse cursor from VTK mouse cursor enum. This value is only used if the pipeline actually processes an event and is ignore otherwise.

virtual unsigned int GetRenderOrder() const

Arbitrary render order number where the pipeline wants to be displayed. Return 0 to be at the default order (main 3D Slicer pipelines) Return larger values to be rendered on top of pipelines with lower render orders. Order number is read-only during update and is expected to be static per pipeline.

Returns:

default = 0

virtual int GetWidgetState() const

Current widget state of the pipeline.

Returns:

default = WidgetStateIdle

virtual void LoseFocus(vtkMRMLInteractionEventData *eventData)

Triggered when the pipeline had focus (processed an interaction) and loses the focus (other pipeline handled the new interaction or window leave event). default behavior: does nothing.

virtual void OnDefaultCameraModified(vtkCamera *camera)

Triggered when the default camera is modified. default behavior: does nothing.

virtual void OnRendererAdded(vtkRenderer *renderer)

Triggered when the pipeline is displayed on a new renderer. default behavior: does nothing.

virtual void OnRendererRemoved(vtkRenderer *renderer)

Triggered when the pipeline is removed from its previous renderer. default behavior: does nothing.

virtual bool ProcessInteractionEvent(vtkMRMLInteractionEventData *eventData)

Triggered when the pipeline can process the interaction and is at the top of the priority list. default behavior: does nothing and returns false.

Parameters:

eventData – The MRML event needing to be processed

Returns:

True if event was processed. False otherwise (default = false)

virtual void SetDisplayNode(vtkMRMLNode *displayNode)

Set the display node for the pipeline has changed (initialization). default behavior: Stored and display node is observed for vtkCommand::ModifiedEvent.

See also

UpdateObserver

See also

OnUpdate

virtual void SetPipelineManager(vtkMRMLLayerDMPipelineManager *pipelineManager)

Set the pipeline manager (initialization). default behavior: Stores the pipeline manager to delegate request render calls (no active observer).

Parameters:

pipelineManager – The instance of pipeline manager managing the current pipeline

virtual void SetScene(vtkMRMLScene *scene)

Set the pipeline scene (initialization). default behavior: Stores the scene for access (no active observer).

virtual void SetViewNode(vtkMRMLAbstractViewNode *viewNode)

Set the pipeline view node (initialization). default behavior: Stored and view node is observed for vtkCommand::ModifiedEvent.

Parameters:

viewNode – The instance of viewNode the pipeline is attached to

virtual void UpdatePipeline()

Triggered on

See also

ResetDisplay calls default behavior: does nothing.

bool BlockResetDisplay(bool isBlocked)

If.

See also

UpdatePipeline is not called during

See also

ResetDisplay.

Parameters:

isBlocked – is true,

bool BlockInteractionProcessing(bool isBlocked)

If

See also

ProcessInteractionEvent to be called.

Parameters:

isBlocked – is true, blocks

bool IsInteractionProcessingBlocked() const

Current state of interaction processing blocking.

bool BlockUpdateObserver(bool isBlocked) const

If.

See also

OnUpdate method from being triggered by external changes.

Parameters:

isBlocked – is true, blocks

vtkMRMLNode *GetDisplayNode() const

Returns the current display node.

vtkMRMLLayerDMPipelineI *GetNodePipeline(vtkMRMLNode *node) const

Returns the pipeline associated with the input node. Delegates to

See also

vtkMRMLLayerDMPipelineManager::GetNodePipeline. nullptr if not found or pipelineManager instance is nullptr.

vtkMRMLLayerDMPipelineManager *GetPipelineManager() const

Returns the instance of pipeline manager which created the pipeline.

vtkRenderer *GetRenderer() const

Returns the current renderer attached to the pipeline.

See also

OnRendererAdded

vtkMRMLScene *GetScene() const

Returns the current scene.

vtkMRMLAbstractViewNode *GetViewNode() const

Returns the current view node.

void RemoveObserver(vtkObject *prevObj) const

Remove all observed events for the input object. For updating the observer, use

See also

UpdateObserver instead.

Warning

prevObj is not mutated by this call.

void RequestRender() const

Request rendering and camera clipping reset. Calls are delegated to

See also

ResetDisplay

void ResetDisplay()

Resets the pipeline display and request a new render

See also

RequestRender. Delegates actual work to

See also

UpdatePipeline. Called the first time after pipeline initialization.

void SetRenderer(vtkRenderer *renderer)

Set the new renderer. Triggers

See also

OnRendererAdded and

See also

OnRendererRemoved if renderer has changed.

Public Static Functions

static vtkMRMLLayerDMPipelineI *New()

Protected Functions

vtkMRMLLayerDMPipelineI()
~vtkMRMLLayerDMPipelineI() override = default
virtual void OnUpdate(vtkObject *obj, unsigned long eventId, void *callData)

Observer update callback. Triggered when any object & events observed using UpdateObserver is triggered.