ITK  6.0.0
Insight Toolkit
itkVTKImageExportBase.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkVTKImageExportBase_h
19#define itkVTKImageExportBase_h
20
21#include "itkProcessObject.h"
22#include "ITKVTKExport.h"
23
24namespace itk
25{
38class ITKVTK_EXPORT VTKImageExportBase : public ProcessObject
39{
40public:
41 ITK_DISALLOW_COPY_AND_MOVE(VTKImageExportBase);
42
48
50 itkOverrideGetNameOfClassMacro(VTKImageExportBase);
51
53 void *
55
57 using UpdateInformationCallbackType = void (*)(void *);
58 using PipelineModifiedCallbackType = int (*)(void *);
59 using WholeExtentCallbackType = int * (*)(void *);
60 using SpacingCallbackType = double * (*)(void *);
61 using OriginCallbackType = double * (*)(void *);
62 using DirectionCallbackType = double * (*)(void *);
63 using ScalarTypeCallbackType = const char * (*)(void *);
64 using NumberOfComponentsCallbackType = int (*)(void *);
65 using PropagateUpdateExtentCallbackType = void (*)(void *, int *);
66 using UpdateDataCallbackType = void (*)(void *);
67 using DataExtentCallbackType = int * (*)(void *);
68 using BufferPointerCallbackType = void * (*)(void *);
72 using FloatSpacingCallbackType = float * (*)(void *);
73 using FloatOriginCallbackType = float * (*)(void *);
82 {
83 public:
84 using DoubleCallbackType = double * (*)(void *);
85 using FloatCallbackType = float * (*)(void *);
86 operator DoubleCallbackType() { return m_DoubleCallback; }
89 operator FloatCallbackType() { return m_FloatCallback; }
91 : m_DoubleCallback(d)
92 , m_FloatCallback(f)
93 {}
94
95 private:
98 };
99
103
106
109
112
115
118
121
124
127
130
133
136
137protected:
139 ~VTKImageExportBase() override = default;
140 void
141 PrintSelf(std::ostream & os, Indent indent) const override;
142
144
145 virtual void
147
148 virtual int
150
151 virtual void
153
156 virtual int *
158
159 virtual double *
161
162 virtual double *
164
165 virtual double *
167
168 virtual float *
170
171 virtual float *
173
174 virtual const char *
176
177 virtual int
179
180 virtual void
182
183 virtual int *
185
186 virtual void *
188
189private:
193 static void
195
196 static int
198
199 static int *
201
202 static double *
204
205 static double *
207
208 static double *
210
211 static float *
213
214 static float *
216
217 static const char *
219
220 static int
222
223 static void
225
226 static void
228
229 static int *
231
232 static void *
234
235private:
237 ModifiedTimeType m_LastPipelineMTime{};
238};
239} // end namespace itk
240
241#endif
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Provide compatibility between VTK 4.4 and earlier versions.
CallbackTypeProxy(DoubleCallbackType d, FloatCallbackType f)
Superclass for VTKImageExport instantiations.
PipelineModifiedCallbackType GetPipelineModifiedCallback() const
DataExtentCallbackType GetDataExtentCallback() const
PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback() const
static int * WholeExtentCallbackFunction(void *)
static void PropagateUpdateExtentCallbackFunction(void *, int *)
WholeExtentCallbackType GetWholeExtentCallback() const
virtual int * DataExtentCallback()=0
virtual void UpdateDataCallback()
CallbackTypeProxy GetOriginCallback() const
void(*)(void *) UpdateInformationCallbackType
double *(*)(void *) DirectionCallbackType
virtual double * DirectionCallback()=0
static double * OriginCallbackFunction(void *)
NumberOfComponentsCallbackType GetNumberOfComponentsCallback() const
virtual int * WholeExtentCallback()=0
static void * BufferPointerCallbackFunction(void *)
int *(*)(void *) WholeExtentCallbackType
virtual const char * ScalarTypeCallback()=0
int(*)(void *) PipelineModifiedCallbackType
double *(*)(void *) OriginCallbackType
static void UpdateInformationCallbackFunction(void *)
static double * DirectionCallbackFunction(void *)
float *(*)(void *) FloatSpacingCallbackType
static const char * ScalarTypeCallbackFunction(void *)
UpdateInformationCallbackType GetUpdateInformationCallback() const
int(*)(void *) NumberOfComponentsCallbackType
DirectionCallbackType GetDirectionCallback() const
~VTKImageExportBase() override=default
virtual void PropagateUpdateExtentCallback(int *)=0
virtual double * OriginCallback()=0
static void UpdateDataCallbackFunction(void *)
void(*)(void *) UpdateDataCallbackType
CallbackTypeProxy GetSpacingCallback() const
void(*)(void *, int *) PropagateUpdateExtentCallbackType
static int PipelineModifiedCallbackFunction(void *)
BufferPointerCallbackType GetBufferPointerCallback() const
static float * FloatSpacingCallbackFunction(void *)
virtual int NumberOfComponentsCallback()=0
ScalarTypeCallbackType GetScalarTypeCallback() const
static int NumberOfComponentsCallbackFunction(void *)
virtual void UpdateInformationCallback()
static int * DataExtentCallbackFunction(void *)
static double * SpacingCallbackFunction(void *)
int *(*)(void *) DataExtentCallbackType
virtual double * SpacingCallback()=0
void PrintSelf(std::ostream &os, Indent indent) const override
double *(*)(void *) SpacingCallbackType
static float * FloatOriginCallbackFunction(void *)
void *(*)(void *) BufferPointerCallbackType
float *(*)(void *) FloatOriginCallbackType
const char *(*)(void *) ScalarTypeCallbackType
virtual int PipelineModifiedCallback()
UpdateDataCallbackType GetUpdateDataCallback() const
virtual float * FloatOriginCallback()=0
virtual void * BufferPointerCallback()=0
virtual float * FloatSpacingCallback()=0
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:41
SizeValueType ModifiedTimeType
Definition: itkIntTypes.h:105