Loading csmapi.i +1 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,4 @@ %include "geometricmodel.i" %include "rastergm.i" %include "plugin.i" %include "settableellipsoid.i" fixture/model.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -483,3 +483,12 @@ std::vector<double> FixtureSensorModel::getCrossCovarianceMatrix( "Unsupported function", "FixtureSensorModel::getCrossCovarianceMatrix"); } csm::Ellipsoid FixtureSensorModel::getEllipsoid() const { return csm::Ellipsoid(m_majorAxis, m_minorAxis); } void FixtureSensorModel::setEllipsoid(const csm::Ellipsoid &ellipsoid) { m_majorAxis = ellipsoid.getSemiMajorRadius(); m_minorAxis = ellipsoid.getSemiMinorRadius(); } fixture/model.h +10 −5 Original line number Diff line number Diff line Loading @@ -189,6 +189,9 @@ public: virtual void replaceModelState(const std::string& argState); virtual csm::Ellipsoid getEllipsoid() const; virtual void setEllipsoid(const csm:: Ellipsoid &ellipsoid); private: Loading @@ -199,5 +202,7 @@ private: double desiredPrecision = 0.001, double* achievedPrecision = NULL, csm::WarningList* warnings = NULL) const; double m_minorAxis; double m_majorAxis; }; #endif python/tests/test_model.py +4 −1 Original line number Diff line number Diff line Loading @@ -58,3 +58,6 @@ def test_bad_ground_to_image(model): with pytest.warns(Warning) as w: img = model.groundToImage(gnd_coord, 0) assert len(w) == 1 def test_ellipsoid_is_settable(model): assert isinstance(csmapi.SettableEllipsoid.getEllipsoid(model), csmapi.Ellipsoid) settableellipsoid.i 0 → 100644 +6 −0 Original line number Diff line number Diff line %module(package="csmapi") settableellipsoid %{ #include "SettableEllipsoid.h" %} %include "SettableEllipsoid.h" Loading
csmapi.i +1 −0 Original line number Diff line number Diff line Loading @@ -8,3 +8,4 @@ %include "geometricmodel.i" %include "rastergm.i" %include "plugin.i" %include "settableellipsoid.i"
fixture/model.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -483,3 +483,12 @@ std::vector<double> FixtureSensorModel::getCrossCovarianceMatrix( "Unsupported function", "FixtureSensorModel::getCrossCovarianceMatrix"); } csm::Ellipsoid FixtureSensorModel::getEllipsoid() const { return csm::Ellipsoid(m_majorAxis, m_minorAxis); } void FixtureSensorModel::setEllipsoid(const csm::Ellipsoid &ellipsoid) { m_majorAxis = ellipsoid.getSemiMajorRadius(); m_minorAxis = ellipsoid.getSemiMinorRadius(); }
fixture/model.h +10 −5 Original line number Diff line number Diff line Loading @@ -189,6 +189,9 @@ public: virtual void replaceModelState(const std::string& argState); virtual csm::Ellipsoid getEllipsoid() const; virtual void setEllipsoid(const csm:: Ellipsoid &ellipsoid); private: Loading @@ -199,5 +202,7 @@ private: double desiredPrecision = 0.001, double* achievedPrecision = NULL, csm::WarningList* warnings = NULL) const; double m_minorAxis; double m_majorAxis; }; #endif
python/tests/test_model.py +4 −1 Original line number Diff line number Diff line Loading @@ -58,3 +58,6 @@ def test_bad_ground_to_image(model): with pytest.warns(Warning) as w: img = model.groundToImage(gnd_coord, 0) assert len(w) == 1 def test_ellipsoid_is_settable(model): assert isinstance(csmapi.SettableEllipsoid.getEllipsoid(model), csmapi.Ellipsoid)
settableellipsoid.i 0 → 100644 +6 −0 Original line number Diff line number Diff line %module(package="csmapi") settableellipsoid %{ #include "SettableEllipsoid.h" %} %include "SettableEllipsoid.h"