Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Code
Common
otbObjectListToObjectListFilter.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: ORFEO Toolbox
4
Language: C++
5
Date: $Date$
6
Version: $Revision$
7
8
9
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
10
See OTBCopyright.txt for details.
11
12
13
This software is distributed WITHOUT ANY WARRANTY; without even
14
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15
PURPOSE. See the above copyright notices for more information.
16
17
=========================================================================*/
18
#ifndef __otbObjectListToObjectListFilter_h
19
#define __otbObjectListToObjectListFilter_h
20
21
#include "
otbObjectListSource.h
"
22
23
namespace
otb
24
{
25
40
template
<
class
TInputList,
class
TOutputList>
41
class
ITK_EXPORT
ObjectListToObjectListFilter
:
public
otb::ObjectListSource
<TOutputList>
42
{
43
public
:
45
typedef
ObjectListToObjectListFilter
Self
;
46
typedef
otb::ObjectListSource<TOutputList>
Superclass
;
47
typedef
itk::SmartPointer<Self>
Pointer
;
48
typedef
itk::SmartPointer<const Self>
ConstPointer
;
49
51
itkNewMacro(
Self
);
52
54
itkTypeMacro(
ObjectListToObjectListFilter
,
ObjectListSource
);
55
57
typedef
TInputList
InputListType
;
58
typedef
TOutputList
OutputListType
;
59
typedef
typename
TInputList::ConstPointer
InputListPointer
;
60
typedef
typename
TOutputList::Pointer
OutputListPointer
;
61
typedef
typename
TInputList::ConstIterator
InputListIterator
;
62
typedef
typename
InputListType::ObjectType
InputObjectType
;
63
typedef
typename
OutputListType::ObjectType
OutputObjectType
;
64
65
typedef
itk::DataObject::Pointer
DataObjectPointer
;
66
67
virtual
void
SetInput(
const
InputListType
*input);
68
const
InputListType
* GetInput(
void
);
69
70
protected
:
72
ObjectListToObjectListFilter
();
74
virtual
~ObjectListToObjectListFilter
() {}
76
virtual
void
PrintSelf(std::ostream& os,
itk::Indent
indent)
const
;
77
78
virtual
void
GenerateData(
void
);
79
82
typedef
std::vector<OutputListPointer>
OutputListForThreadType
;
83
84
virtual
void
BeforeThreadedGenerateData();
85
86
virtual
void
AfterThreadedGenerateData
() {}
87
88
virtual
int
SplitRequestedRegion(
int
threadId,
int
threadCount,
unsigned
int
requestedElements,
89
unsigned
int
& startIndex,
unsigned
int
& stopIndex);
90
93
virtual
void
ThreadedGenerateData(
unsigned
int
startIndex,
unsigned
int
stopIndex,
int
threadId);
94
98
static
ITK_THREAD_RETURN_TYPE
ThreaderCallback(
void
*arg);
99
101
struct
ThreadStruct
102
{
103
Pointer
Filter
;
104
};
105
106
OutputListForThreadType
m_ObjectListPerThread
;
107
110
private
:
111
ObjectListToObjectListFilter
(
const
Self
&);
//purposely not implemented
112
void
operator =(
const
Self
&);
//purposely not implemented
113
114
};
115
116
}
// end namespace otb
117
118
#ifndef OTB_MANUAL_INSTANTIATION
119
#include "
otbObjectListToObjectListFilter.txx
"
120
#endif
121
122
#endif
Generated at Sun Feb 3 2013 00:40:38 for
Orfeo Toolbox
with
doxygen 1.8.1.1