OTB  9.0.0
Orfeo Toolbox
otbTileDimensionTiledStreamingManager.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbTileDimensionTiledStreamingManager_h
22 #define otbTileDimensionTiledStreamingManager_h
23 
24 #include "otbStreamingManager.h"
25 
26 namespace otb
27 {
28 
45 template <class TImage>
46 class ITK_EXPORT TileDimensionTiledStreamingManager : public StreamingManager<TImage>
47 {
48 public:
52  typedef itk::SmartPointer<Self> Pointer;
53  typedef itk::SmartPointer<const Self> ConstPointer;
54 
55  typedef TImage ImageType;
56  typedef typename Superclass::RegionType RegionType;
57 
59  itkNewMacro(Self);
60 
63 
65  itkStaticConstMacro(ImageDimension, unsigned int, ImageType::ImageDimension);
66 
68  itkSetMacro(TileDimension, unsigned int);
69 
71  itkGetMacro(TileDimension, unsigned int);
72 
75  void PrepareStreaming(itk::DataObject* input, const RegionType& region) override;
76 
77 protected:
80 
83  unsigned int m_TileDimension;
84 
85 private:
87  void operator=(const TileDimensionTiledStreamingManager&);
88 };
89 
90 } // End namespace otb
91 
92 #ifndef OTB_MANUAL_INSTANTIATION
94 #endif
95 
96 #endif
otb::TileDimensionTiledStreamingManager::RegionType
Superclass::RegionType RegionType
Definition: otbTileDimensionTiledStreamingManager.h:56
otb::TileDimensionTiledStreamingManager::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbTileDimensionTiledStreamingManager.h:52
otb::TileDimensionTiledStreamingManager::Self
TileDimensionTiledStreamingManager Self
Definition: otbTileDimensionTiledStreamingManager.h:50
otb::TileDimensionTiledStreamingManager::ImageType
TImage ImageType
Definition: otbTileDimensionTiledStreamingManager.h:55
otb::TileDimensionTiledStreamingManager
This class computes the divisions needed to stream an image in square tiles, driven by a user-defined...
Definition: otbTileDimensionTiledStreamingManager.h:46
otb::StreamingManager
This class handles the streaming process used in the writers implementation.
Definition: otbStreamingManager.h:53
otb::TileDimensionTiledStreamingManager::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbTileDimensionTiledStreamingManager.h:53
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otbTileDimensionTiledStreamingManager.hxx
otbStreamingManager.h
otb::TileDimensionTiledStreamingManager::Superclass
StreamingManager< TImage > Superclass
Definition: otbTileDimensionTiledStreamingManager.h:51
otb::TileDimensionTiledStreamingManager::m_TileDimension
unsigned int m_TileDimension
Definition: otbTileDimensionTiledStreamingManager.h:83
otb::StreamingManager::RegionType
ImageType::RegionType RegionType
Definition: otbStreamingManager.h:64