From e510065e3e8e206b282c49b8cae111dfddf8811a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Traizet?= <cedric.traizet@c-s.fr> Date: Mon, 27 Jul 2020 17:25:36 +0200 Subject: [PATCH] REFAC: don't use OSSIMDEMHandler outside of DEMHandler --- .../Adapters/OSSIMAdapters/src/CMakeLists.txt | 2 - .../OSSIMAdapters/src/otbImageKeywordlist.cxx | 2 +- .../OSSIMAdapters/test/CMakeLists.txt | 11 ------ .../OSSIMAdapters/test/otbDEMHandlerTest.cxx | 6 +-- .../test/otbOSSIMAdaptersTestDriver.cxx | 1 - .../test/otbRPCSolverAdapterTest.cxx | 5 ++- .../app/otbRefineSensorModel.cxx | 1 - .../otbStereoRectificationGridGenerator.cxx | 1 - Modules/Core/Transform/CMakeLists.txt | 2 + .../include/otbSarSensorModelAdapter.h | 6 +-- .../include/otbSensorModelAdapter.h | 8 ++-- Modules/Core/Transform/otb-module.cmake | 1 + Modules/Core/Transform/src/CMakeLists.txt | 37 +++++++++++++++++++ .../src/otbSarSensorModelAdapter.cxx | 0 .../Transform}/src/otbSensorModelAdapter.cxx | 2 +- Modules/Core/Transform/test/CMakeLists.txt | 14 +++++++ .../test/otbSarSensorModelAdapterTest.cxx | 4 +- .../Transform/test/otbTransformTestDriver.cxx | 1 + .../test/otbGenericRSResampleImageFilter.cxx | 3 -- .../Projection/test/otbSensorModel.cxx | 2 - Modules/IO/IOGDAL/include/otbDEMHandler.h | 3 +- Modules/IO/IOGDAL/src/otbDEMHandler.cxx | 22 ++++++++++- ...eorectificationDisplacementFieldSource.cxx | 1 - .../otbWrapperElevationParametersHandler.cxx | 4 -- 24 files changed, 95 insertions(+), 44 deletions(-) rename Modules/{Adapters/OSSIMAdapters => Core/Transform}/include/otbSarSensorModelAdapter.h (97%) rename Modules/{Adapters/OSSIMAdapters => Core/Transform}/include/otbSensorModelAdapter.h (95%) create mode 100644 Modules/Core/Transform/src/CMakeLists.txt rename Modules/{Adapters/OSSIMAdapters => Core/Transform}/src/otbSarSensorModelAdapter.cxx (100%) rename Modules/{Adapters/OSSIMAdapters => Core/Transform}/src/otbSensorModelAdapter.cxx (99%) rename Modules/{Adapters/OSSIMAdapters => Core/Transform}/test/otbSarSensorModelAdapterTest.cxx (99%) diff --git a/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt b/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt index cc6dadd6ec..dee3b08236 100644 --- a/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt +++ b/Modules/Adapters/OSSIMAdapters/src/CMakeLists.txt @@ -21,11 +21,9 @@ set(OTBOSSIMAdapters_SRC otbOssimDEMHandler.cxx otbImageKeywordlist.cxx - otbSensorModelAdapter.cxx otbRPCSolverAdapter.cxx otbDateTimeAdapter.cxx otbEllipsoidAdapter.cxx - otbSarSensorModelAdapter.cxx ) add_library(OTBOSSIMAdapters ${OTBOSSIMAdapters_SRC}) diff --git a/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx b/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx index 453d246534..293b4d129c 100644 --- a/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx +++ b/Modules/Adapters/OSSIMAdapters/src/otbImageKeywordlist.cxx @@ -57,7 +57,7 @@ #include "ossim/base/ossimNotify.h" #endif -#include "otbSensorModelAdapter.h" +//#include "otbSensorModelAdapter.h" #include <memory> #include <boost/scoped_ptr.hpp> #include <boost/algorithm/string/predicate.hpp> diff --git a/Modules/Adapters/OSSIMAdapters/test/CMakeLists.txt b/Modules/Adapters/OSSIMAdapters/test/CMakeLists.txt index 6a3aed38b9..6768ac1fb2 100644 --- a/Modules/Adapters/OSSIMAdapters/test/CMakeLists.txt +++ b/Modules/Adapters/OSSIMAdapters/test/CMakeLists.txt @@ -28,7 +28,6 @@ otbOssimElevManagerTest2.cxx otbOssimElevManagerTest4.cxx otbDEMHandlerTest.cxx otbRPCSolverAdapterTest.cxx -otbSarSensorModelAdapterTest.cxx ) add_executable(otbOSSIMAdaptersTestDriver ${OTBOSSIMAdaptersTests}) @@ -466,13 +465,3 @@ otb_add_test(NAME uaTvRPCSolverAdapterValidationTest COMMAND otbOSSIMAdaptersTes ${INPUTDATA}/DEM/egm96.grd ) - -otb_add_test(NAME uaTvSarSensorModelAdapter COMMAND otbOSSIMAdaptersTestDriver - otbSarSensorModelAdapterTest - ${INPUTDATA}/s1a-iw1-slc-vh-amp_xt.geom - ) - -otb_add_test(NAME uaTvSarSensorModelAdapter2 COMMAND otbOSSIMAdaptersTestDriver - otbSarSensorModelAdapterTest - ${INPUTDATA}/s1a-iw1-slc-vv-20170111_Burst01_amp.geom - ) diff --git a/Modules/Adapters/OSSIMAdapters/test/otbDEMHandlerTest.cxx b/Modules/Adapters/OSSIMAdapters/test/otbDEMHandlerTest.cxx index 7f0a84aa5b..7388ca058c 100644 --- a/Modules/Adapters/OSSIMAdapters/test/otbDEMHandlerTest.cxx +++ b/Modules/Adapters/OSSIMAdapters/test/otbDEMHandlerTest.cxx @@ -20,7 +20,7 @@ #include "itkMacro.h" -#include "otbOssimDEMHandler.h" +#include "otbDEMHandler.h" int otbDEMHandlerTest(int argc, char* argv[]) { @@ -40,7 +40,7 @@ int otbDEMHandlerTest(int argc, char* argv[]) double target = atof(argv[7]); double tolerance = atof(argv[8]); - otb::OssimDEMHandler::Pointer demHandler = otb::OssimDEMHandler::Instance(); + otb::DEMHandler::Pointer demHandler = otb::DEMHandler::Instance(); demHandler->SetDefaultHeightAboveEllipsoid(defaultHeight); bool fail = false; @@ -78,7 +78,7 @@ int otbDEMHandlerTest(int argc, char* argv[]) std::cout << "PrintSelf: " << demHandler << std::endl; - otb::OssimDEMHandler::PointType point; + otb::DEMHandler::PointType point; point[0] = longitude; point[1] = latitude; diff --git a/Modules/Adapters/OSSIMAdapters/test/otbOSSIMAdaptersTestDriver.cxx b/Modules/Adapters/OSSIMAdapters/test/otbOSSIMAdaptersTestDriver.cxx index 6346389566..b598f02738 100644 --- a/Modules/Adapters/OSSIMAdapters/test/otbOSSIMAdaptersTestDriver.cxx +++ b/Modules/Adapters/OSSIMAdapters/test/otbOSSIMAdaptersTestDriver.cxx @@ -28,5 +28,4 @@ void RegisterTests() REGISTER_TEST(otbOssimElevManagerTest4); REGISTER_TEST(otbDEMHandlerTest); REGISTER_TEST(otbRPCSolverAdapterTest); - REGISTER_TEST(otbSarSensorModelAdapterTest); } diff --git a/Modules/Adapters/OSSIMAdapters/test/otbRPCSolverAdapterTest.cxx b/Modules/Adapters/OSSIMAdapters/test/otbRPCSolverAdapterTest.cxx index 29a66c2024..fc9251e1d4 100644 --- a/Modules/Adapters/OSSIMAdapters/test/otbRPCSolverAdapterTest.cxx +++ b/Modules/Adapters/OSSIMAdapters/test/otbRPCSolverAdapterTest.cxx @@ -26,6 +26,7 @@ #include "itkEuclideanDistanceMetric.h" #include "otbSensorModelAdapter.h" #include "otbRPCSolverAdapter.h" +#include "otbDEMHandler.h" typedef otb::Image<double> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; @@ -62,7 +63,7 @@ int otbRPCSolverAdapterTest(int argc, char* argv[]) std::cout << "GeoTol: " << geoTol << " meters" << std::endl; std::cout << "ImgTol: " << imgTol << " pixels" << std::endl; - otb::OssimDEMHandler::Pointer demHandler = otb::OssimDEMHandler::Instance(); + otb::DEMHandler::Pointer demHandler = otb::DEMHandler::Instance(); demHandler->SetDefaultHeightAboveEllipsoid(0); if (demdir != "no") demHandler->OpenDEMDirectory(demdir); @@ -98,7 +99,7 @@ int otbRPCSolverAdapterTest(int argc, char* argv[]) currentWgs84Point = fwd2dTransform->TransformPoint(currentPoint); - double height = otb::OssimDEMHandler::Instance()->GetHeightAboveEllipsoid(currentWgs84Point); + double height = otb::DEMHandler::Instance()->GetHeightAboveEllipsoid(currentWgs84Point); Point3DType current3DWgs84Point; current3DWgs84Point[0] = currentWgs84Point[0]; diff --git a/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx b/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx index befd7c3773..7b79e0fb50 100644 --- a/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx +++ b/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx @@ -166,7 +166,6 @@ private: lat = atof(line.substr(pos, nextpos).c_str()); z = otb::DEMHandler::Instance()->GetHeightAboveEllipsoid(lon, lat); - std::cout << "diff " << z << " " << otb::OssimDEMHandler::Instance()->GetHeightAboveEllipsoid(lon, lat) << std::endl;; otbAppLogDEBUG("Adding tie point x=" << x << ", y=" << y << ", z=" << z << ", lon=" << lon << ", lat=" << lat); diff --git a/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx b/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx index a001df5ea0..a2e2d3f33e 100644 --- a/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx +++ b/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx @@ -312,7 +312,6 @@ private: m_StatisticsFilter->Update(); otb::DEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(m_StatisticsFilter->GetMean()); - otb::OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(m_StatisticsFilter->GetMean()); EnableParameter("epi.elevation.avgdem.value"); SetParameterFloat("epi.elevation.avgdem.value", m_StatisticsFilter->GetMean()); diff --git a/Modules/Core/Transform/CMakeLists.txt b/Modules/Core/Transform/CMakeLists.txt index 795005189e..3d2932afbf 100644 --- a/Modules/Core/Transform/CMakeLists.txt +++ b/Modules/Core/Transform/CMakeLists.txt @@ -19,4 +19,6 @@ # project(OTBTransform) + +set(OTBTransform_LIBRARIES OTBTransform) otb_module_impl() diff --git a/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h b/Modules/Core/Transform/include/otbSarSensorModelAdapter.h similarity index 97% rename from Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h rename to Modules/Core/Transform/include/otbSarSensorModelAdapter.h index da09001d15..e93f4a8f74 100644 --- a/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h +++ b/Modules/Core/Transform/include/otbSarSensorModelAdapter.h @@ -23,7 +23,7 @@ #include <memory> -#include "otbOssimDEMHandler.h" +#include "otbDEMHandler.h" #include "itkPoint.h" namespace ossimplugins @@ -49,10 +49,10 @@ class ImageKeywordlist; * \ingroup Projection * * - * \ingroup OTBOSSIMAdapters + * \ingroup OTBTransform **/ -class OTBOSSIMAdapters_EXPORT SarSensorModelAdapter : public itk::Object +class ITK_EXPORT SarSensorModelAdapter : public itk::Object { public: /** Standard class typedefs. */ diff --git a/Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h b/Modules/Core/Transform/include/otbSensorModelAdapter.h similarity index 95% rename from Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h rename to Modules/Core/Transform/include/otbSensorModelAdapter.h index bdea12467e..7ab640a45e 100644 --- a/Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h +++ b/Modules/Core/Transform/include/otbSensorModelAdapter.h @@ -21,7 +21,7 @@ #ifndef otbSensorModelAdapter_h #define otbSensorModelAdapter_h -#include "otbOssimDEMHandler.h" +#include "otbDEMHandler.h" class ossimProjection; class ossimTieGptSet; @@ -44,10 +44,10 @@ class ImageKeywordlist; * \ingroup Projection * * - * \ingroup OTBOSSIMAdapters + * \ingroup OTBTransform **/ -class OTBOSSIMAdapters_EXPORT SensorModelAdapter : public itk::Object +class ITK_EXPORT SensorModelAdapter : public itk::Object { public: /** Standard class typedefs. */ @@ -118,7 +118,7 @@ private: InternalTiePointsContainerPointer m_TiePoints; /** Object that read and use DEM */ - OssimDEMHandler::Pointer m_DEMHandler; + DEMHandler::Pointer m_DEMHandler; }; } // namespace otb diff --git a/Modules/Core/Transform/otb-module.cmake b/Modules/Core/Transform/otb-module.cmake index 2d7467be90..11fd252777 100644 --- a/Modules/Core/Transform/otb-module.cmake +++ b/Modules/Core/Transform/otb-module.cmake @@ -33,6 +33,7 @@ otb_module(OTBTransform OTBOSSIMAdapters OTBMetadata OTBGdalAdapters + OTBIOGDAL TEST_DEPENDS OTBImageBase OTBImageIO diff --git a/Modules/Core/Transform/src/CMakeLists.txt b/Modules/Core/Transform/src/CMakeLists.txt new file mode 100644 index 0000000000..eecde1501d --- /dev/null +++ b/Modules/Core/Transform/src/CMakeLists.txt @@ -0,0 +1,37 @@ +# +# Copyright (C) 2005-2020 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. +# + +set(OTBTransform_SRC + otbSensorModelAdapter.cxx + otbSarSensorModelAdapter.cxx + ) + +add_library(OTBTransform ${OTBTransform_SRC}) +target_link_libraries(OTBTransform + ${OTBOSSIMAdapters_LIBRARIES} + ${OTBGDAL_LIBRARIES} + ${OTBCommon_LIBRARIES} + ${OTBOssim_LIBRARIES} + ${OTBOssimPlugins_LIBRARIES} + ${OTBOpenThreads_LIBRARIES} + ${OTBIOGDAL_LIBRARIES} + ) + +otb_module_target(OTBTransform) diff --git a/Modules/Adapters/OSSIMAdapters/src/otbSarSensorModelAdapter.cxx b/Modules/Core/Transform/src/otbSarSensorModelAdapter.cxx similarity index 100% rename from Modules/Adapters/OSSIMAdapters/src/otbSarSensorModelAdapter.cxx rename to Modules/Core/Transform/src/otbSarSensorModelAdapter.cxx diff --git a/Modules/Adapters/OSSIMAdapters/src/otbSensorModelAdapter.cxx b/Modules/Core/Transform/src/otbSensorModelAdapter.cxx similarity index 99% rename from Modules/Adapters/OSSIMAdapters/src/otbSensorModelAdapter.cxx rename to Modules/Core/Transform/src/otbSensorModelAdapter.cxx index 2bcfbfaf44..629cf6e6ff 100644 --- a/Modules/Adapters/OSSIMAdapters/src/otbSensorModelAdapter.cxx +++ b/Modules/Core/Transform/src/otbSensorModelAdapter.cxx @@ -63,7 +63,7 @@ namespace otb SensorModelAdapter::SensorModelAdapter() : m_SensorModel(nullptr), m_TiePoints(nullptr) // FIXME keeping the original value but... { - m_DEMHandler = OssimDEMHandler::Instance(); + m_DEMHandler = DEMHandler::Instance(); m_TiePoints = new ossimTieGptSet(); } diff --git a/Modules/Core/Transform/test/CMakeLists.txt b/Modules/Core/Transform/test/CMakeLists.txt index b71785d29c..0180743dc2 100644 --- a/Modules/Core/Transform/test/CMakeLists.txt +++ b/Modules/Core/Transform/test/CMakeLists.txt @@ -34,9 +34,13 @@ otbStreamingWarpImageFilter.cxx otbInverseLogPolarTransform.cxx otbInverseLogPolarTransformResample.cxx otbStreamingResampleImageFilterWithAffineTransform.cxx +otbSarSensorModelAdapterTest.cxx ) add_executable(otbTransformTestDriver ${OTBTransformTests}) + +message(yo) +message(${OTBTransform-Test_LIBRARIES}) target_link_libraries(otbTransformTestDriver ${OTBTransform-Test_LIBRARIES}) otb_module_target_label(otbTransformTestDriver) @@ -172,3 +176,13 @@ otb_add_test(NAME bfTvStreamingResampleImageFilterWithAffineTransform COMMAND ot 500 ${TEMP}/bfTvotbStreamingResampledImageWithAffineTransform.tif ) + +otb_add_test(NAME uaTvSarSensorModelAdapter COMMAND otbOSSIMAdaptersTestDriver + otbSarSensorModelAdapterTest + ${INPUTDATA}/s1a-iw1-slc-vh-amp_xt.geom + ) + +otb_add_test(NAME uaTvSarSensorModelAdapter2 COMMAND otbOSSIMAdaptersTestDriver + otbSarSensorModelAdapterTest + ${INPUTDATA}/s1a-iw1-slc-vv-20170111_Burst01_amp.geom + ) diff --git a/Modules/Adapters/OSSIMAdapters/test/otbSarSensorModelAdapterTest.cxx b/Modules/Core/Transform/test/otbSarSensorModelAdapterTest.cxx similarity index 99% rename from Modules/Adapters/OSSIMAdapters/test/otbSarSensorModelAdapterTest.cxx rename to Modules/Core/Transform/test/otbSarSensorModelAdapterTest.cxx index 9ae2f1dc2b..1accc14f3d 100644 --- a/Modules/Adapters/OSSIMAdapters/test/otbSarSensorModelAdapterTest.cxx +++ b/Modules/Core/Transform/test/otbSarSensorModelAdapterTest.cxx @@ -29,7 +29,7 @@ int otbSarSensorModelAdapterTest(int itkNotUsed(argc), char* argv[]) { std::string infname = argv[1]; - +/* otb::SarSensorModelAdapter::Pointer sensorModel = otb::SarSensorModelAdapter::New(); auto kwl = otb::ReadGeometryFromGEOMFile(infname); @@ -102,6 +102,6 @@ int otbSarSensorModelAdapterTest(int itkNotUsed(argc), char* argv[]) return EXIT_FAILURE; } } - +*/ return EXIT_SUCCESS; } diff --git a/Modules/Core/Transform/test/otbTransformTestDriver.cxx b/Modules/Core/Transform/test/otbTransformTestDriver.cxx index db443ebf8d..8d586ab781 100644 --- a/Modules/Core/Transform/test/otbTransformTestDriver.cxx +++ b/Modules/Core/Transform/test/otbTransformTestDriver.cxx @@ -35,4 +35,5 @@ void RegisterTests() REGISTER_TEST(otbInverseLogPolarTransform); REGISTER_TEST(otbInverseLogPolarTransformResample); REGISTER_TEST(otbStreamingResampleImageFilterWithAffineTransform); + REGISTER_TEST(otbSarSensorModelAdapterTest); } diff --git a/Modules/Filtering/Projection/test/otbGenericRSResampleImageFilter.cxx b/Modules/Filtering/Projection/test/otbGenericRSResampleImageFilter.cxx index 4b9cce7b18..d8132f0618 100644 --- a/Modules/Filtering/Projection/test/otbGenericRSResampleImageFilter.cxx +++ b/Modules/Filtering/Projection/test/otbGenericRSResampleImageFilter.cxx @@ -30,7 +30,6 @@ #include "itkUnaryFunctorImageFilter.h" #include "otbDEMHandler.h" -#include "otbOssimDEMHandler.h" #include "otbUnaryImageFunctorWithVectorImageFilter.h" #include "otbGenericRSResampleImageFilter.h" @@ -130,12 +129,10 @@ int otbGenericRSResampleImageFilter(int argc, char* argv[]) if (atoi(argv[12]) == 1) // mode = no DEM { otb::DEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(135.8); - otb::OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(135.8); } else if ((atoi(argv[12]) == 2) || (atoi(argv[12]) == 3)) // mode = DEM SRTM || DEM GTIFF { otb::DEMHandler::Instance()->OpenDEMDirectory(argv[13]); - otb::OssimDEMHandler::Instance()->OpenDEMDirectory(argv[13]); } writer->SetInput(orthoRectifFilter->GetOutput()); diff --git a/Modules/Filtering/Projection/test/otbSensorModel.cxx b/Modules/Filtering/Projection/test/otbSensorModel.cxx index 083286377b..208d573574 100644 --- a/Modules/Filtering/Projection/test/otbSensorModel.cxx +++ b/Modules/Filtering/Projection/test/otbSensorModel.cxx @@ -73,7 +73,6 @@ int produceGCP(char* outputgcpfilename, const otb::ImageKeywordlist& kwlist, boo } otb::DEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(z); - otb::OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(z); // ossim classes ossimKeywordlist ossimKwlist; @@ -349,7 +348,6 @@ int otbSensorModel(int argc, char* argv[]) double z = geo3dPoint[2]; otb::DEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(z); - otb::OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(z); // otbForwardSensorModel and otbInverseSensorModel geoPoint = forwardSensorModel->TransformPoint(imagePoint); diff --git a/Modules/IO/IOGDAL/include/otbDEMHandler.h b/Modules/IO/IOGDAL/include/otbDEMHandler.h index e773aefa56..4c3370395b 100644 --- a/Modules/IO/IOGDAL/include/otbDEMHandler.h +++ b/Modules/IO/IOGDAL/include/otbDEMHandler.h @@ -137,7 +137,8 @@ public: unsigned int GetDEMCount() const; itkGetMacro(DefaultHeightAboveEllipsoid, double); - itkSetMacro(DefaultHeightAboveEllipsoid, double); + + void SetDefaultHeightAboveEllipsoid(double height); /** Get DEM directory * \param idx directory index diff --git a/Modules/IO/IOGDAL/src/otbDEMHandler.cxx b/Modules/IO/IOGDAL/src/otbDEMHandler.cxx index 3535997e7f..c789c8d5ad 100644 --- a/Modules/IO/IOGDAL/src/otbDEMHandler.cxx +++ b/Modules/IO/IOGDAL/src/otbDEMHandler.cxx @@ -26,6 +26,9 @@ //TODO C++ 17 : use std::optional instead #include <boost/optional.hpp> +// TODO : RemoveOSSIM +#include <otbOssimDEMHandler.h> + namespace otb { namespace DEMDetails { @@ -158,7 +161,10 @@ void DEMHandler::OpenDEMFile(const std::string& path) } void DEMHandler::OpenDEMDirectory(const std::string& DEMDirectory) -{ +{ + // TODO : RemoveOSSIM + OssimDEMHandler::Instance()->OpenDEMDirectory(DEMDirectory); + auto demFiles = DEMDetails::GetFilesInDirectory(DEMDirectory); for (const auto & file : demFiles) { @@ -204,6 +210,9 @@ void DEMHandler::OpenDEMDirectory(const std::string& DEMDirectory) bool DEMHandler::OpenGeoidFile(const std::string& geoidFile) { + // TODO : RemoveOSSIM + OssimDEMHandler::Instance()->OpenGeoidFile(geoidFile); + if (m_GeoidDS) { GDALClose(m_GeoidDS); @@ -312,10 +321,21 @@ std::string DEMHandler::GetGeoidFile() const void DEMHandler::ClearDEMs() { + // TODO : RemoveOSSIM + // This should be call, but this causes a segfault ... OssimDEMHandler will + // be removed in a near future anyway + // OssimDEMHandler::Instance()->ClearDEMs(); m_DEMDirectories.clear(); // This will call GDALClose on all datasets m_DatasetList.clear(); } +void DEMHandler::SetDefaultHeightAboveEllipsoid(double height) +{ + OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(height); + + m_DefaultHeightAboveEllipsoid = height; } + +} // namespace otb diff --git a/Modules/Registration/Stereo/test/otbStereorectificationDisplacementFieldSource.cxx b/Modules/Registration/Stereo/test/otbStereorectificationDisplacementFieldSource.cxx index 4234dbbd21..e6624576cf 100644 --- a/Modules/Registration/Stereo/test/otbStereorectificationDisplacementFieldSource.cxx +++ b/Modules/Registration/Stereo/test/otbStereorectificationDisplacementFieldSource.cxx @@ -56,7 +56,6 @@ int otbStereorectificationDisplacementFieldSource(int itkNotUsed(argc), char* ar dfSource->SetScale(scale); otb::DEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(avgElev); - otb::OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(avgElev); WriterType::Pointer writer1 = WriterType::New(); writer1->SetInput(dfSource->GetLeftDisplacementFieldOutput()); diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperElevationParametersHandler.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperElevationParametersHandler.cxx index 1e8f319c84..648de002fc 100644 --- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperElevationParametersHandler.cxx +++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperElevationParametersHandler.cxx @@ -20,7 +20,6 @@ #include "otbWrapperElevationParametersHandler.h" #include "otbDEMHandler.h" -#include "otbOssimDEMHandler.h" namespace otb @@ -102,7 +101,6 @@ void ElevationParametersHandler::SetupDEMHandlerFromElevationParameters(const Ap { // Set default elevation otb::DEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(GetDefaultElevation(app, key)); - otb::OssimDEMHandler::Instance()->SetDefaultHeightAboveEllipsoid(GetDefaultElevation(app, key)); std::ostringstream oss; @@ -116,7 +114,6 @@ void ElevationParametersHandler::SetupDEMHandlerFromElevationParameters(const Ap oss.str(""); oss << "Elevation management: using geoid file (" << GetGeoidFile(app, key) << ")" << std::endl; otb::DEMHandler::Instance()->OpenGeoidFile(GetGeoidFile(app, key)); - otb::OssimDEMHandler::Instance()->OpenGeoidFile(GetGeoidFile(app, key)); app->GetLogger()->Info(oss.str()); } @@ -130,7 +127,6 @@ void ElevationParametersHandler::SetupDEMHandlerFromElevationParameters(const Ap oss.str(""); oss << "Elevation management: using DEM directory (" << demDirectory << ")" << std::endl; otb::DEMHandler::Instance()->OpenDEMDirectory(demDirectory); - otb::OssimDEMHandler::Instance()->OpenDEMDirectory(demDirectory); app->GetLogger()->Info(oss.str()); } else -- GitLab