Class vtkMRMLLayerDMPipelineI
Defined in File vtkMRMLLayerDMPipelineI.h
Inheritance Relationships
Base Type
public vtkObject
Derived Types
public vtkMRMLDummyLayerDMPipeline(Class vtkMRMLDummyLayerDMPipeline)public vtkMRMLLayerDMScriptedPipelineBridge(Class vtkMRMLLayerDMScriptedPipelineBridge)
Class Documentation
-
class vtkMRMLLayerDMPipelineI : public vtkObject
Inheritance diagram for vtkMRMLLayerDMPipelineI:
Collaboration diagram for vtkMRMLLayerDMPipelineI:
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 fromSee also
UpdatePipeline and reactivity on node changes for pure display pipelines.
See also
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
See also
See also
See also
- 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
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.
See also
- 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.
See also
- 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
See also
-
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
- Parameters:
isBlocked – is true,
-
bool BlockInteractionProcessing(bool isBlocked)
If
See also
See also
ProcessInteractionEvent to be called.
See also
- 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
See also
-
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
-
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()
-
virtual void OnReferenceToDisplayNodeAdded(vtkMRMLNode *fromNode, const std::string &role)