24#ifndef __vtkSlicerSequencesLogic_h
25#define __vtkSlicerSequencesLogic_h
35#include "vtkSlicerSequencesModuleLogicExport.h"
49 void PrintSelf(ostream& os, vtkIndent indent)
override;
71 static bool warningLogged =
false;
74 vtkWarningMacro(
"vtkSlicerSequenceBrowserLogic::UpdateVirtualOutputNodes is deprecated,"
75 <<
" use vtkSlicerSequenceBrowserLogic::UpdateProxyNodes method instead");
126 std::set<vtkMRMLSequenceBrowserNode*> UpdateProxyNodesFromSequencesInProgress;
127 std::set<vtkMRMLSequenceBrowserNode*> UpdateSequencesFromProxyNodesInProgress;
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.
MRML node for representing a sequence of MRML nodes.
void UpdateAllProxyNodes()
Refreshes the output of all the active browser nodes. Called regularly by a timer.
void RegisterNodes() override
Register MRML Node classes to Scene. Gets called automatically when the MRMLScene is attached to this...
void GetBrowserNodesForProxyNode(vtkMRMLNode *proxyNode, vtkCollection *foundBrowserNodes)
Get collection of browser nodes that use a specific proxy node.
void PrintSelf(ostream &os, vtkIndent indent) override
static bool IsNodeCompatibleForBrowsing(vtkMRMLSequenceNode *masterNode, vtkMRMLSequenceNode *testedNode)
void GetBrowserNodesForSequenceNode(vtkMRMLSequenceNode *sequenceNode, vtkCollection *foundBrowserNodes)
Get collection of browser nodes that use a specific sequence node.
void UpdateProxyNodesFromSequences(vtkMRMLSequenceBrowserNode *browserNode)
Updates the contents of all the proxy nodes (all the nodes copied from the master and synchronized se...
void UpdateVirtualOutputNodes(vtkMRMLSequenceBrowserNode *browserNode)
Deprecated method!
vtkMRMLSequenceBrowserNode * GetFirstBrowserNodeForProxyNode(vtkMRMLNode *proxyNode)
void GetCompatibleNodesFromScene(vtkCollection *compatibleNodes, vtkMRMLSequenceNode *sequenceNode)
vtkSlicerSequencesLogic()
std::map< vtkMRMLSequenceBrowserNode *, double > LastSequenceBrowserUpdateTimeSec
void SetMRMLSceneInternal(vtkMRMLScene *newScene) override
vtkMRMLSequenceBrowserNode * GetFirstBrowserNodeForSequenceNode(vtkMRMLSequenceNode *sequenceNode)
void UpdateFromMRMLScene() override
static vtkSlicerSequencesLogic * New()
void ProcessMRMLNodesEvents(vtkObject *caller, unsigned long event, void *callData) override
void UpdateSequencesFromProxyNodes(vtkMRMLSequenceBrowserNode *browserNode, vtkMRMLNode *proxyNode)
Updates the sequence from a changed proxy node (if saving of state changes is allowed)
~vtkSlicerSequencesLogic() override
void OnMRMLSceneNodeRemoved(vtkMRMLNode *node) override
vtkMRMLSequenceNode * AddSequence(const char *filename, vtkMRMLMessageCollection *userMessages=nullptr)
vtkMRMLSequenceNode * AddSynchronizedNode(vtkMRMLNode *sequenceNode, vtkMRMLNode *proxyNode, vtkMRMLNode *browserNode)
bool IsDataConnectorNode(vtkMRMLNode *)
void OnMRMLSceneNodeAdded(vtkMRMLNode *node) override