From 732ee597f46cfec701d10fbedc87b7818cb40384 Mon Sep 17 00:00:00 2001
From: Guillaume Pasero <guillaume.pasero@c-s.fr>
Date: Wed, 5 Apr 2017 15:19:48 +0200
Subject: [PATCH] REFAC: avoid using deprecated map projections

---
 .../app/otbObtainUTMZoneFromGeoPoint.cxx      |  3 +-
 .../Filtering/Projection/test/CMakeLists.txt  |  3 -
 .../Projection/test/otbMapProjection.cxx      | 11 +--
 .../Projection/test/otbMapProjectionsNew.cxx  | 77 +++----------------
 .../Projection/test/otbProjectionBaseNew.cxx  | 34 --------
 .../test/otbProjectionTestDriver.cxx          |  1 -
 ...bWrapperMapProjectionParametersHandler.cxx | 12 +--
 7 files changed, 22 insertions(+), 119 deletions(-)
 delete mode 100644 Modules/Filtering/Projection/test/otbProjectionBaseNew.cxx

diff --git a/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
index 4918543fde..7755d65f8c 100644
--- a/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
@@ -21,8 +21,7 @@
 #include "otbWrapperApplication.h"
 #include "otbWrapperApplicationFactory.h"
 
-#include "otbMapProjections.h"
-#include "otbUtils.h"
+#include "otbMapProjectionAdapter.h"
 
 namespace otb
 {
diff --git a/Modules/Filtering/Projection/test/CMakeLists.txt b/Modules/Filtering/Projection/test/CMakeLists.txt
index dd71babbce..022daa7b56 100644
--- a/Modules/Filtering/Projection/test/CMakeLists.txt
+++ b/Modules/Filtering/Projection/test/CMakeLists.txt
@@ -44,7 +44,6 @@ otbOrthoRectificationFilterNew.cxx
 otbImageToGenericRSOutputParameters.cxx
 otbGeometriesProjectionFilterFromMapToGeo.cxx
 otbROIdataConversion.cxx
-otbProjectionBaseNew.cxx
 otbVectorDataProjectionFilterFromMapToGeo.cxx
 otbPhysicalToRPCSensorModelImageFilter.cxx
 otbGeometriesProjectionFilterFromGeoToMap.cxx
@@ -536,8 +535,6 @@ otb_add_test(NAME leTvROIdataConversion COMMAND otbProjectionTestDriver
   ${TEMP}/leTvROIdataConversion.txt
   )
 
-otb_add_test(NAME prTuProjectionBaseNew COMMAND otbProjectionTestDriver  otbProjectionBaseNew )
-
 otb_add_test(NAME prTvVectorDataProjectionFilterFromMapToGeo COMMAND otbProjectionTestDriver
   --compare-ogr ${NOTOL}
   ${BASELINE_FILES}/prTvVectorDataProjectionFilterFromMapToGeo.kml
diff --git a/Modules/Filtering/Projection/test/otbMapProjection.cxx b/Modules/Filtering/Projection/test/otbMapProjection.cxx
index a245fc4f1d..b98e839787 100644
--- a/Modules/Filtering/Projection/test/otbMapProjection.cxx
+++ b/Modules/Filtering/Projection/test/otbMapProjection.cxx
@@ -87,9 +87,9 @@ int otbMapProjection(int itkNotUsed(argc), char* argv[])
   file << lLambert93->TransformPoint(point2);
   file << std::endl << std::endl;
 
-
-
-  otb::MercatorForwardProjection::Pointer lMercatorProjection2 = otb::MercatorForwardProjection::New();
+  typedef otb::GenericMapProjection<otb::TransformDirection::FORWARD> MercatorForwardProjection;
+  MercatorForwardProjection::Pointer lMercatorProjection2 = MercatorForwardProjection::New();
+  lMercatorProjection2->SetWkt(std::string("Mercator"));
   point2 = lMercatorProjection2->TransformPoint(point);
   file << lMercatorProjection2->GetWkt() << std::endl << std::endl;
   file << "Forward projection: " << std::endl;
@@ -97,8 +97,9 @@ int otbMapProjection(int itkNotUsed(argc), char* argv[])
   file << point2;
   file << std::endl << std::endl;
 
-
-  otb::MercatorInverseProjection::Pointer lMercatorProjection = otb::MercatorInverseProjection::New();
+  typedef otb::GenericMapProjection<otb::TransformDirection::INVERSE> MercatorInverseProjection;
+  MercatorInverseProjection::Pointer lMercatorProjection = MercatorInverseProjection::New();
+  lMercatorProjection->SetWkt(std::string("Mercator"));
   file << lMercatorProjection->GetWkt() << std::endl << std::endl;
   file << "Inverse projection: " << std::endl;
   file << point2 << " -> ";
diff --git a/Modules/Filtering/Projection/test/otbMapProjectionsNew.cxx b/Modules/Filtering/Projection/test/otbMapProjectionsNew.cxx
index 38ceab4477..f29644125f 100644
--- a/Modules/Filtering/Projection/test/otbMapProjectionsNew.cxx
+++ b/Modules/Filtering/Projection/test/otbMapProjectionsNew.cxx
@@ -29,90 +29,31 @@
 
 int otbMapProjectionsNew(int itkNotUsed(argc), char* itkNotUsed(argv)[])
 {
-  otb::AlbersInverseProjection::Pointer      lAlbersProjection = otb::AlbersInverseProjection::New();
-  otb::AlbersForwardProjection::Pointer      lAlbersProjection2 = otb::AlbersForwardProjection::New();
-  otb::AzimEquDistInverseProjection::Pointer lAzimEquDistProjection = otb::AzimEquDistInverseProjection::New();
-  otb::AzimEquDistForwardProjection::Pointer lAzimEquDistProjection2 = otb::AzimEquDistForwardProjection::New();
-  //Comment for OTB 2.2.0 because OSSIM error code -> generate Exception Fault on VS 7.1 only on Debug mode.
-  //        otb::BngInverseProjection::Pointer lBngProjection = otb::BngInverseProjection::New();
-  //        otb::BngForwardProjection::Pointer lBngProjection2 = otb::BngForwardProjection::New();
-  otb::BonneInverseProjection::Pointer                 lBonneProjection = otb::BonneInverseProjection::New();
-  otb::BonneForwardProjection::Pointer                 lBonneProjection2 = otb::BonneForwardProjection::New();
-  otb::CadrgInverseProjection::Pointer                 lCadrgProjection = otb::CadrgInverseProjection::New();
-  otb::CadrgForwardProjection::Pointer                 lCadrgProjection2 = otb::CadrgForwardProjection::New();
-  otb::CassiniInverseProjection::Pointer               lCassiniProjection = otb::CassiniInverseProjection::New();
-  otb::CassiniForwardProjection::Pointer               lCassiniProjection2 = otb::CassiniForwardProjection::New();
-  otb::CylEquAreaInverseProjection::Pointer            lCylEquAreaProjection = otb::CylEquAreaInverseProjection::New();
-  otb::CylEquAreaForwardProjection::Pointer            lCylEquAreaProjection2 = otb::CylEquAreaForwardProjection::New();
   otb::Eckert4InverseProjection::Pointer               lEckert4Projection = otb::Eckert4InverseProjection::New();
   otb::Eckert4ForwardProjection::Pointer               lEckert4Projection2 = otb::Eckert4ForwardProjection::New();
-  otb::Eckert6InverseProjection::Pointer               lEckert6Projection = otb::Eckert6InverseProjection::New();
-  otb::Eckert6ForwardProjection::Pointer               lEckert6Projection2 = otb::Eckert6ForwardProjection::New();
-  otb::GnomonicInverseProjection::Pointer              lGnomonicProjection = otb::GnomonicInverseProjection::New();
-  otb::GnomonicForwardProjection::Pointer              lGnomonicProjection2 = otb::GnomonicForwardProjection::New();
   otb::LambertConformalConicInverseProjection::Pointer lLambertConformalConicProjection =
     otb::LambertConformalConicInverseProjection::New();
   otb::LambertConformalConicForwardProjection::Pointer lLambertConformalConicProjection2 =
     otb::LambertConformalConicForwardProjection::New();
-  otb::LlxyInverseProjection::Pointer              lLlxyProjection = otb::LlxyInverseProjection::New();
-  otb::LlxyForwardProjection::Pointer              lLlxyProjection2 = otb::LlxyForwardProjection::New();
-  otb::EquDistCylInverseProjection::Pointer        lEquDistCylProjection = otb::EquDistCylInverseProjection::New();
-  otb::EquDistCylForwardProjection::Pointer        lEquDistCylProjection2 = otb::EquDistCylForwardProjection::New();
-  otb::MercatorInverseProjection::Pointer          lMercatorProjection = otb::MercatorInverseProjection::New();
-  otb::MercatorForwardProjection::Pointer          lMercatorProjection2 = otb::MercatorForwardProjection::New();
-  otb::MillerInverseProjection::Pointer            lMillerProjection = otb::MillerInverseProjection::New();
-  otb::MillerForwardProjection::Pointer            lMillerProjection2 = otb::MillerForwardProjection::New();
+  otb::Lambert2EtenduInverseProjection::Pointer lLambert2Etendu = otb::Lambert2EtenduInverseProjection::New();
+  otb::Lambert2EtenduForwardProjection::Pointer lLambert2Etendu2 = otb::Lambert2EtenduForwardProjection::New();
+  otb::Lambert3CartoSudInverseProjection::Pointer lLambert3CartoSud = otb::Lambert3CartoSudInverseProjection::New();
+  otb::Lambert3CartoSudForwardProjection::Pointer lLambert3CartoSud2 = otb::Lambert3CartoSudForwardProjection::New();
+  otb::Lambert93InverseProjection::Pointer      lLambert93 = otb::Lambert93InverseProjection::New();
+  otb::Lambert93ForwardProjection::Pointer      lLambert93_2 = otb::Lambert93ForwardProjection::New();
   otb::MollweidInverseProjection::Pointer          lMollweidProjection = otb::MollweidInverseProjection::New();
   otb::MollweidForwardProjection::Pointer          lMollweidProjection2 = otb::MollweidForwardProjection::New();
-  otb::NewZealandMapGridInverseProjection::Pointer lNewZealandMapGridProjection =
-    otb::NewZealandMapGridInverseProjection::New();
-  otb::NewZealandMapGridForwardProjection::Pointer lNewZealandMapGridProjection2 =
-    otb::NewZealandMapGridForwardProjection::New();
-  otb::ObliqueMercatorInverseProjection::Pointer lObliqueMercatorProjection =
-    otb::ObliqueMercatorInverseProjection::New();
-  otb::ObliqueMercatorForwardProjection::Pointer lObliqueMercatorProjection2 =
-    otb::ObliqueMercatorForwardProjection::New();
-  otb::OrthoGraphicInverseProjection::Pointer lOrthoGraphicProjection =
-    otb::OrthoGraphicInverseProjection::New();
-  otb::OrthoGraphicForwardProjection::Pointer lOrthoGraphicProjection2 =
-    otb::OrthoGraphicForwardProjection::New();
-  otb::PolarStereoInverseProjection::Pointer          lPolarStereoProjection = otb::PolarStereoInverseProjection::New();
-  otb::PolarStereoForwardProjection::Pointer          lPolarStereoProjection2 = otb::PolarStereoForwardProjection::New();
-  otb::PolyconicInverseProjection::Pointer            lPolyconicProjection = otb::PolyconicInverseProjection::New();
-  otb::PolyconicForwardProjection::Pointer            lPolyconicProjection2 = otb::PolyconicForwardProjection::New();
   otb::SinusoidalInverseProjection::Pointer           lSinusoidalProjection = otb::SinusoidalInverseProjection::New();
   otb::SinusoidalForwardProjection::Pointer           lSinusoidalProjection2 = otb::SinusoidalForwardProjection::New();
-  otb::SpaceObliqueMercatorInverseProjection::Pointer lSpaceObliqueMercatorProjection =
-    otb::SpaceObliqueMercatorInverseProjection::New();
-  otb::SpaceObliqueMercatorForwardProjection::Pointer lSpaceObliqueMercatorProjection2 =
-    otb::SpaceObliqueMercatorForwardProjection::New();
-  otb::StereographicInverseProjection::Pointer lStereographicProjection =
-    otb::StereographicInverseProjection::New();
-  otb::StereographicForwardProjection::Pointer lStereographicProjection2 =
-    otb::StereographicForwardProjection::New();
-  otb::TransCylEquAreaInverseProjection::Pointer lTransCylEquAreaProjection =
-    otb::TransCylEquAreaInverseProjection::New();
-  otb::TransCylEquAreaForwardProjection::Pointer lTransCylEquAreaProjection2 =
-    otb::TransCylEquAreaForwardProjection::New();
+  otb::SVY21InverseProjection::Pointer          lSVY21 = otb::SVY21InverseProjection::New();
+  otb::SVY21ForwardProjection::Pointer          lSVY21_2 = otb::SVY21ForwardProjection::New();
   otb::TransMercatorInverseProjection::Pointer lTransMercatorProjection =
     otb::TransMercatorInverseProjection::New();
   otb::TransMercatorForwardProjection::Pointer lTransMercatorProjection2 =
     otb::TransMercatorForwardProjection::New();
-  otb::UpsInverseProjection::Pointer           lUpsProjection = otb::UpsInverseProjection::New();
-  otb::UpsForwardProjection::Pointer           lUpsProjection2 = otb::UpsForwardProjection::New();
   otb::UtmInverseProjection::Pointer           lUtmProjection = otb::UtmInverseProjection::New();
   otb::UtmForwardProjection::Pointer           lUtmProjection2 = otb::UtmForwardProjection::New();
-  otb::VanDerGrintenInverseProjection::Pointer lVanDerGrintenProjection =
-    otb::VanDerGrintenInverseProjection::New();
-  otb::VanDerGrintenForwardProjection::Pointer lVanDerGrintenProjection2 =
-    otb::VanDerGrintenForwardProjection::New();
-  otb::Lambert2EtenduInverseProjection::Pointer lLambert2Etendu = otb::Lambert2EtenduInverseProjection::New();
-  otb::Lambert2EtenduForwardProjection::Pointer lLambert2Etendu2 = otb::Lambert2EtenduForwardProjection::New();
-  otb::Lambert93InverseProjection::Pointer      lLambert93 = otb::Lambert93InverseProjection::New();
-  otb::Lambert93ForwardProjection::Pointer      lLambert93_2 = otb::Lambert93ForwardProjection::New();
-  otb::SVY21InverseProjection::Pointer          lSVY21 = otb::SVY21InverseProjection::New();
-  otb::SVY21ForwardProjection::Pointer          lSVY21_2 = otb::SVY21ForwardProjection::New();
-
+  
   return EXIT_SUCCESS;
 }
 
diff --git a/Modules/Filtering/Projection/test/otbProjectionBaseNew.cxx b/Modules/Filtering/Projection/test/otbProjectionBaseNew.cxx
deleted file mode 100644
index 53e3e6a917..0000000000
--- a/Modules/Filtering/Projection/test/otbProjectionBaseNew.cxx
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
- *
- * This file is part of Orfeo Toolbox
- *
- *     https://www.orfeo-toolbox.org/
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-#include "itkMacro.h"
-#include <iostream>
-
-#include "otbMapProjections.h"
-
-int otbProjectionBaseNew(int itkNotUsed(argc), char * itkNotUsed(argv)[])
-{
-  otb::AlbersInverseProjection::Pointer      lAlbersProjection = otb::AlbersInverseProjection::New();
-  otb::AzimEquDistForwardProjection::Pointer lAzimEquDistProjection = otb::AzimEquDistForwardProjection::New();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Modules/Filtering/Projection/test/otbProjectionTestDriver.cxx b/Modules/Filtering/Projection/test/otbProjectionTestDriver.cxx
index d5b90afceb..1f249676ab 100644
--- a/Modules/Filtering/Projection/test/otbProjectionTestDriver.cxx
+++ b/Modules/Filtering/Projection/test/otbProjectionTestDriver.cxx
@@ -51,7 +51,6 @@ void RegisterTests()
   REGISTER_TEST(otbImageToGenericRSOutputParameters);
   REGISTER_TEST(otbGeometriesProjectionFilterFromMapToGeo);
   REGISTER_TEST(otbROIdataConversion);
-  REGISTER_TEST(otbProjectionBaseNew);
   REGISTER_TEST(otbVectorDataProjectionFilterFromMapToGeo);
   REGISTER_TEST(otbPhysicalToRPCSensorModelImageFilter);
   REGISTER_TEST(otbGeometriesProjectionFilterFromGeoToMap);
diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperMapProjectionParametersHandler.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperMapProjectionParametersHandler.cxx
index 8c00e08c56..364fb60035 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperMapProjectionParametersHandler.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperMapProjectionParametersHandler.cxx
@@ -134,8 +134,8 @@ const std::string MapProjectionParametersHandler::GetProjectionRefFromChoice(con
     {
     case Map_Utm:
     {
-    typedef UtmInverseProjection  UtmProjectionType;
-    UtmProjectionType::Pointer    utmProjection = UtmProjectionType::New();
+    otb::UtmInverseProjection::Pointer utmProjection =
+     otb::UtmInverseProjection::New();
 
     // Set the zone
     utmProjection->SetZone(app->GetParameterInt(zoneKey.str()));
@@ -152,15 +152,15 @@ const std::string MapProjectionParametersHandler::GetProjectionRefFromChoice(con
     break;
     case Map_Lambert2:
     {
-    typedef Lambert2EtenduForwardProjection Lambert2ProjectionType;
-    Lambert2ProjectionType::Pointer lambert2Projection = Lambert2ProjectionType::New();
+    otb::Lambert2EtenduForwardProjection::Pointer lambert2Projection =
+      otb::Lambert2EtenduForwardProjection::New();
     return lambert2Projection->GetWkt();
     }
     break;
     case Map_Lambert93:
     {
-    typedef otb::Lambert93InverseProjection Lambert93ProjectionType;
-    Lambert93ProjectionType::Pointer lambert93Projection = Lambert93ProjectionType::New();
+    otb::Lambert93InverseProjection::Pointer lambert93Projection =
+      otb::Lambert93InverseProjection::New();
     return lambert93Projection->GetWkt();
     }
     break;
-- 
GitLab