18 #ifndef itkVTKImageExportBase_h
19 #define itkVTKImageExportBase_h
22 #include "ITKVTKExport.h"
50 void * GetCallbackUserData();
53 typedef void ( * UpdateInformationCallbackType )(
void *);
54 typedef int ( * PipelineModifiedCallbackType )(
void *);
55 typedef int * ( * WholeExtentCallbackType )(
void *);
56 typedef double * ( * SpacingCallbackType )(
void *);
57 typedef double * ( * OriginCallbackType )(
void *);
58 typedef const char * ( *ScalarTypeCallbackType )(
void *);
59 typedef int ( * NumberOfComponentsCallbackType )(
void *);
60 typedef void ( * PropagateUpdateExtentCallbackType )(
void *,
int *);
61 typedef void ( * UpdateDataCallbackType )(
void *);
62 typedef int * ( * DataExtentCallbackType )(
void *);
63 typedef void * ( * BufferPointerCallbackType )(
void *);
67 typedef float * ( *FloatSpacingCallbackType )(
void *);
68 typedef float * ( *FloatOriginCallbackType )(
void *);
78 typedef double * ( *DoubleCallbackType )(
void *);
79 typedef float * ( * FloatCallbackType )(
void *);
80 operator DoubleCallbackType()
82 return m_DoubleCallback;
85 operator FloatCallbackType()
87 return m_FloatCallback;
90 m_DoubleCallback(d), m_FloatCallback(f) {}
98 UpdateInformationCallbackType GetUpdateInformationCallback()
const;
100 PipelineModifiedCallbackType GetPipelineModifiedCallback()
const;
102 WholeExtentCallbackType GetWholeExtentCallback()
const;
108 ScalarTypeCallbackType GetScalarTypeCallback()
const;
110 NumberOfComponentsCallbackType GetNumberOfComponentsCallback()
const;
112 PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback()
const;
114 UpdateDataCallbackType GetUpdateDataCallback()
const;
116 DataExtentCallbackType GetDataExtentCallback()
const;
118 BufferPointerCallbackType GetBufferPointerCallback()
const;
123 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
127 virtual void UpdateInformationCallback();
129 virtual int PipelineModifiedCallback();
131 virtual void UpdateDataCallback();
135 virtual int * WholeExtentCallback() = 0;
137 virtual double * SpacingCallback() = 0;
139 virtual double * OriginCallback() = 0;
141 virtual float * FloatSpacingCallback() = 0;
143 virtual float * FloatOriginCallback() = 0;
145 virtual const char * ScalarTypeCallback() = 0;
147 virtual int NumberOfComponentsCallback() = 0;
149 virtual void PropagateUpdateExtentCallback(
int *) = 0;
151 virtual int * DataExtentCallback() = 0;
153 virtual void * BufferPointerCallback() = 0;
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 *);
SmartPointer< Self > Pointer
DataObject::Pointer DataObjectPointer
SmartPointer< const Self > ConstPointer
unsigned long ModifiedTimeType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
FloatCallbackType m_FloatCallback
DoubleCallbackType m_DoubleCallback
~VTKImageExportBase() override
Provide compatibility between VTK 4.4 and earlier versions.
Superclass for VTKImageExport instantiations.
CallbackTypeProxy(DoubleCallbackType d, FloatCallbackType f)
ModifiedTimeType m_LastPipelineMTime
Control indentation during Print() invocation.