OTB  9.0.0
Orfeo Toolbox
otbTileMapTransform.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 otbTileMapTransform_h
22 #define otbTileMapTransform_h
23 
24 
25 // Only for the enum definition
27 
28 namespace otb
29 {
30 
37 template <TransformDirection TTransformDirection, class TScalarType = double, unsigned int NInputDimensions = 2,
38  unsigned int NOutputDimensions = 2>
39 class ITK_EXPORT TileMapTransform : public Transform<TScalarType, // Data type for scalars
40  NInputDimensions, // Number of dimensions in the input space
41  NOutputDimensions> // Number of dimensions in the output space
42 {
43 public:
47  typedef itk::SmartPointer<Self> Pointer;
48  typedef itk::SmartPointer<const Self> ConstPointer;
49 
51  typedef itk::Point<ScalarType, NInputDimensions> InputPointType;
52  typedef itk::Point<ScalarType, NOutputDimensions> OutputPointType;
53 
55  itkNewMacro(Self);
56 
58  itkTypeMacro(TileMapTransform, Transform);
59 
60  static const TransformDirection DirectionOfMapping = TTransformDirection;
61 
62  itkStaticConstMacro(InputSpaceDimension, unsigned int, NInputDimensions);
63  itkStaticConstMacro(OutputSpaceDimension, unsigned int, NOutputDimensions);
64  itkStaticConstMacro(SpaceDimension, unsigned int, NInputDimensions);
65  itkStaticConstMacro(ParametersDimension, unsigned int, NInputDimensions*(NInputDimensions + 1));
66 
67  itkGetConstMacro(Depth, int);
68  itkSetMacro(Depth, int);
69 
70  void SetLevel(unsigned int level);
71  unsigned int GetLevel() const;
72 
73  OutputPointType TransformPoint(const InputPointType& point) const override;
74 
75  virtual void PrintMap() const;
76 
78  virtual std::string GetWkt() const
79  {
80  return "TileMapTransform";
81  }
82 
83 protected:
85  ~TileMapTransform() override;
86 
87 private:
88  TileMapTransform(const Self&) = delete;
89  void operator=(const Self&) = delete;
90 
91  int m_Depth;
92 };
93 
94 } // namespace otb
95 
96 #ifndef OTB_MANUAL_INSTANTIATION
97 #include "otbTileMapTransform.hxx"
98 #endif
99 
100 #endif
otb::TransformDirection
TransformDirection
Definition: otbTransform.h:30
otb::TileMapTransform::GetWkt
virtual std::string GetWkt() const
Definition: otbTileMapTransform.h:78
otbTileMapTransform.hxx
otb::TileMapTransform::m_Depth
int m_Depth
Definition: otbTileMapTransform.h:91
otb::TileMapTransform::OutputPointType
itk::Point< ScalarType, NOutputDimensions > OutputPointType
Definition: otbTileMapTransform.h:52
otbGenericMapProjection.h
otb::Transform::ScalarType
TScalarType ScalarType
Definition: otbTransform.h:71
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::TileMapTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: otbTileMapTransform.h:50
otb::TileMapTransform
to do
Definition: otbTileMapTransform.h:39
otb::TileMapTransform::InputPointType
itk::Point< ScalarType, NInputDimensions > InputPointType
Definition: otbTileMapTransform.h:51
otb::TileMapTransform::Superclass
Transform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
Definition: otbTileMapTransform.h:46
otb::Transform
Class to overload method passed to virtual pure in ITK V4.
Definition: otbTransform.h:39
otb::TileMapTransform::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbTileMapTransform.h:47
otb::TileMapTransform::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbTileMapTransform.h:48
otb::TileMapTransform::Self
TileMapTransform Self
Definition: otbTileMapTransform.h:45