aboutsummaryrefslogtreecommitdiff
path: root/include/proj/coordinatesystem.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/proj/coordinatesystem.hpp')
-rw-r--r--include/proj/coordinatesystem.hpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/proj/coordinatesystem.hpp b/include/proj/coordinatesystem.hpp
index 89c2f99c..a301adab 100644
--- a/include/proj/coordinatesystem.hpp
+++ b/include/proj/coordinatesystem.hpp
@@ -208,6 +208,9 @@ class PROJ_GCC_DLL CoordinateSystemAxis final
PROJ_INTERNAL static CoordinateSystemAxisNNPtr
createLONG_EAST(const common::UnitOfMeasure &unit);
+ PROJ_INTERNAL CoordinateSystemAxisNNPtr
+ alterUnit(const common::UnitOfMeasure &newUnit) const;
+
//! @endcond
private:
@@ -372,6 +375,13 @@ class PROJ_GCC_DLL EllipsoidalCS final : public CoordinateSystem {
};
PROJ_INTERNAL AxisOrder axisOrder() const;
+
+ PROJ_INTERNAL EllipsoidalCSNNPtr
+ alterAngularUnit(const common::UnitOfMeasure &angularUnit) const;
+
+ PROJ_INTERNAL EllipsoidalCSNNPtr
+ alterLinearUnit(const common::UnitOfMeasure &linearUnit) const;
+
//! @endcond
protected:
@@ -416,6 +426,13 @@ class PROJ_GCC_DLL VerticalCS final : public CoordinateSystem {
PROJ_DLL static VerticalCSNNPtr
createGravityRelatedHeight(const common::UnitOfMeasure &unit);
+ PROJ_PRIVATE :
+ //! @cond Doxygen_Suppress
+ PROJ_INTERNAL VerticalCSNNPtr
+ alterUnit(const common::UnitOfMeasure &unit) const;
+
+ //! @endcond
+
protected:
PROJ_INTERNAL explicit VerticalCS(const CoordinateSystemAxisNNPtr &axisIn);
INLINED_MAKE_SHARED
@@ -460,11 +477,23 @@ class PROJ_GCC_DLL CartesianCS final : public CoordinateSystem {
const CoordinateSystemAxisNNPtr &axis1,
const CoordinateSystemAxisNNPtr &axis2,
const CoordinateSystemAxisNNPtr &axis3);
+
PROJ_DLL static CartesianCSNNPtr
createEastingNorthing(const common::UnitOfMeasure &unit);
+
+ PROJ_DLL static CartesianCSNNPtr
+ createNorthingEasting(const common::UnitOfMeasure &unit);
+
PROJ_DLL static CartesianCSNNPtr
createGeocentric(const common::UnitOfMeasure &unit);
+ PROJ_PRIVATE :
+ //! @cond Doxygen_Suppress
+ PROJ_INTERNAL CartesianCSNNPtr
+ alterUnit(const common::UnitOfMeasure &unit) const;
+
+ //! @endcond
+
protected:
PROJ_INTERNAL explicit CartesianCS(
const std::vector<CoordinateSystemAxisNNPtr> &axisIn);