21 #ifndef otbDEMHandler_h
22 #define otbDEMHandler_h
291 mutable std::vector<std::shared_ptr<DEMHandlerTLS>>
m_tlses;
Single access point for DEM data retrieval.
bool OpenGeoidFile(std::string geoidFile)
std::vector< std::string > m_DEMDirectories
double GetHeightAboveMSL(const PointType &geoPoint) const
std::vector< otb::GDALDatasetWrapper::Pointer > m_DatasetList
DEMHandlerTLS const & GetHandlerForCurrentThread() const
std::vcl_size_t GetDEMCount() const noexcept
double GetGeoidHeight(const PointType &geoPoint) const
static DEMHandler & GetInstance()
static constexpr char const * DEM_WARPED_DATASET_PATH
double GetHeightAboveEllipsoid(const PointType &geoPoint) const
void Notify() const override
std::vector< std::shared_ptr< DEMHandlerTLS > > m_tlses
itk::Point< double, 2 > PointType
std::shared_ptr< DEMHandlerTLS > DoFetchOrCreateHandler() const
void DetachObserver(DEMObserverInterface *observer) override
std::string const & GetDEMDirectory(std::vcl_size_t idx=0) const
bool IsValidDEMDirectory(const std::string &DEMDirectory) const
double GetDefaultHeightAboveEllipsoid() const noexcept
void RegisterConfigurationInHandler(DEMHandlerTLS &handler) const
std::vcl_size_t GetNumberOfDEMDirectories() const noexcept
double m_DefaultHeightAboveEllipsoid
double GetHeightAboveMSL(double lon, double lat) const
static constexpr char const * DEM_DATASET_PATH
double GetGeoidHeight(double lon, double lat) const
void ClearElevationParameters()
double GetHeightAboveEllipsoid(double lon, double lat) const
void AttachObserver(DEMObserverInterface *observer) override
static constexpr char const * DEM_SHIFTED_DATASET_PATH
void OpenDEMDirectory(std::string DEMDirectory)
void OpenDEMFile(std::string path)
std::string m_GeoidFilename
std::list< DEMObserverInterface * > m_ObserverList
void operator=(const Self &)=delete
void SetDefaultHeightAboveEllipsoid(double height)
std::string const & GetGeoidFile() const noexcept
DEMHandler(const Self &)=delete
Observer design pattern to keep track of DEM configuration changes.
DEMObserverInterface()=default
DEMObserverInterface(DEMObserverInterface const &)=delete
~DEMObserverInterface()=default
DEMObserverInterface & operator=(DEMObserverInterface const &)=delete
Observer design pattern to keep track of DEM configuration changes.
~DEMSubjectInterface()=default
virtual void DetachObserver(DEMObserverInterface *observer)=0
virtual void Notify() const =0
DEMSubjectInterface(DEMSubjectInterface const &)=delete
virtual void AttachObserver(DEMObserverInterface *observer)=0
DEMSubjectInterface()=default
DEMSubjectInterface & operator=(DEMSubjectInterface const &)=delete
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
double GetHeightAboveMSL(DEMHandlerTLS const &, double lon, double lat)
double GetHeightAboveEllipsoid(DEMHandlerTLS const &, double lon, double lat)
double GetGeoidHeight(DEMHandlerTLS const &, double lon, double lat)