Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkDataIOManagerLogic.h
Go to the documentation of this file.
1#ifndef __vtkDataIOManagerLogic_h
2#define __vtkDataIOManagerLogic_h
3
4#include "vtkObject.h"
5#include "vtkUnsignedLongArray.h"
6#include "vtkSmartPointer.h"
7#include "vtkIntArray.h"
8#include "vtkMRML.h"
9
12#include "vtkSlicerTask.h"
13
14#include "vtkDataTransfer.h"
15#include "vtkDataIOManager.h"
16#include "vtkMRMLNode.h"
17
18#ifndef vtkObjectPointer
19# define vtkObjectPointer(xx) (reinterpret_cast<vtkObject**>((xx)))
20#endif
21
22class VTK_SLICER_BASE_LOGIC_EXPORT vtkDataIOManagerLogic : public vtkSlicerModuleLogic
23{
24public:
28 void PrintSelf(ostream& os, vtkIndent indent) override;
29
30 vtkGetObjectMacro(DataIOManager, vtkDataIOManager);
32
35 virtual int QueueRead(vtkMRMLNode* node);
36
39 virtual int QueueWrite(vtkMRMLNode* node);
40
43 virtual void ApplyTransfer(void* clientdata);
44
47 static void ProgressCallback(void*);
48
52 virtual void AddNewDataTransfer(vtkDataTransfer* transfer, vtkMRMLNode* node);
53 virtual void CancelDataTransfer(vtkDataTransfer* transfer);
54 virtual void ClearCache();
56
57private:
58 vtkDataIOManager* DataIOManager;
59
60protected:
65
68 static void DataIOManagerCallback(vtkObject* caller, unsigned long eid, void* clientData, void* callData);
69 virtual void ProcessDataIOManagerEvents(vtkObject* caller, unsigned long event, void* calldata);
70};
71
72#endif
vtkObserverManager * DataIOObserverManager
virtual void ClearCache()
static void DataIOManagerCallback(vtkObject *caller, unsigned long eid, void *clientData, void *callData)
virtual void CancelDataTransfer(vtkDataTransfer *transfer)
virtual void AddNewDataTransfer(vtkDataTransfer *transfer, vtkMRMLNode *node)
vtkDataIOManagerLogic(const vtkDataIOManagerLogic &)
~vtkDataIOManagerLogic() override
virtual void ProcessDataIOManagerEvents(vtkObject *caller, unsigned long event, void *calldata)
virtual void DeleteDataTransferFromCache(vtkDataTransfer *transfer)
virtual void ApplyTransfer(void *clientdata)
The method that executes the data transfer in another thread.
virtual int QueueWrite(vtkMRMLNode *node)
Method that queues the write.
virtual int QueueRead(vtkMRMLNode *node)
Methods that Queues the read.
static void ProgressCallback(void *)
static vtkDataIOManagerLogic * New()
The Usual vtk class functions.
void operator=(const vtkDataIOManagerLogic &)
virtual void SetAndObserveDataIOManager(vtkDataIOManager *)
vtkObserverManager * GetDataIOObserverManager()
void PrintSelf(ostream &os, vtkIndent indent) override
Abstract Superclass for all specific types of MRML nodes.
Manages adding and deleting of observers with events.