ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkVTKImageExportBase.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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 
23 namespace itk
24 {
37 {
38 public:
44 
46  itkTypeMacro(VTKImageExportBase, ProcessObject);
47 
49  void * GetCallbackUserData();
50 
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 *);
64 
66  typedef float * ( *FloatSpacingCallbackType )(void *);
67  typedef float * ( *FloatOriginCallbackType )(void *);
69 
75  {
76 public:
77  typedef double * ( *DoubleCallbackType )(void *);
78  typedef float * ( * FloatCallbackType )(void *);
79  operator DoubleCallbackType()
80  {
81  return m_DoubleCallback;
82  }
83 
84  operator FloatCallbackType()
85  {
86  return m_FloatCallback;
87  }
90 
91 private:
94  };
95 
98 
100 
102 
104 
106 
108 
110 
112 
114 
116 
118 
119 protected:
122  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
123 
125 
126  virtual void UpdateInformationCallback();
127 
128  virtual int PipelineModifiedCallback();
129 
130  virtual void UpdateDataCallback();
131 
134  virtual int * WholeExtentCallback() = 0;
135 
136  virtual double * SpacingCallback() = 0;
137 
138  virtual double * OriginCallback() = 0;
139 
140  virtual float * FloatSpacingCallback() = 0;
141 
142  virtual float * FloatOriginCallback() = 0;
143 
144  virtual const char * ScalarTypeCallback() = 0;
145 
146  virtual int NumberOfComponentsCallback() = 0;
147 
148  virtual void PropagateUpdateExtentCallback(int *) = 0;
149 
150  virtual int * DataExtentCallback() = 0;
151 
152  virtual void * BufferPointerCallback() = 0;
153 
154 private:
155  VTKImageExportBase(const Self &); //purposely not implemented
156  void operator=(const Self &); //purposely not implemented
157 
161  static void UpdateInformationCallbackFunction(void *);
162 
163  static int PipelineModifiedCallbackFunction(void *);
164 
165  static int * WholeExtentCallbackFunction(void *);
166 
167  static double * SpacingCallbackFunction(void *);
168 
169  static double * OriginCallbackFunction(void *);
170 
171  static float * FloatSpacingCallbackFunction(void *);
172 
173  static float * FloatOriginCallbackFunction(void *);
174 
175  static const char * ScalarTypeCallbackFunction(void *);
176 
177  static int NumberOfComponentsCallbackFunction(void *);
178 
179  static void PropagateUpdateExtentCallbackFunction(void *, int *);
180 
181  static void UpdateDataCallbackFunction(void *);
182 
183  static int * DataExtentCallbackFunction(void *);
184 
185  static void * BufferPointerCallbackFunction(void *);
186 
187 private:
190 };
191 } // end namespace itk
192 
193 #endif
int(* PipelineModifiedCallbackType)(void *)
virtual float * FloatOriginCallback()=0
virtual void PropagateUpdateExtentCallback(int *)=0
static double * OriginCallbackFunction(void *)
static float * FloatOriginCallbackFunction(void *)
Light weight base class for most itk classes.
static const char * ScalarTypeCallbackFunction(void *)
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
static void UpdateInformationCallbackFunction(void *)
static void * BufferPointerCallbackFunction(void *)
SmartPointer< Self > Pointer
DataObject::Pointer DataObjectPointer
SmartPointer< const Self > ConstPointer
virtual const char * ScalarTypeCallback()=0
unsigned long ModifiedTimeType
Definition: itkIntTypes.h:164
NumberOfComponentsCallbackType GetNumberOfComponentsCallback() const
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
virtual double * SpacingCallback()=0
static int PipelineModifiedCallbackFunction(void *)
void(* UpdateInformationCallbackType)(void *)
BufferPointerCallbackType GetBufferPointerCallback() const
static float * FloatSpacingCallbackFunction(void *)
ScalarTypeCallbackType GetScalarTypeCallback() const
virtual float * FloatSpacingCallback()=0
virtual int PipelineModifiedCallback()
static int * DataExtentCallbackFunction(void *)
Provide compatibility between VTK 4.4 and earlier versions.
static int NumberOfComponentsCallbackFunction(void *)
virtual double * OriginCallback()=0
PipelineModifiedCallbackType GetPipelineModifiedCallback() const
CallbackTypeProxy GetOriginCallback() const
WholeExtentCallbackType GetWholeExtentCallback() const
void(* PropagateUpdateExtentCallbackType)(void *, int *)
static void UpdateDataCallbackFunction(void *)
static int * WholeExtentCallbackFunction(void *)
virtual int NumberOfComponentsCallback()=0
static double * SpacingCallbackFunction(void *)
Superclass for VTKImageExport instantiations.
CallbackTypeProxy(DoubleCallbackType d, FloatCallbackType f)
DataExtentCallbackType GetDataExtentCallback() const
virtual int * WholeExtentCallback()=0
void operator=(const Self &)
static void PropagateUpdateExtentCallbackFunction(void *, int *)
virtual int * DataExtentCallback()=0
UpdateDataCallbackType GetUpdateDataCallback() const
ModifiedTimeType m_LastPipelineMTime
UpdateInformationCallbackType GetUpdateInformationCallback() const
Control indentation during Print() invocation.
Definition: itkIndent.h:49
int(* NumberOfComponentsCallbackType)(void *)
virtual void * BufferPointerCallback()=0
virtual void UpdateDataCallback()
int *(* WholeExtentCallbackType)(void *)
void(* UpdateDataCallbackType)(void *)
virtual void UpdateInformationCallback()
const char *(* ScalarTypeCallbackType)(void *)
int *(* DataExtentCallbackType)(void *)
void *(* BufferPointerCallbackType)(void *)
CallbackTypeProxy GetSpacingCallback() const
PropagateUpdateExtentCallbackType GetPropagateUpdateExtentCallback() const