From b5369cc79eccc625419d37bb97a5361731fd8f0f Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 6 Oct 2020 22:15:31 +0200 Subject: Add a AuthorityFactory::createDatumEnsemble() method, and make it inherit from ObjectUsage as mandated by ISO 19111:2019 --- include/proj/datum.hpp | 2 +- include/proj/io.hpp | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/proj/datum.hpp b/include/proj/datum.hpp index f1d45c6b..35b8576e 100644 --- a/include/proj/datum.hpp +++ b/include/proj/datum.hpp @@ -125,7 +125,7 @@ using DatumEnsembleNNPtr = util::nn; * * \remark Implements DatumEnsemble from \ref ISO_19111_2019 */ -class PROJ_GCC_DLL DatumEnsemble final : public common::IdentifiedObject, +class PROJ_GCC_DLL DatumEnsemble final : public common::ObjectUsage, public io::IJSONExportable { public: //! @cond Doxygen_Suppress diff --git a/include/proj/io.hpp b/include/proj/io.hpp index 19ed292d..b4db0ef7 100644 --- a/include/proj/io.hpp +++ b/include/proj/io.hpp @@ -71,6 +71,10 @@ class Datum; using DatumPtr = std::shared_ptr; using DatumNNPtr = util::nn; +class DatumEnsemble; +using DatumEnsemblePtr = std::shared_ptr; +using DatumEnsembleNNPtr = util::nn; + class Ellipsoid; using EllipsoidPtr = std::shared_ptr; using EllipsoidNNPtr = util::nn; @@ -930,6 +934,10 @@ class PROJ_GCC_DLL AuthorityFactory { PROJ_DLL datum::DatumNNPtr createDatum(const std::string &code) const; + PROJ_DLL datum::DatumEnsembleNNPtr + createDatumEnsemble(const std::string &code, + const std::string &type = std::string()) const; + PROJ_DLL datum::GeodeticReferenceFrameNNPtr createGeodeticDatum(const std::string &code) const; -- cgit v1.2.3