18 #ifndef __itkVTKImageExportBase_h
19 #define __itkVTKImageExportBase_h
49 void * GetCallbackUserData();
52 typedef void ( * UpdateInformationCallbackType )(
void *);
53 typedef int ( * PipelineModifiedCallbackType )(
void *);
54 typedef int * ( * WholeExtentCallbackType )(
void *);
55 typedef double * ( * SpacingCallbackType )(
void *);
56 typedef double * ( * OriginCallbackType )(
void *);
57 typedef const char * ( *ScalarTypeCallbackType )(
void *);
58 typedef int ( * NumberOfComponentsCallbackType )(
void *);
59 typedef void ( * PropagateUpdateExtentCallbackType )(
void *,
int *);
60 typedef void ( * UpdateDataCallbackType )(
void *);
61 typedef int * ( * DataExtentCallbackType )(
void *);
62 typedef void * ( * BufferPointerCallbackType )(
void *);
66 typedef float * ( *FloatSpacingCallbackType )(
void *);
67 typedef float * ( *FloatOriginCallbackType )(
void *);
77 typedef double * ( *DoubleCallbackType )(
void *);
78 typedef float * ( * FloatCallbackType )(
void *);
79 operator DoubleCallbackType()
81 return m_DoubleCallback;
84 operator FloatCallbackType()
86 return m_FloatCallback;
89 m_DoubleCallback(d), m_FloatCallback(f) {}
96 UpdateInformationCallbackType GetUpdateInformationCallback()
const;
98 PipelineModifiedCallbackType GetPipelineModifiedCallback()
const;
100 WholeExtentCallbackType GetWholeExtentCallback()
const;
106 ScalarTypeCallbackType GetScalarTypeCallback()
const;
108 NumberOfComponentsCallbackType GetNumberOfComponentsCallback()
const;
110 PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback()
const;
112 UpdateDataCallbackType GetUpdateDataCallback()
const;
114 DataExtentCallbackType GetDataExtentCallback()
const;
116 BufferPointerCallbackType GetBufferPointerCallback()
const;
121 void PrintSelf(std::ostream & os,
Indent indent)
const;
125 virtual void UpdateInformationCallback();
127 virtual int PipelineModifiedCallback();
129 virtual void UpdateDataCallback();
133 virtual int * WholeExtentCallback() = 0;
135 virtual double * SpacingCallback() = 0;
137 virtual double * OriginCallback() = 0;
139 virtual float * FloatSpacingCallback() = 0;
141 virtual float * FloatOriginCallback() = 0;
143 virtual const char * ScalarTypeCallback() = 0;
145 virtual int NumberOfComponentsCallback() = 0;
147 virtual void PropagateUpdateExtentCallback(
int *) = 0;
149 virtual int * DataExtentCallback() = 0;
151 virtual void * BufferPointerCallback() = 0;
155 void operator=(
const Self &);
160 static void UpdateInformationCallbackFunction(
void *);
162 static int PipelineModifiedCallbackFunction(
void *);
164 static int * WholeExtentCallbackFunction(
void *);
166 static double * SpacingCallbackFunction(
void *);
168 static double * OriginCallbackFunction(
void *);
170 static float * FloatSpacingCallbackFunction(
void *);
172 static float * FloatOriginCallbackFunction(
void *);
174 static const char * ScalarTypeCallbackFunction(
void *);
176 static int NumberOfComponentsCallbackFunction(
void *);
178 static void PropagateUpdateExtentCallbackFunction(
void *,
int *);
180 static void UpdateDataCallbackFunction(
void *);
182 static int * DataExtentCallbackFunction(
void *);
184 static void * BufferPointerCallbackFunction(
void *);