00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00034
#ifndef __vtkImageExport_h
00035
#define __vtkImageExport_h
00036
00037
#include "vtkProcessObject.h"
00038
00039
class vtkImageData;
00040
00041 class VTK_IMAGING_EXPORT vtkImageExport :
public vtkProcessObject
00042 {
00043
public:
00044
static vtkImageExport *
New();
00045 vtkTypeRevisionMacro(vtkImageExport,
vtkProcessObject);
00046
void PrintSelf(ostream& os,
vtkIndent indent);
00047
00049
int GetDataMemorySize();
00050
00052
00054
void GetDataDimensions(
int *ptr);
00055 int *GetDataDimensions() {
00056 this->GetDataDimensions(this->DataDimensions);
00057
return this->DataDimensions; }
00059
00063
int GetDataNumberOfScalarComponents();
00064
00066
00068
int GetDataScalarType();
00069 const char *GetDataScalarTypeAsString() {
00070
return vtkImageScalarTypeNameMacro(this->GetDataScalarType()); }
00072
00074
00075
int *GetDataExtent();
00076
void GetDataExtent(
int *ptr);
00077
double *GetDataSpacing();
00078
void GetDataSpacing(
double *ptr);
00079
double *GetDataOrigin();
00080
void GetDataOrigin(
double *ptr);
00082
00084
00085
void SetInput(
vtkImageData *input);
00086
vtkImageData *GetInput();
00088
00090
00095 vtkBooleanMacro(ImageLowerLeft,
int);
00096 vtkGetMacro(ImageLowerLeft,
int);
00097 vtkSetMacro(ImageLowerLeft,
int);
00099
00101
00104
void SetExportVoidPointer(
void *);
00105 void *GetExportVoidPointer() {
return this->ExportVoidPointer; };
00107
00109
00112 void Export() { this->Export(this->ExportVoidPointer); };
00113
virtual void Export(
void *);
00115
00120
void *GetPointerToData();
00121
00123
void* GetCallbackUserData();
00124
00125
00127
00129 typedef void (*
UpdateInformationCallbackType)(
void*);
00130 typedef int (*
PipelineModifiedCallbackType)(
void*);
00131 typedef int* (*WholeExtentCallbackType)(
void*);
00132 typedef double* (*SpacingCallbackType)(
void*);
00133 typedef double* (*OriginCallbackType)(
void*);
00134 typedef const char* (*ScalarTypeCallbackType)(
void*);
00135 typedef int (*
NumberOfComponentsCallbackType)(
void*);
00136 typedef void (*
PropagateUpdateExtentCallbackType)(
void*,
int*);
00137 typedef void (*
UpdateDataCallbackType)(
void*);
00138 typedef int* (*DataExtentCallbackType)(
void*);
00139 typedef void* (*BufferPointerCallbackType)(
void*);
00141
00143
00144
UpdateInformationCallbackType GetUpdateInformationCallback() const;
00145
PipelineModifiedCallbackType GetPipelineModifiedCallback() const;
00146
WholeExtentCallbackType GetWholeExtentCallback() const;
00147
SpacingCallbackType GetSpacingCallback() const;
00148
OriginCallbackType GetOriginCallback() const;
00149
ScalarTypeCallbackType GetScalarTypeCallback() const;
00150
NumberOfComponentsCallbackType GetNumberOfComponentsCallback() const;
00151
PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback() const;
00152
UpdateDataCallbackType GetUpdateDataCallback() const;
00153
DataExtentCallbackType GetDataExtentCallback() const;
00154
BufferPointerCallbackType GetBufferPointerCallback() const;
00155
00157
00158 protected:
00159 vtkImageExport();
00160 ~vtkImageExport();
00161
00162 virtual
void UpdateInformationCallback();
00163 virtual
int PipelineModifiedCallback();
00164 virtual
void UpdateDataCallback();
00165 virtual
int* WholeExtentCallback();
00166 virtual
double* SpacingCallback();
00167 virtual
double* OriginCallback();
00168 virtual const
char* ScalarTypeCallback();
00169 virtual
int NumberOfComponentsCallback();
00170 virtual
void PropagateUpdateExtentCallback(
int*);
00171 virtual
int* DataExtentCallback();
00172 virtual
void* BufferPointerCallback();
00173
00174 int ImageLowerLeft;
00175 int DataDimensions[3];
00176 void *ExportVoidPointer;
00177
00178 unsigned long LastPipelineMTime;
00179
00180 private:
00181 vtkImageExport(const vtkImageExport&);
00182
void operator=(const vtkImageExport&);
00183
00184 static
void UpdateInformationCallbackFunction(
void*);
00185 static
int PipelineModifiedCallbackFunction(
void*);
00186 static
int* WholeExtentCallbackFunction(
void*);
00187 static
double* SpacingCallbackFunction(
void*);
00188 static
double* OriginCallbackFunction(
void*);
00189 static const
char* ScalarTypeCallbackFunction(
void*);
00190 static
int NumberOfComponentsCallbackFunction(
void*);
00191 static
void PropagateUpdateExtentCallbackFunction(
void*,
int*);
00192 static
void UpdateDataCallbackFunction(
void*);
00193 static
int* DataExtentCallbackFunction(
void*);
00194 static
void* BufferPointerCallbackFunction(
void*);
00195 };
00196
00197 #endif
00198
00199