Slicer 5.9
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{
22public:
25 vtkTypeMacro(vtkDataIOManager, vtkObject);
26 void PrintSelf(ostream& os, vtkIndent indent) override;
27 vtkGetObjectMacro(DataTransferCollection, vtkCollection);
28 void SetDataTransferCollection(vtkCollection* dataTransfer);
29 vtkGetObjectMacro(CacheManager, vtkCacheManager);
30 virtual void SetCacheManager(vtkCacheManager* cacheManager);
31 vtkGetMacro(EnableAsynchronousIO, int);
32 vtkGetMacro(InUpdateCallbackFlag, int);
33 vtkSetMacro(InUpdateCallbackFlag, int);
34
39
41
48
55 void RemoveDataTransfer(int transferID);
67
72
77
82 void SetTransferStatus(vtkDataTransfer* transfer, int status);
84
86
87 virtual void ProcessTransferUpdates(vtkObject* caller, unsigned long event, void* callData);
88
89 enum
90 {
100 };
101
103 static void TransferUpdateCallback(vtkObject* __caller, unsigned long eid, void* __clientData, void* callData);
104
106 vtkCallbackCommand* TransferUpdateCommand;
108
109private:
110 vtkCollection* DataTransferCollection;
111 vtkCacheManager* CacheManager;
112 int EnableAsynchronousIO;
113
114 vtkDataFileFormatHelper* FileFormatHelper;
115
116protected:
121};
122
123#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.