vtkImageExport.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00047 #ifndef __vtkImageExport_h
00048 #define __vtkImageExport_h
00049
00050 #include "vtkProcessObject.h"
00051
00052 class vtkImageData;
00053
00054 class VTK_IMAGING_EXPORT vtkImageExport : public vtkProcessObject
00055 {
00056 public:
00057 static vtkImageExport *New();
00058 vtkTypeRevisionMacro(vtkImageExport,vtkProcessObject);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00062 int GetDataMemorySize();
00063
00065
00067 void GetDataDimensions(int *ptr);
00068 int *GetDataDimensions() {
00069 this->GetDataDimensions(this->DataDimensions);
00070 return this->DataDimensions; }
00072
00076 int GetDataNumberOfScalarComponents();
00077
00079
00081 int GetDataScalarType();
00082 const char *GetDataScalarTypeAsString() {
00083 return vtkImageScalarTypeNameMacro(this->GetDataScalarType()); }
00085
00087
00088 int *GetDataExtent();
00089 void GetDataExtent(int *ptr);
00090 double *GetDataSpacing();
00091 void GetDataSpacing(double *ptr);
00092 double *GetDataOrigin();
00093 void GetDataOrigin(double *ptr);
00095
00097
00098 void SetInput(vtkImageData *input);
00099 vtkImageData *GetInput();
00101
00103
00108 vtkBooleanMacro(ImageLowerLeft, int);
00109 vtkGetMacro(ImageLowerLeft, int);
00110 vtkSetMacro(ImageLowerLeft, int);
00112
00114
00117 void SetExportVoidPointer(void *);
00118 void *GetExportVoidPointer() { return this->ExportVoidPointer; };
00120
00122
00125 void Export() { this->Export(this->ExportVoidPointer); };
00126 virtual void Export(void *);
00128
00133 void *GetPointerToData();
00134
00136 void* GetCallbackUserData();
00137
00138
00140
00142 typedef void (*UpdateInformationCallbackType)(void*);
00143 typedef int (*PipelineModifiedCallbackType)(void*);
00144 typedef int* (*WholeExtentCallbackType)(void*);
00145 typedef double* (*SpacingCallbackType)(void*);
00146 typedef double* (*OriginCallbackType)(void*);
00147 typedef const char* (*ScalarTypeCallbackType)(void*);
00148 typedef int (*NumberOfComponentsCallbackType)(void*);
00149 typedef void (*PropagateUpdateExtentCallbackType)(void*, int*);
00150 typedef void (*UpdateDataCallbackType)(void*);
00151 typedef int* (*DataExtentCallbackType)(void*);
00152 typedef void* (*BufferPointerCallbackType)(void*);
00154
00156
00157 UpdateInformationCallbackType GetUpdateInformationCallback() const;
00158 PipelineModifiedCallbackType GetPipelineModifiedCallback() const;
00159 WholeExtentCallbackType GetWholeExtentCallback() const;
00160 SpacingCallbackType GetSpacingCallback() const;
00161 OriginCallbackType GetOriginCallback() const;
00162 ScalarTypeCallbackType GetScalarTypeCallback() const;
00163 NumberOfComponentsCallbackType GetNumberOfComponentsCallback() const;
00164 PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback() const;
00165 UpdateDataCallbackType GetUpdateDataCallback() const;
00166 DataExtentCallbackType GetDataExtentCallback() const;
00167 BufferPointerCallbackType GetBufferPointerCallback() const;
00168
00170
00171 protected:
00172 vtkImageExport();
00173 ~vtkImageExport();
00174
00175 virtual void UpdateInformationCallback();
00176 virtual int PipelineModifiedCallback();
00177 virtual void UpdateDataCallback();
00178 virtual int* WholeExtentCallback();
00179 virtual double* SpacingCallback();
00180 virtual double* OriginCallback();
00181 virtual const char* ScalarTypeCallback();
00182 virtual int NumberOfComponentsCallback();
00183 virtual void PropagateUpdateExtentCallback(int*);
00184 virtual int* DataExtentCallback();
00185 virtual void* BufferPointerCallback();
00186
00187 int ImageLowerLeft;
00188 int DataDimensions[3];
00189 void *ExportVoidPointer;
00190
00191 unsigned long LastPipelineMTime;
00192
00193 private:
00194 vtkImageExport(const vtkImageExport&);
00195 void operator=(const vtkImageExport&);
00196
00197 static void UpdateInformationCallbackFunction(void*);
00198 static int PipelineModifiedCallbackFunction(void*);
00199 static int* WholeExtentCallbackFunction(void*);
00200 static double* SpacingCallbackFunction(void*);
00201 static double* OriginCallbackFunction(void*);
00202 static const char* ScalarTypeCallbackFunction(void*);
00203 static int NumberOfComponentsCallbackFunction(void*);
00204 static void PropagateUpdateExtentCallbackFunction(void*, int*);
00205 static void UpdateDataCallbackFunction(void*);
00206 static int* DataExtentCallbackFunction(void*);
00207 static void* BufferPointerCallbackFunction(void*);
00208 };
00209
00210 #endif
00211
00212