00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00038
#ifndef __vtkImageExport_h
00039
#define __vtkImageExport_h
00040
00041
#include "vtkProcessObject.h"
00042
00043
class vtkImageData;
00044
00045 class VTK_IMAGING_EXPORT vtkImageExport :
public vtkProcessObject
00046 {
00047
public:
00048
static vtkImageExport *
New();
00049 vtkTypeRevisionMacro(vtkImageExport,
vtkProcessObject);
00050
void PrintSelf(ostream& os,
vtkIndent indent);
00051
00053
int GetDataMemorySize();
00054
00056
00058
void GetDataDimensions(
int *ptr);
00059 int *GetDataDimensions() {
00060 this->GetDataDimensions(this->DataDimensions);
00061
return this->DataDimensions; }
00063
00067
int GetDataNumberOfScalarComponents();
00068
00070
00072
int GetDataScalarType();
00073 const char *GetDataScalarTypeAsString() {
00074
return vtkImageScalarTypeNameMacro(this->GetDataScalarType()); }
00076
00078
00079
int *GetDataExtent();
00080
void GetDataExtent(
int *ptr);
00081
float *GetDataSpacing();
00082
void GetDataSpacing(
float *ptr);
00083
float *GetDataOrigin();
00084
void GetDataOrigin(
float *ptr);
00086
00088
00089
void SetInput(
vtkImageData *input);
00090
vtkImageData *GetInput();
00092
00094
00099 vtkBooleanMacro(ImageLowerLeft,
int);
00100 vtkGetMacro(ImageLowerLeft,
int);
00101 vtkSetMacro(ImageLowerLeft,
int);
00103
00105
00108
void SetExportVoidPointer(
void *);
00109 void *GetExportVoidPointer() {
return this->ExportVoidPointer; };
00111
00113
00116 void Export() { this->Export(this->ExportVoidPointer); };
00117
virtual void Export(
void *);
00119
00124
void *GetPointerToData();
00125
00127
void* GetCallbackUserData();
00128
00129
00131
00133 typedef void (*
UpdateInformationCallbackType)(
void*);
00134 typedef int (*
PipelineModifiedCallbackType)(
void*);
00135 typedef int* (*WholeExtentCallbackType)(
void*);
00136 typedef float* (*SpacingCallbackType)(
void*);
00137 typedef float* (*OriginCallbackType)(
void*);
00138 typedef const char* (*ScalarTypeCallbackType)(
void*);
00139 typedef int (*
NumberOfComponentsCallbackType)(
void*);
00140 typedef void (*
PropagateUpdateExtentCallbackType)(
void*,
int*);
00141 typedef void (*
UpdateDataCallbackType)(
void*);
00142 typedef int* (*DataExtentCallbackType)(
void*);
00143 typedef void* (*BufferPointerCallbackType)(
void*);
00145
00147
00148
UpdateInformationCallbackType GetUpdateInformationCallback() const;
00149
PipelineModifiedCallbackType GetPipelineModifiedCallback() const;
00150
WholeExtentCallbackType GetWholeExtentCallback() const;
00151
SpacingCallbackType GetSpacingCallback() const;
00152
OriginCallbackType GetOriginCallback() const;
00153
ScalarTypeCallbackType GetScalarTypeCallback() const;
00154
NumberOfComponentsCallbackType GetNumberOfComponentsCallback() const;
00155
PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback() const;
00156
UpdateDataCallbackType GetUpdateDataCallback() const;
00157
DataExtentCallbackType GetDataExtentCallback() const;
00158
BufferPointerCallbackType GetBufferPointerCallback() const;
00159
00161
00162 protected:
00163 vtkImageExport();
00164 ~vtkImageExport();
00165
00166 virtual
void UpdateInformationCallback();
00167 virtual
int PipelineModifiedCallback();
00168 virtual
void UpdateDataCallback();
00169 virtual
int* WholeExtentCallback();
00170 virtual
float* SpacingCallback();
00171 virtual
float* OriginCallback();
00172 virtual const
char* ScalarTypeCallback();
00173 virtual
int NumberOfComponentsCallback();
00174 virtual
void PropagateUpdateExtentCallback(
int*);
00175 virtual
int* DataExtentCallback();
00176 virtual
void* BufferPointerCallback();
00177
00178 int ImageLowerLeft;
00179 int DataDimensions[3];
00180 void *ExportVoidPointer;
00181
00182 unsigned long LastPipelineMTime;
00183
00184 private:
00185 vtkImageExport(const vtkImageExport&);
00186
void operator=(const vtkImageExport&);
00187
00188 static
void UpdateInformationCallbackFunction(
void*);
00189 static
int PipelineModifiedCallbackFunction(
void*);
00190 static
int* WholeExtentCallbackFunction(
void*);
00191 static
float* SpacingCallbackFunction(
void*);
00192 static
float* OriginCallbackFunction(
void*);
00193 static const
char* ScalarTypeCallbackFunction(
void*);
00194 static
int NumberOfComponentsCallbackFunction(
void*);
00195 static
void PropagateUpdateExtentCallbackFunction(
void*,
int*);
00196 static
void UpdateDataCallbackFunction(
void*);
00197 static
int* DataExtentCallbackFunction(
void*);
00198 static
void* BufferPointerCallbackFunction(
void*);
00199 };
00200
00201 #endif
00202
00203