Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Utilities
ITK
Code
BasicFilters
itkVTKImageExportBase.cxx
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Insight Segmentation & Registration Toolkit
4
Module: $RCSfile: itkVTKImageExportBase.cxx,v $
5
Language: C++
6
Date: $Date: 2008-10-09 15:31:37 $
7
Version: $Revision: 1.12 $
8
9
Copyright (c) Insight Software Consortium. All rights reserved.
10
See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11
12
This software is distributed WITHOUT ANY WARRANTY; without even
13
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14
PURPOSE. See the above copyright notices for more information.
15
16
=========================================================================*/
17
#include "
itkVTKImageExportBase.h
"
18
#include "
itkCommand.h
"
19
20
namespace
itk
21
{
22
27
VTKImageExportBase::VTKImageExportBase
()
28
{
29
m_LastPipelineMTime
= 0;
30
}
31
32
void
VTKImageExportBase::PrintSelf
(std::ostream& os,
Indent
indent)
const
33
{
34
Superclass::PrintSelf
(os,indent);
35
36
os << indent <<
"Last Pipeline MTime: "
37
<<
m_LastPipelineMTime
<< std::endl;
38
}
39
40
//----------------------------------------------------------------------------
41
void
*
VTKImageExportBase::GetCallbackUserData
()
42
{
43
return
this
;
44
}
45
46
VTKImageExportBase::UpdateInformationCallbackType
47
VTKImageExportBase::GetUpdateInformationCallback
()
const
48
{
49
return
&
VTKImageExportBase::UpdateInformationCallbackFunction
;
50
}
51
52
VTKImageExportBase::PipelineModifiedCallbackType
53
VTKImageExportBase::GetPipelineModifiedCallback
()
const
54
{
55
return
&
VTKImageExportBase::PipelineModifiedCallbackFunction
;
56
}
57
58
VTKImageExportBase::WholeExtentCallbackType
59
VTKImageExportBase::GetWholeExtentCallback
()
const
60
{
61
return
&
VTKImageExportBase::WholeExtentCallbackFunction
;
62
}
63
64
VTKImageExportBase::CallbackTypeProxy
65
VTKImageExportBase::GetOriginCallback
()
const
66
{
67
return
CallbackTypeProxy
(&
VTKImageExportBase::OriginCallbackFunction
,
68
&
VTKImageExportBase::FloatOriginCallbackFunction
);
69
}
70
71
VTKImageExportBase::CallbackTypeProxy
72
VTKImageExportBase::GetSpacingCallback
()
const
73
{
74
return
CallbackTypeProxy
(&
VTKImageExportBase::SpacingCallbackFunction
,
75
&
VTKImageExportBase::FloatSpacingCallbackFunction
);
76
}
77
78
VTKImageExportBase::ScalarTypeCallbackType
79
VTKImageExportBase::GetScalarTypeCallback
()
const
80
{
81
return
&
VTKImageExportBase::ScalarTypeCallbackFunction
;
82
}
83
84
VTKImageExportBase::NumberOfComponentsCallbackType
85
VTKImageExportBase::GetNumberOfComponentsCallback
()
const
86
{
87
return
&
VTKImageExportBase::NumberOfComponentsCallbackFunction
;
88
}
89
90
VTKImageExportBase::PropagateUpdateExtentCallbackType
91
VTKImageExportBase::GetPropagateUpdateExtentCallback
()
const
92
{
93
return
&
VTKImageExportBase::PropagateUpdateExtentCallbackFunction
;
94
}
95
96
VTKImageExportBase::UpdateDataCallbackType
97
VTKImageExportBase::GetUpdateDataCallback
()
const
98
{
99
return
&
VTKImageExportBase::UpdateDataCallbackFunction
;
100
}
101
102
VTKImageExportBase::DataExtentCallbackType
103
VTKImageExportBase::GetDataExtentCallback
()
const
104
{
105
return
&
VTKImageExportBase::DataExtentCallbackFunction
;
106
}
107
108
VTKImageExportBase::BufferPointerCallbackType
109
VTKImageExportBase::GetBufferPointerCallback
()
const
110
{
111
return
&
VTKImageExportBase::BufferPointerCallbackFunction
;
112
}
113
114
115
//----------------------------------------------------------------------------
116
122
void
VTKImageExportBase::UpdateInformationCallback
()
123
{
124
this->
UpdateOutputInformation
();
125
}
126
127
133
int
VTKImageExportBase::PipelineModifiedCallback
()
134
{
135
DataObjectPointer
input = this->
GetInput
(0);
136
if
( !input )
137
{
138
itkExceptionMacro(<<
"Need to set an input"
);
139
return
-1;
140
}
141
142
unsigned
long
pipelineMTime = input->GetPipelineMTime();
143
144
if
( this->
GetMTime
() > pipelineMTime)
145
{
146
pipelineMTime = this->
GetMTime
();
147
}
148
149
if
(pipelineMTime >
m_LastPipelineMTime
)
150
{
151
m_LastPipelineMTime
= pipelineMTime;
152
return
1;
153
}
154
else
155
{
156
return
0;
157
}
158
}
159
160
165
void
VTKImageExportBase::UpdateDataCallback
()
166
{
167
// Get the input.
168
DataObjectPointer
input = this->
GetInput
(0);
169
if
( !input )
170
{
171
itkExceptionMacro(<<
"Need to set an input"
);
172
return
;
173
}
174
175
// Notify start event observers
176
this->
InvokeEvent
(
StartEvent
() );
177
178
// Make sure input is up to date.
179
input->Update();
180
181
// Notify end event observers
182
this->
InvokeEvent
(
EndEvent
() );
183
}
184
185
//----------------------------------------------------------------------------
186
void
VTKImageExportBase::UpdateInformationCallbackFunction
(
void
* userData)
187
{
188
static_cast<
VTKImageExportBase
*
>
189
(userData)->
UpdateInformationCallback
();
190
}
191
192
int
VTKImageExportBase::PipelineModifiedCallbackFunction
(
void
* userData)
193
{
194
return
static_cast<
VTKImageExportBase
*
>
195
(userData)->
PipelineModifiedCallback
();
196
}
197
198
int
*
VTKImageExportBase::WholeExtentCallbackFunction
(
void
* userData)
199
{
200
return
static_cast<
VTKImageExportBase
*
>
201
(userData)->
WholeExtentCallback
();
202
}
203
204
double
*
VTKImageExportBase::OriginCallbackFunction
(
void
* userData)
205
{
206
return
static_cast<
VTKImageExportBase
*
>
207
(userData)->
OriginCallback
();
208
}
209
210
float
*
VTKImageExportBase::FloatOriginCallbackFunction
(
void
* userData)
211
{
212
return
static_cast<
VTKImageExportBase
*
>
213
(userData)->
FloatOriginCallback
();
214
}
215
216
double
*
VTKImageExportBase::SpacingCallbackFunction
(
void
* userData)
217
{
218
return
static_cast<
VTKImageExportBase
*
>
219
(userData)->
SpacingCallback
();
220
}
221
222
float
*
VTKImageExportBase::FloatSpacingCallbackFunction
(
void
* userData)
223
{
224
return
static_cast<
VTKImageExportBase
*
>
225
(userData)->
FloatSpacingCallback
();
226
}
227
228
const
char
*
VTKImageExportBase::ScalarTypeCallbackFunction
(
void
* userData)
229
{
230
return
static_cast<
VTKImageExportBase
*
>
231
(userData)->
ScalarTypeCallback
();
232
}
233
234
int
VTKImageExportBase::NumberOfComponentsCallbackFunction
(
void
* userData)
235
{
236
return
static_cast<
VTKImageExportBase
*
>
237
(userData)->
NumberOfComponentsCallback
();
238
}
239
240
void
VTKImageExportBase::PropagateUpdateExtentCallbackFunction
(
void
* userData,
241
int
* extent)
242
{
243
static_cast<
VTKImageExportBase
*
>
244
(userData)->
PropagateUpdateExtentCallback
(extent);
245
}
246
247
int
*
VTKImageExportBase::DataExtentCallbackFunction
(
void
* userData)
248
{
249
return
static_cast<
VTKImageExportBase
*
>
250
(userData)->
DataExtentCallback
();
251
}
252
253
void
*
VTKImageExportBase::BufferPointerCallbackFunction
(
void
* userData)
254
{
255
return
static_cast<
VTKImageExportBase
*
>
256
(userData)->
BufferPointerCallback
();
257
}
258
259
void
VTKImageExportBase::UpdateDataCallbackFunction
(
void
* userData)
260
{
261
static_cast<
VTKImageExportBase
*
>
(userData)->
UpdateDataCallback
();
262
}
263
264
265
}
// end namespace itk
Generated at Sun Jun 16 2013 00:15:04 for
Orfeo Toolbox
with
doxygen 1.8.3.1