OTB  9.0.0
Orfeo Toolbox
otbWorldFile.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 otbWorldFile_h
22 #define otbWorldFile_h
23 
24 #include <iomanip>
25 
26 #include "itkObject.h"
27 #include "itkObjectFactory.h"
28 #include "OTBCartoExport.h"
29 #include <string>
30 
31 namespace otb
32 {
33 
45 class OTBCarto_EXPORT WorldFile : public itk::Object
46 {
47 public:
48  typedef WorldFile Self;
49  typedef itk::Object Superclass;
50  typedef itk::SmartPointer<Self> Pointer;
51  typedef itk::SmartPointer<const Self> ConstPointer;
52 
54  itkNewMacro(Self);
55 
56  itkGetMacro(LonOrigin, double);
57  itkSetMacro(LonOrigin, double);
58  itkGetMacro(LatOrigin, double);
59  itkSetMacro(LatOrigin, double);
60  itkGetMacro(LonSpacing, double);
61  itkSetMacro(LonSpacing, double);
62  itkGetMacro(LatSpacing, double);
63  itkSetMacro(LatSpacing, double);
64  itkGetMacro(LonRotation, double);
65  itkSetMacro(LonRotation, double);
66  itkGetMacro(LatRotation, double);
67  itkSetMacro(LatRotation, double);
68 
69  itkGetStringMacro(ImageFilename);
70  itkSetStringMacro(ImageFilename);
71 
72  void Update();
73 
74 protected:
75  WorldFile() : m_LonOrigin(0.0), m_LatOrigin(0.0), m_LonSpacing(0.0), m_LatSpacing(0.0), m_LonRotation(0.0), m_LatRotation(0.0), m_ImageFilename("")
76  {
77  }
78  ~WorldFile() override
79  {
80  }
81 
82 private:
83  WorldFile(const Self&) = delete;
84  void operator=(const Self&) = delete;
85  double m_LonOrigin;
86  double m_LatOrigin;
87  double m_LonSpacing;
88  double m_LatSpacing;
89  double m_LonRotation;
90  double m_LatRotation;
91  std::string m_ImageFilename;
92 };
93 } // end namespace otb
94 
95 #endif
otb::WorldFile::m_LonOrigin
double m_LonOrigin
Definition: otbWorldFile.h:85
otb::WorldFile::WorldFile
WorldFile()
Definition: otbWorldFile.h:75
otb::WorldFile::Pointer
itk::SmartPointer< Self > Pointer
Definition: otbWorldFile.h:50
otb::WorldFile::Self
WorldFile Self
Definition: otbWorldFile.h:48
otb::WorldFile::m_LatSpacing
double m_LatSpacing
Definition: otbWorldFile.h:88
otb::WorldFile::m_LatRotation
double m_LatRotation
Definition: otbWorldFile.h:90
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::WorldFile::m_LatOrigin
double m_LatOrigin
Definition: otbWorldFile.h:86
otb::WorldFile::m_ImageFilename
std::string m_ImageFilename
Definition: otbWorldFile.h:91
otb::WorldFile::m_LonRotation
double m_LonRotation
Definition: otbWorldFile.h:89
otb::WorldFile::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: otbWorldFile.h:51
otb::WorldFile::m_LonSpacing
double m_LonSpacing
Definition: otbWorldFile.h:87
otb::WorldFile::Superclass
itk::Object Superclass
Definition: otbWorldFile.h:49
otb::WorldFile::~WorldFile
~WorldFile() override
Definition: otbWorldFile.h:78
otb::WorldFile
Handles the world file that associates geographic information to png, jpg.
Definition: otbWorldFile.h:45