Orfeo Toolbox  4.2
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:
49 
51  itkNewMacro(Self);
52 
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;
64 
66 
67  virtual void SetInput(const InputListType *input);
68  const InputListType * GetInput(void);
69 
70 protected:
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(itk::ThreadIdType threadId, int threadCount, unsigned int requestedElements,
89  unsigned int& startIndex, unsigned int& stopIndex);
90 
93  virtual void ThreadedGenerateData(unsigned int startIndex, unsigned int stopIndex, itk::ThreadIdType threadId);
94 
98  static ITK_THREAD_RETURN_TYPE ThreaderCallback(void *arg);
99 
102  {
104  };
105 
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
120 #endif
121 
122 #endif

Generated at Sat Aug 30 2014 16:17:54 for Orfeo Toolbox with doxygen 1.8.3.1