Loading include/usgscsm/UsgsAstroFrameSensorModel.h +6 −9 Original line number Diff line number Diff line Loading @@ -301,15 +301,12 @@ class UsgsAstroFrameSensorModel : public csm::RasterGM { protected: FRIEND_TEST(FramerParameterizedTest,JacobianTest); FRIEND_TEST(FrameIsdTest, setFocalPlane1); FRIEND_TEST(FrameIsdTest, Jacobian1); FRIEND_TEST(FrameIsdTest, setFocalPlane_AllCoefficientsOne); FRIEND_TEST(FrameIsdTest, distortMe_AllCoefficientsOne); FRIEND_TEST(FrameIsdTest, setFocalPlane_AlternatingOnes); FRIEND_TEST(FrameIsdTest, distortMe_AlternatingOnes); FRIEND_TEST(FrameIsdTest, FL500_OffBody4); FRIEND_TEST(FrameIsdTest, FL500_OffBody3); FRIEND_TEST(FrameIsdTest, FL500_Center); FRIEND_TEST(FrameSensorModel, setFocalPlane1); FRIEND_TEST(FrameSensorModel, Jacobian1); FRIEND_TEST(FrameSensorModel, setFocalPlane_AllCoefficientsOne); FRIEND_TEST(FrameSensorModel, distortMe_AllCoefficientsOne); FRIEND_TEST(FrameSensorModel, setFocalPlane_AlternatingOnes); FRIEND_TEST(FrameSensorModel, distortMe_AlternatingOnes); virtual bool setFocalPlane(double dx,double dy,double &undistortedX,double &undistortedY) const; virtual void distortionFunction(double ux, double uy, double &dx, double &dy) const; Loading tests/FrameCameraTests.cpp +36 −36 Original line number Diff line number Diff line Loading @@ -86,11 +86,11 @@ TEST_F(FrameSensorModel, OffBody4) { EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); } TEST_F(FrameIsdTest, setFocalPlane1) { TEST_F(FrameSensorModel, setFocalPlane1) { csm::ImageCoord imagePt(7.5, 7.5); double ux,uy; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); Loading @@ -108,10 +108,10 @@ TEST_F(FrameIsdTest, setFocalPlane1) { } TEST_F(FrameIsdTest, Jacobian1) { TEST_F(FrameSensorModel, Jacobian1) { csm::ImageCoord imagePt(7.5, 7.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0}; Loading @@ -133,10 +133,10 @@ TEST_F(FrameIsdTest, Jacobian1) { } TEST_F(FrameIsdTest, distortMe_AllCoefficientsOne) { TEST_F(FrameSensorModel, distortMe_AllCoefficientsOne) { csm::ImageCoord imagePt(7.5, 7.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}; Loading @@ -154,10 +154,10 @@ TEST_F(FrameIsdTest, distortMe_AllCoefficientsOne) { sensorModel = NULL; } TEST_F(FrameIsdTest, setFocalPlane_AllCoefficientsOne) { TEST_F(FrameSensorModel, setFocalPlane_AllCoefficientsOne) { csm::ImageCoord imagePt(1872.25, 1872.25); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}; Loading @@ -178,10 +178,10 @@ TEST_F(FrameIsdTest, setFocalPlane_AllCoefficientsOne) { } TEST_F(FrameIsdTest, distortMe_AlternatingOnes) { TEST_F(FrameSensorModel, distortMe_AlternatingOnes) { csm::ImageCoord imagePt(7.5, 7.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0}; Loading @@ -200,10 +200,10 @@ TEST_F(FrameIsdTest, distortMe_AlternatingOnes) { } TEST_F(FrameIsdTest, setFocalPlane_AlternatingOnes) { TEST_F(FrameSensorModel, setFocalPlane_AlternatingOnes) { csm::ImageCoord imagePt(963.75, 908.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0}; Loading @@ -225,11 +225,11 @@ TEST_F(FrameIsdTest, setFocalPlane_AlternatingOnes) { // Focal Length Tests: TEST_F(FrameIsdTest, FL500_OffBody4) { TEST_F(FrameSensorModel, FL500_OffBody4) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -254,11 +254,11 @@ TEST_F(FrameIsdTest, FL500_OffBody4) { } TEST_F(FrameIsdTest, FL500_OffBody3) { TEST_F(FrameSensorModel, FL500_OffBody3) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -276,11 +276,11 @@ TEST_F(FrameIsdTest, FL500_OffBody3) { } TEST_F(FrameIsdTest, FL500_Center) { TEST_F(FrameSensorModel, FL500_Center) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -298,11 +298,11 @@ TEST_F(FrameIsdTest, FL500_Center) { } TEST_F(FrameIsdTest, FL500_SlightlyOffCenter) { TEST_F(FrameSensorModel, FL500_SlightlyOffCenter) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -320,9 +320,9 @@ TEST_F(FrameIsdTest, FL500_SlightlyOffCenter) { } // Observer x position: TEST_F(FrameIsdTest, X10_SlightlyOffCenter) { TEST_F(FrameSensorModel, X10_SlightlyOffCenter) { double newValue = 10.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(0, newValue); // X ASSERT_NE(sensorModel, nullptr); Loading @@ -336,10 +336,10 @@ TEST_F(FrameIsdTest, X10_SlightlyOffCenter) { sensorModel = NULL; } TEST_F(FrameIsdTest, X1e9_SlightlyOffCenter) { TEST_F(FrameSensorModel, X1e9_SlightlyOffCenter) { double newValue = 1000000000.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(0, newValue); // X ASSERT_NE(sensorModel, nullptr); Loading @@ -356,8 +356,8 @@ TEST_F(FrameIsdTest, X1e9_SlightlyOffCenter) { // Angle rotations: TEST_F(FrameIsdTest, Rotation_omegaPi_Center) { UsgsAstroFrameSensorModel* sensorModel = createModel(isd); TEST_F(FrameSensorModel, Rotation_omegaPi_Center) { // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(3, 1.0); sensorModel->setParameterValue(4, 1.0); Loading @@ -380,8 +380,8 @@ TEST_F(FrameIsdTest, Rotation_omegaPi_Center) { } TEST_F(FrameIsdTest, Rotation_NPole_Center) { UsgsAstroFrameSensorModel* sensorModel = createModel(isd); TEST_F(FrameSensorModel, Rotation_NPole_Center) { // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(3, 0.0); sensorModel->setParameterValue(4, -1.0); sensorModel->setParameterValue(5, 0.0); Loading @@ -403,8 +403,8 @@ TEST_F(FrameIsdTest, Rotation_NPole_Center) { } TEST_F(FrameIsdTest, Rotation_SPole_Center) { UsgsAstroFrameSensorModel* sensorModel = createModel(isd); TEST_F(FrameSensorModel, Rotation_SPole_Center) { // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(4, 0.0); // phi sensorModel->setParameterValue(0, 0.0); // X sensorModel->setParameterValue(1, 0.0); // Y Loading @@ -423,11 +423,11 @@ TEST_F(FrameIsdTest, Rotation_SPole_Center) { // Ellipsoid axis tests: TEST_F(FrameIsdTest, SemiMajorAxis100x_Center) { TEST_F(FrameSensorModel, SemiMajorAxis100x_Center) { std::string key = "m_majorAxis"; double newValue = 1000.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -445,11 +445,11 @@ TEST_F(FrameIsdTest, SemiMajorAxis100x_Center) { } TEST_F(FrameIsdTest, SemiMajorAxis10x_SlightlyOffCenter) { TEST_F(FrameSensorModel, SemiMajorAxis10x_SlightlyOffCenter) { std::string key = "m_majorAxis"; double newValue = 100.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -471,11 +471,11 @@ TEST_F(FrameIsdTest, SemiMajorAxis10x_SlightlyOffCenter) { // The following test is for the scenario where the semi_minor_axis is actually larger // than the semi_major_axis: TEST_F(FrameIsdTest, SemiMinorAxis10x_SlightlyOffCenter) { TEST_F(FrameSensorModel, SemiMinorAxis10x_SlightlyOffCenter) { std::string key = "m_minorAxis"; double newValue = 100.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading Loading
include/usgscsm/UsgsAstroFrameSensorModel.h +6 −9 Original line number Diff line number Diff line Loading @@ -301,15 +301,12 @@ class UsgsAstroFrameSensorModel : public csm::RasterGM { protected: FRIEND_TEST(FramerParameterizedTest,JacobianTest); FRIEND_TEST(FrameIsdTest, setFocalPlane1); FRIEND_TEST(FrameIsdTest, Jacobian1); FRIEND_TEST(FrameIsdTest, setFocalPlane_AllCoefficientsOne); FRIEND_TEST(FrameIsdTest, distortMe_AllCoefficientsOne); FRIEND_TEST(FrameIsdTest, setFocalPlane_AlternatingOnes); FRIEND_TEST(FrameIsdTest, distortMe_AlternatingOnes); FRIEND_TEST(FrameIsdTest, FL500_OffBody4); FRIEND_TEST(FrameIsdTest, FL500_OffBody3); FRIEND_TEST(FrameIsdTest, FL500_Center); FRIEND_TEST(FrameSensorModel, setFocalPlane1); FRIEND_TEST(FrameSensorModel, Jacobian1); FRIEND_TEST(FrameSensorModel, setFocalPlane_AllCoefficientsOne); FRIEND_TEST(FrameSensorModel, distortMe_AllCoefficientsOne); FRIEND_TEST(FrameSensorModel, setFocalPlane_AlternatingOnes); FRIEND_TEST(FrameSensorModel, distortMe_AlternatingOnes); virtual bool setFocalPlane(double dx,double dy,double &undistortedX,double &undistortedY) const; virtual void distortionFunction(double ux, double uy, double &dx, double &dy) const; Loading
tests/FrameCameraTests.cpp +36 −36 Original line number Diff line number Diff line Loading @@ -86,11 +86,11 @@ TEST_F(FrameSensorModel, OffBody4) { EXPECT_NEAR(groundPt.z, -14.99325304, 1e-8); } TEST_F(FrameIsdTest, setFocalPlane1) { TEST_F(FrameSensorModel, setFocalPlane1) { csm::ImageCoord imagePt(7.5, 7.5); double ux,uy; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); Loading @@ -108,10 +108,10 @@ TEST_F(FrameIsdTest, setFocalPlane1) { } TEST_F(FrameIsdTest, Jacobian1) { TEST_F(FrameSensorModel, Jacobian1) { csm::ImageCoord imagePt(7.5, 7.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0}; Loading @@ -133,10 +133,10 @@ TEST_F(FrameIsdTest, Jacobian1) { } TEST_F(FrameIsdTest, distortMe_AllCoefficientsOne) { TEST_F(FrameSensorModel, distortMe_AllCoefficientsOne) { csm::ImageCoord imagePt(7.5, 7.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}; Loading @@ -154,10 +154,10 @@ TEST_F(FrameIsdTest, distortMe_AllCoefficientsOne) { sensorModel = NULL; } TEST_F(FrameIsdTest, setFocalPlane_AllCoefficientsOne) { TEST_F(FrameSensorModel, setFocalPlane_AllCoefficientsOne) { csm::ImageCoord imagePt(1872.25, 1872.25); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}; Loading @@ -178,10 +178,10 @@ TEST_F(FrameIsdTest, setFocalPlane_AllCoefficientsOne) { } TEST_F(FrameIsdTest, distortMe_AlternatingOnes) { TEST_F(FrameSensorModel, distortMe_AlternatingOnes) { csm::ImageCoord imagePt(7.5, 7.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0}; Loading @@ -200,10 +200,10 @@ TEST_F(FrameIsdTest, distortMe_AlternatingOnes) { } TEST_F(FrameIsdTest, setFocalPlane_AlternatingOnes) { TEST_F(FrameSensorModel, setFocalPlane_AlternatingOnes) { csm::ImageCoord imagePt(963.75, 908.5); UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state["m_odtX"] = {1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0}; Loading @@ -225,11 +225,11 @@ TEST_F(FrameIsdTest, setFocalPlane_AlternatingOnes) { // Focal Length Tests: TEST_F(FrameIsdTest, FL500_OffBody4) { TEST_F(FrameSensorModel, FL500_OffBody4) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -254,11 +254,11 @@ TEST_F(FrameIsdTest, FL500_OffBody4) { } TEST_F(FrameIsdTest, FL500_OffBody3) { TEST_F(FrameSensorModel, FL500_OffBody3) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -276,11 +276,11 @@ TEST_F(FrameIsdTest, FL500_OffBody3) { } TEST_F(FrameIsdTest, FL500_Center) { TEST_F(FrameSensorModel, FL500_Center) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -298,11 +298,11 @@ TEST_F(FrameIsdTest, FL500_Center) { } TEST_F(FrameIsdTest, FL500_SlightlyOffCenter) { TEST_F(FrameSensorModel, FL500_SlightlyOffCenter) { std::string key = "m_focalLength"; double newValue = 500.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -320,9 +320,9 @@ TEST_F(FrameIsdTest, FL500_SlightlyOffCenter) { } // Observer x position: TEST_F(FrameIsdTest, X10_SlightlyOffCenter) { TEST_F(FrameSensorModel, X10_SlightlyOffCenter) { double newValue = 10.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(0, newValue); // X ASSERT_NE(sensorModel, nullptr); Loading @@ -336,10 +336,10 @@ TEST_F(FrameIsdTest, X10_SlightlyOffCenter) { sensorModel = NULL; } TEST_F(FrameIsdTest, X1e9_SlightlyOffCenter) { TEST_F(FrameSensorModel, X1e9_SlightlyOffCenter) { double newValue = 1000000000.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(0, newValue); // X ASSERT_NE(sensorModel, nullptr); Loading @@ -356,8 +356,8 @@ TEST_F(FrameIsdTest, X1e9_SlightlyOffCenter) { // Angle rotations: TEST_F(FrameIsdTest, Rotation_omegaPi_Center) { UsgsAstroFrameSensorModel* sensorModel = createModel(isd); TEST_F(FrameSensorModel, Rotation_omegaPi_Center) { // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(3, 1.0); sensorModel->setParameterValue(4, 1.0); Loading @@ -380,8 +380,8 @@ TEST_F(FrameIsdTest, Rotation_omegaPi_Center) { } TEST_F(FrameIsdTest, Rotation_NPole_Center) { UsgsAstroFrameSensorModel* sensorModel = createModel(isd); TEST_F(FrameSensorModel, Rotation_NPole_Center) { // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(3, 0.0); sensorModel->setParameterValue(4, -1.0); sensorModel->setParameterValue(5, 0.0); Loading @@ -403,8 +403,8 @@ TEST_F(FrameIsdTest, Rotation_NPole_Center) { } TEST_F(FrameIsdTest, Rotation_SPole_Center) { UsgsAstroFrameSensorModel* sensorModel = createModel(isd); TEST_F(FrameSensorModel, Rotation_SPole_Center) { // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); sensorModel->setParameterValue(4, 0.0); // phi sensorModel->setParameterValue(0, 0.0); // X sensorModel->setParameterValue(1, 0.0); // Y Loading @@ -423,11 +423,11 @@ TEST_F(FrameIsdTest, Rotation_SPole_Center) { // Ellipsoid axis tests: TEST_F(FrameIsdTest, SemiMajorAxis100x_Center) { TEST_F(FrameSensorModel, SemiMajorAxis100x_Center) { std::string key = "m_majorAxis"; double newValue = 1000.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -445,11 +445,11 @@ TEST_F(FrameIsdTest, SemiMajorAxis100x_Center) { } TEST_F(FrameIsdTest, SemiMajorAxis10x_SlightlyOffCenter) { TEST_F(FrameSensorModel, SemiMajorAxis10x_SlightlyOffCenter) { std::string key = "m_majorAxis"; double newValue = 100.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading @@ -471,11 +471,11 @@ TEST_F(FrameIsdTest, SemiMajorAxis10x_SlightlyOffCenter) { // The following test is for the scenario where the semi_minor_axis is actually larger // than the semi_major_axis: TEST_F(FrameIsdTest, SemiMinorAxis10x_SlightlyOffCenter) { TEST_F(FrameSensorModel, SemiMinorAxis10x_SlightlyOffCenter) { std::string key = "m_minorAxis"; double newValue = 100.0; UsgsAstroFrameSensorModel* sensorModel = createModel(isd); // UsgsAstroFrameSensorModel* sensorModel = createModel(isd); std::string modelState = sensorModel->getModelState(); auto state = json::parse(modelState); state[key] = newValue; Loading