Commit 6cc5e456 authored by Jesse Mapel's avatar Jesse Mapel
Browse files

Fixed unhandled CHOLMOD error in BundleAdjust error propagation. Fixes #2302.

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/branches/ipce@7039 41f8697f-d340-4b68-9986-7bafba869bb8
parent efc9425e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -33,6 +33,10 @@
#include <QDebug>
#include <QPair>

// Prevent Boost from outputing debug information to
// standard error when throwing exceptions.
#define BOOST_UBLAS_NO_STD_CERR

namespace Isis {
  class Angle;
  class Distance;
@@ -63,6 +67,9 @@ namespace Isis {
   *   @history 2013-08-07 Kimberly Oyama - Updated documentation.
   *   @history 2016-07-25 Jeannie Backer - Updated documentation and test.
   *   @history 2016-08-05 Jeannie Backer - Replace std abs() function with qAbs() from QtGlobal.
   *   @history 2016-08-16 Jesse Mapel - Added BOOST_UBLAS_NO_STD_CERR definition to
   *                           prevent Boost from outputing debug information to standard out
   *                           when throwing exceptions.  Fixes #2302.
   *  
   *  
   *   @todo document methods (a) add naif routine names to documentation where appropriate,
+2 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ void IsisMain() {

    QObject::connect( bundleAdjustment, SIGNAL( statusUpdate(QString) ),
                      bundleAdjustment, SLOT( outputBundleStatus(QString) ) );
    QObject::connect( bundleAdjustment, SIGNAL( bundleException(QString) ),
                      bundleAdjustment, SLOT( outputBundleStatus(QString) ) );
    bundleAdjustment->solveCholesky();
    
    // write updated control net if bundle has converged
+3 −0
Original line number Diff line number Diff line
@@ -188,6 +188,9 @@
    <change name="Ken Edmundson" date="2015-09-05">
      Added preliminary target body functionality. Added SOLVETARGETBODY and TB_PARAMETERS.
    </change>
    <change name="Jesse Mapel" date="2016-08-16">
      Added a connection to allow jigsaw to surface exceptions from BundleAdjust.  Fixes #2302
    </change>
    <change name="Jeannie Backer" date="2016-08-18">
      Removed the user parameter called METHOD (i.e. the method used for solving the bundle matrix). 
      This solve method is no longer user-selected. The program will now use what was called the SPARSE option
+9 −1
Original line number Diff line number Diff line
@@ -2916,8 +2916,16 @@ namespace Isis {
            T += trans(T);
          }

          try {
            cv += T;
          }
          catch (std::exception &e) {
            printf("\n\n");
            QString msg = "Input data and settings are not sufficiently stable "
                          "for error propagation.";
            throw IException(IException::User, msg, _FILEINFO_);
          }
        }
        nPointIndex++;
      }
    }
+2 −0
Original line number Diff line number Diff line
@@ -216,6 +216,8 @@ namespace Isis {
   *                           only add non-ignored ControlPoints to the BundleControlPoint, and
   *                           we only add non-ignored ControlMeasures to the BundleControlPoint.
   *                           Fixes #4173, #4201.
   *   @history 2016-08-16 Jesse Mapel - Added error throw when covariance matrices are not
   *                           symmetric due to unstable data and settings.  Fixes #2302.
   *   @history 2016-08-17 Jesse Mapel - Moved all method implementations to the cpp file.
   *                           Fixes #4185.
   *   @history 2016-08-18 Jeannie Backer - Removed all references to deprecated solve methods