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) {}
97 UpdateInformationCallbackType GetUpdateInformationCallback()
const;
99 PipelineModifiedCallbackType GetPipelineModifiedCallback()
const;
101 WholeExtentCallbackType GetWholeExtentCallback()
const;
107 ScalarTypeCallbackType GetScalarTypeCallback()
const;
109 NumberOfComponentsCallbackType GetNumberOfComponentsCallback()
const;
111 PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback()
const;
113 UpdateDataCallbackType GetUpdateDataCallback()
const;
115 DataExtentCallbackType GetDataExtentCallback()
const;
117 BufferPointerCallbackType GetBufferPointerCallback()
const;
122 void PrintSelf(std::ostream & os,
Indent indent)
const;
126 virtual void UpdateInformationCallback();
128 virtual int PipelineModifiedCallback();
130 virtual void UpdateDataCallback();
134 virtual int * WholeExtentCallback() = 0;
136 virtual double * SpacingCallback() = 0;
138 virtual double * OriginCallback() = 0;
140 virtual float * FloatSpacingCallback() = 0;
142 virtual float * FloatOriginCallback() = 0;
144 virtual const char * ScalarTypeCallback() = 0;
146 virtual int NumberOfComponentsCallback() = 0;
148 virtual void PropagateUpdateExtentCallback(
int *) = 0;
150 virtual int * DataExtentCallback() = 0;
152 virtual void * BufferPointerCallback() = 0;
156 void operator=(
const Self &);
161 static void UpdateInformationCallbackFunction(
void *);
163 static int PipelineModifiedCallbackFunction(
void *);
165 static int * WholeExtentCallbackFunction(
void *);
167 static double * SpacingCallbackFunction(
void *);
169 static double * OriginCallbackFunction(
void *);
171 static float * FloatSpacingCallbackFunction(
void *);
173 static float * FloatOriginCallbackFunction(
void *);
175 static const char * ScalarTypeCallbackFunction(
void *);
177 static int NumberOfComponentsCallbackFunction(
void *);
179 static void PropagateUpdateExtentCallbackFunction(
void *,
int *);
181 static void UpdateDataCallbackFunction(
void *);
183 static int * DataExtentCallbackFunction(
void *);
185 static void * BufferPointerCallbackFunction(
void *);