Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Imaging/vtkImageExport.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00051 #ifndef __vtkImageExport_h
00052 #define __vtkImageExport_h
00053
00054 #include "vtkProcessObject.h"
00055
00056 class vtkImageData;
00057
00058 class VTK_IMAGING_EXPORT vtkImageExport : public vtkProcessObject
00059 {
00060 public:
00061 static vtkImageExport *New();
00062 vtkTypeRevisionMacro(vtkImageExport,vtkProcessObject);
00063 void PrintSelf(ostream& os, vtkIndent indent);
00064
00066 int GetDataMemorySize();
00067
00069
00071 void GetDataDimensions(int *ptr);
00072 int *GetDataDimensions() {
00073 this->GetDataDimensions(this->DataDimensions);
00074 return this->DataDimensions; }
00076
00080 int GetDataNumberOfScalarComponents();
00081
00083
00085 int GetDataScalarType();
00086 const char *GetDataScalarTypeAsString() {
00087 return vtkImageScalarTypeNameMacro(this->GetDataScalarType()); }
00089
00091
00092 int *GetDataExtent();
00093 void GetDataExtent(int *ptr);
00094 float *GetDataSpacing();
00095 void GetDataSpacing(float *ptr);
00096 float *GetDataOrigin();
00097 void GetDataOrigin(float *ptr);
00099
00101
00102 void SetInput(vtkImageData *input);
00103 vtkImageData *GetInput();
00105
00107
00112 vtkBooleanMacro(ImageLowerLeft, int);
00113 vtkGetMacro(ImageLowerLeft, int);
00114 vtkSetMacro(ImageLowerLeft, int);
00116
00118
00121 void SetExportVoidPointer(void *);
00122 void *GetExportVoidPointer() { return this->ExportVoidPointer; };
00124
00126
00129 void Export() { this->Export(this->ExportVoidPointer); };
00130 virtual void Export(void *);
00132
00137 void *GetPointerToData();
00138
00140 void* GetCallbackUserData();
00141
00142
00144
00145 callbacks. See furhter documentation in vtkImageImport.h. */
00146 typedef void (*UpdateInformationCallbackType)(void*);
00147 typedef int (*PipelineModifiedCallbackType)(void*);
00148 typedef int* (*WholeExtentCallbackType)(void*);
00149 typedef float* (*SpacingCallbackType)(void*);
00150 typedef float* (*OriginCallbackType)(void*);
00151 typedef const char* (*ScalarTypeCallbackType)(void*);
00152 typedef int (*NumberOfComponentsCallbackType)(void*);
00153 typedef void (*PropagateUpdateExtentCallbackType)(void*, int*);
00154 typedef void (*UpdateDataCallbackType)(void*);
00155 typedef int* (*DataExtentCallbackType)(void*);
00156 typedef void* (*BufferPointerCallbackType)(void*);
00158
00160
00161 UpdateInformationCallbackType GetUpdateInformationCallback() const;
00162 PipelineModifiedCallbackType GetPipelineModifiedCallback() const;
00163 WholeExtentCallbackType GetWholeExtentCallback() const;
00164 SpacingCallbackType GetSpacingCallback() const;
00165 OriginCallbackType GetOriginCallback() const;
00166 ScalarTypeCallbackType GetScalarTypeCallback() const;
00167 NumberOfComponentsCallbackType GetNumberOfComponentsCallback() const;
00168 PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback() const;
00169 UpdateDataCallbackType GetUpdateDataCallback() const;
00170 DataExtentCallbackType GetDataExtentCallback() const;
00171 BufferPointerCallbackType GetBufferPointerCallback() const;
00172
00174
00175 protected:
00176 vtkImageExport();
00177 ~vtkImageExport();
00178
00179 virtual void UpdateInformationCallback();
00180 virtual int PipelineModifiedCallback();
00181 virtual void UpdateDataCallback();
00182 virtual int* WholeExtentCallback();
00183 virtual float* SpacingCallback();
00184 virtual float* OriginCallback();
00185 virtual const char* ScalarTypeCallback();
00186 virtual int NumberOfComponentsCallback();
00187 virtual void PropagateUpdateExtentCallback(int*);
00188 virtual int* DataExtentCallback();
00189 virtual void* BufferPointerCallback();
00190
00191 int ImageLowerLeft;
00192 int DataDimensions[3];
00193 void *ExportVoidPointer;
00194
00195 unsigned long LastPipelineMTime;
00196
00197 private:
00198 vtkImageExport(const vtkImageExport&);
00199 void operator=(const vtkImageExport&);
00200
00201 static void UpdateInformationCallbackFunction(void*);
00202 static int PipelineModifiedCallbackFunction(void*);
00203 static int* WholeExtentCallbackFunction(void*);
00204 static float* SpacingCallbackFunction(void*);
00205 static float* OriginCallbackFunction(void*);
00206 static const char* ScalarTypeCallbackFunction(void*);
00207 static int NumberOfComponentsCallbackFunction(void*);
00208 static void PropagateUpdateExtentCallbackFunction(void*, int*);
00209 static void UpdateDataCallbackFunction(void*);
00210 static int* DataExtentCallbackFunction(void*);
00211 static void* BufferPointerCallbackFunction(void*);
00212 };
00213
00214 #endif
00215
00216