Commit dc0d5533 authored by Ian Humphrey's avatar Ian Humphrey
Browse files

Exceptions that occur during jigsaw's bundle adjustment will now be displayed...

Exceptions that occur during jigsaw's bundle adjustment will now be displayed as pop-up dialogs when in GUI mode. Fixes #4483.

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/branches/ipce@7243 41f8697f-d340-4b68-9986-7bafba869bb8
parent 2db26063
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -74,8 +74,6 @@ void IsisMain() {

    QObject::connect( bundleAdjustment, SIGNAL( statusUpdate(QString) ),
                      bundleAdjustment, SLOT( outputBundleStatus(QString) ) );
    QObject::connect( bundleAdjustment, SIGNAL( bundleException(QString) ),
                      bundleAdjustment, SLOT( outputBundleStatus(QString) ) );
    BundleSolutionInfo bundleSolution = bundleAdjustment->solveCholeskyBR();
    
    cout << "\nGenerating report files\n" << endl;
+4 −0
Original line number Diff line number Diff line
@@ -239,6 +239,10 @@
    <change name="Makayla Shepherd" date="2016-10-26"> 
      Removed the underscores from the new parameters IMAGESCSV and TBPARAMETERS.
    </change>
    <change name="Ian Humphrey" date="2016-11-16">
      Exceptions that occur during the solving of the bundle adjustment will now pop up as
      message boxes when running jigsaw in GUI mode. Fixes #4483.
    </change>
  </history>

  <groups>
+5 −3
Original line number Diff line number Diff line
@@ -633,6 +633,9 @@ namespace Isis {
   *                           ISIS production's jigsaw std output. References #4463."
   *   @history 2016-10-28 Ian Humphrey - Updated spacing for Error Propagation Complete message.
   *                           References #4463."
   *   @history 2016-11-16 Ian Humphrey - Modified catch block to throw the caught exception, so
   *                           a message box will appear to the user when running jigsaw in GUI
   *                           mode. Fixes #4483.
   */
  bool BundleAdjust::solveCholesky() {
    try {
@@ -909,12 +912,11 @@ namespace Isis {
      iterationSummary();
    }
    catch (IException &e) {
      QString exceptionStr = e.what();
      emit bundleException(exceptionStr);
      m_bundleResults.setConverged(false);
      emit statusUpdate("\n aborting...");
      emit finished();
      return false;
      QString msg = "Could not solve bundle adjust.";
      throw IException(e, e.errorType(), msg, _FILEINFO_);
    }

    return true;
+2 −1
Original line number Diff line number Diff line
@@ -263,6 +263,8 @@ namespace Isis {
   *   @history 2016-10-28 Ian Humphrey - Modified solveCholesky() and errorPropagation() to change
   *                           spacing in terminal output, so that it matches production.
   *                           References #4463.
   *   @history 2016-11-16 Ian Humphrey - Modified solveCholesky() to throw caught exceptions that
   *                           occur. Removed bundleException(QString) signal. Fixes #4483.
   */
  class BundleAdjust : public QObject {
      Q_OBJECT
@@ -315,7 +317,6 @@ namespace Isis {
      void statusUpdate(QString);
      void error(QString);
      void iterationUpdate(int, double);
      void bundleException(QString);
      void resultsReady(BundleSolutionInfo *bundleSolveInformation);
      void finished();