OTB  10.0.0
Orfeo Toolbox
otbCorrectPolygonFunctor.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2024 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 otbCorrectPolygonFunctor_h
22 #define otbCorrectPolygonFunctor_h
23 
24 #include "otbSimplifyPathFunctor.h"
25 #include "otbClosePathFunctor.h"
26 
27 namespace otb
28 {
29 
41 template <class TPolygon>
43 {
44 public:
45  typedef TPolygon PolygonType;
46  typedef typename PolygonType::Pointer PolygonPointerType;
47 
52  {
53  }
55  {
56  }
58 
59  inline PolygonPointerType operator()(const TPolygon* input)
60  {
62  SimplifyFunctorType simplifyFunctor;
63  CloseFunctorType closeFunctor;
64 
65  simplifyFunctor.SetTolerance(0.0);
66 
68  return closeFunctor(simplifyFunctor(input));
69  }
70 };
71 }
72 
73 #endif
This filter close the input path, making the last point equal to the first one.
This filter simplify and close the input polygon, making the last point equal to the first one.
PolygonType::Pointer PolygonPointerType
otb::SimplifyPathFunctor< PolygonType, PolygonType > SimplifyFunctorType
ClosePathFunctor< PolygonType, PolygonType > CloseFunctorType
PolygonPointerType operator()(const TPolygon *input)
This filter performs a simplification of the input path.
void SetTolerance(double Tolerance)
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.