diff options
Diffstat (limited to 'include/proj/datum.hpp')
| -rw-r--r-- | include/proj/datum.hpp | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/include/proj/datum.hpp b/include/proj/datum.hpp index b7416497..a26c94b9 100644 --- a/include/proj/datum.hpp +++ b/include/proj/datum.hpp @@ -61,7 +61,8 @@ namespace datum { * * \remark Implements Datum from \ref ISO_19111_2019 */ -class PROJ_GCC_DLL Datum : public common::ObjectUsage { +class PROJ_GCC_DLL Datum : public common::ObjectUsage, + public io::IJSONExportable { public: //! @cond Doxygen_Suppress PROJ_DLL ~Datum() override; @@ -117,7 +118,8 @@ using DatumEnsembleNNPtr = util::nn<DatumEnsemblePtr>; * * \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::IdentifiedObject, + public io::IJSONExportable { public: //! @cond Doxygen_Suppress PROJ_DLL ~DatumEnsemble() override; @@ -135,6 +137,9 @@ class PROJ_GCC_DLL DatumEnsemble final : public common::IdentifiedObject { //! @cond Doxygen_Suppress PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(io::FormattingException) //! @endcond protected: @@ -171,7 +176,8 @@ using PrimeMeridianNNPtr = util::nn<PrimeMeridianPtr>; * \remark Implements PrimeMeridian from \ref ISO_19111_2019 */ class PROJ_GCC_DLL PrimeMeridian final : public common::IdentifiedObject, - public io::IPROJStringExportable { + public io::IPROJStringExportable, + public io::IJSONExportable { public: //! @cond Doxygen_Suppress PROJ_DLL ~PrimeMeridian() override; @@ -198,6 +204,9 @@ class PROJ_GCC_DLL PrimeMeridian final : public common::IdentifiedObject, PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(io::FormattingException) + PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = @@ -243,7 +252,8 @@ using EllipsoidNNPtr = util::nn<EllipsoidPtr>; * \remark Implements Ellipsoid from \ref ISO_19111_2019 */ class PROJ_GCC_DLL Ellipsoid final : public common::IdentifiedObject, - public io::IPROJStringExportable { + public io::IPROJStringExportable, + public io::IJSONExportable { public: //! @cond Doxygen_Suppress PROJ_DLL ~Ellipsoid() override; @@ -300,6 +310,9 @@ class PROJ_GCC_DLL Ellipsoid final : public common::IdentifiedObject, _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(io::FormattingException) + PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = @@ -399,6 +412,9 @@ class PROJ_GCC_DLL GeodeticReferenceFrame : public Datum { PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(FormattingException) + PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = @@ -554,7 +570,11 @@ class PROJ_GCC_DLL VerticalReferenceFrame : public Datum { PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) - //! @endcond + + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(FormattingException) + + //! @endcond protected: #ifdef DOXYGEN_ENABLED @@ -668,6 +688,9 @@ class PROJ_GCC_DLL TemporalDatum final : public Datum { PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(FormattingException) + PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = @@ -716,6 +739,9 @@ class PROJ_GCC_DLL EngineeringDatum final : public Datum { PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(FormattingException) + PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = @@ -760,6 +786,9 @@ class PROJ_GCC_DLL ParametricDatum final : public Datum { PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) + PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) + const override; // throw(FormattingException) + PROJ_INTERNAL bool _isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = |
