Slicer 5.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkDataIOManager.h
Go to the documentation of this file.
1#ifndef __vtkDataIOManager_h
2#define __vtkDataIOManager_h
3
4// MRML includes
5#include "vtkMRML.h"
9class vtkMRMLNode;
10
11// VTK includes
12#include <vtkObject.h>
13class vtkCallbackCommand;
14class vtkCollection;
15
16#ifndef vtkObjectPointer
17#define vtkObjectPointer(xx) (reinterpret_cast <vtkObject **>( (xx) ))
18#endif
19
20class VTK_MRML_EXPORT vtkDataIOManager : public vtkObject
21{
22 public:
23
26 vtkTypeMacro(vtkDataIOManager,vtkObject);
27 void PrintSelf(ostream& os, vtkIndent indent) override;
28 vtkGetObjectMacro ( DataTransferCollection, vtkCollection );
29 void SetDataTransferCollection(vtkCollection* dataTransfer );
30 vtkGetObjectMacro ( CacheManager, vtkCacheManager );
31 virtual void SetCacheManager(vtkCacheManager* cacheManager);
32 vtkGetMacro ( EnableAsynchronousIO, int );
33 vtkGetMacro ( InUpdateCallbackFlag, int );
34 vtkSetMacro ( InUpdateCallbackFlag, int );
35
40
42
49
52 void AddDataTransfer ( vtkDataTransfer *transfer );
56 void RemoveDataTransfer ( int transferID );
60 vtkDataTransfer *GetDataTransfer ( int transferID );
68
72 void QueueRead ( vtkMRMLNode *node );
73
77 void QueueWrite ( vtkMRMLNode *node );
78
83 void SetTransferStatus(vtkDataTransfer *transfer, int status);
85
86 const char* GetTransferStatusString( vtkDataTransfer *transfer );
87
88 virtual void ProcessTransferUpdates ( vtkObject *caller, unsigned long event, void *callData );
89
90 enum
91 {
92 RemoteReadEvent = 19001,
100 RefreshDisplayEvent
101 };
102
104 static void TransferUpdateCallback ( vtkObject *__caller,
105 unsigned long eid, void *__clientData, void *callData );
106
108 vtkCallbackCommand *TransferUpdateCommand;
110
111 private:
112 vtkCollection *DataTransferCollection;
113 vtkCacheManager *CacheManager;
114 int EnableAsynchronousIO;
115
116 vtkDataFileFormatHelper* FileFormatHelper;
117
118 protected:
123
124};
125
126#endif
virtual void SetCacheManager(vtkCacheManager *cacheManager)
vtkCallbackCommand * TransferUpdateCommand
Holder for update callback.
void ClearDataTransfers()
int GetUniqueTransferID()
Gets a unique id to assign to a new data transfer.
vtkDataTransfer * AddNewDataTransfer(vtkMRMLNode *node)
~vtkDataIOManager() override
void AddDataTransfer(vtkDataTransfer *transfer)
Adds a new data transfer object to the collection.
vtkDataTransfer * AddNewDataTransfer()
Creates and adds a new data transfer object to the collection.
static void TransferUpdateCallback(vtkObject *__caller, unsigned long eid, void *__clientData, void *callData)
function that gets called when a data transfer has been updated.
int GetTransferStatus(vtkDataTransfer *transfer)
virtual void SetFileFormatHelper(vtkDataFileFormatHelper *helper)
void operator=(const vtkDataIOManager &)
void QueueRead(vtkMRMLNode *node)
vtkDataTransfer * GetDataTransfer(int transferID)
Returns an individual data transfer by id.
int GetNumberOfDataTransfers()
virtual void ProcessTransferUpdates(vtkObject *caller, unsigned long event, void *callData)
static vtkDataIOManager * New()
The Usual vtk class functions.
void SetTransferStatus(vtkDataTransfer *transfer, int status)
vtkDataIOManager(const vtkDataIOManager &)
void PrintSelf(ostream &os, vtkIndent indent) override
const char * GetTransferStatusString(vtkDataTransfer *transfer)
void RemoveDataTransfer(int transferID)
void AddNewDataTransfer(vtkDataTransfer *transfer, vtkMRMLNode *node)
void AllTransfersClearedFromCache()
void QueueWrite(vtkMRMLNode *node)
vtkDataFileFormatHelper * GetFileFormatHelper()
Get/Set the DataFileFormatHelper object.
void SetEnableAsynchronousIO(int)
void RemoveDataTransfer(vtkDataTransfer *transfer)
Removes a data transfer object from the collection.
void SetDataTransferCollection(vtkCollection *dataTransfer)
Abstract Superclass for all specific types of MRML nodes.