Commit 32ca3d77 authored by Ken Edmundson's avatar Ken Edmundson
Browse files

additional support for piecewise polynomials

parent a589c040
Loading
Loading
Loading
Loading
+26 −13
Original line number Diff line number Diff line
@@ -443,22 +443,35 @@ namespace Isis {
                        + observationNumber + "is null." + "\n";
          throw IException(IException::Programmer, msg, _FILEINFO_);
        }
      }

      // initialize polynomial continuity constraints for time-dependent sensors if necessary
      // TODO: let BundleObservation handle this
      int numBundleObservations = m_bundleObservations.size();
      for (int i = 0; i < numBundleObservations; i++) {
        BundleObservationQsp observation = m_bundleObservations.at(i);
        int numSpkSegments = observation->numberPolynomialPositionSegments();
        int numCkSegments = observation->numberPolynomialPointingSegments();
        if (numSpkSegments == 1 && numCkSegments == 1)
          continue;
        // initialize piecewise polynomial continuity constraints for time-dependent sensors if
        // necessary
        // TODO: can we let BundleObservation handle this?
        if (observation->numberPolynomialPositionSegments() > 1
            || observation->numberPolynomialPointingSegments() > 1) {

          BundlePolynomialContinuityConstraintQsp polyConstraint =
            BundlePolynomialContinuityConstraintQsp(new BundlePolynomialContinuityConstraint(observation));
              BundlePolynomialContinuityConstraintQsp(
                new BundlePolynomialContinuityConstraint(observation));
          observation->setContinuityConstraints(polyConstraint);
        }
      }

      // initialize polynomial continuity constraints for time-dependent sensors if necessary
      // TODO: can we let BundleObservation handle this
//      int numBundleObservations = m_bundleObservations.size();
//      for (int i = 0; i < numBundleObservations; i++) {
//        BundleObservationQsp observation = m_bundleObservations.at(i);
//        int numSpkSegments = observation->numberPolynomialPositionSegments();
//        int numCkSegments = observation->numberPolynomialPointingSegments();
//        if (numSpkSegments == 1 && numCkSegments == 1)
//          continue;

//        BundlePolynomialContinuityConstraintQsp polyConstraint =
//            BundlePolynomialContinuityConstraintQsp(
//              new BundlePolynomialContinuityConstraint(observation));
//        observation->setContinuityConstraints(polyConstraint);
//      }

      if (m_bundleSettings->solveTargetBody()) {
        m_bundleObservations.initializeBodyRotation();
+0 −1
Original line number Diff line number Diff line
@@ -277,7 +277,6 @@ namespace Isis {
    m_rmsSigmaLongitudeStats = 0.0;
    m_rmsSigmaRadiusStats = 0.0;


    // set by compute residuals
    m_rmsXResiduals = 0.0;
    m_rmsYResiduals = 0.0;
+6 −0
Original line number Diff line number Diff line
@@ -84,6 +84,12 @@ namespace Isis {
   *   @history 2017-04-24 Ian Humphrey - Removed pvlObject() method. Commented out m_id serialization
   *                           for save() (causes segfault in unit test for empty xml). Fixes #4797.
   *   @history 2017-04-27 J Bonn - Updated serialization code and tests.
   *   @history 2017-07-14 Ken Edmundson Added support for piecewise polynomials...
   *                           -members...
   *                               int m_numberContinuityConstraintEquations
   *                           -methods...
   *                               void setNumberContinuityConstraintEquations
   *                               int numberContinuityConstraintEquations
   */
  class BundleResults : public QObject {
    Q_OBJECT
+1 −1
Original line number Diff line number Diff line
@@ -281,7 +281,7 @@ namespace Isis {

      /**
       * This class is needed to read/write BundleSettings from/to an XML
       * formateed file.
       * formatted file.
       *
       * @author 2014-07-21 Ken Edmundson
       *
+0 −6
Original line number Diff line number Diff line
@@ -1144,12 +1144,6 @@ namespace Isis {
          fpOut << observation->formatBundleContinuityConstraintString();
        }

//        int numberContinuityConstraints = observation->numberContinuityConstraints();
//        if (numberContinuityConstraints > 0) {
//          sprintf(buf, "\nContinuity Constraints: %d\n", numberContinuityConstraints);
//          fpOut << buf;
//        }

        sprintf(buf, "\n    Image         Initial              Total               "
                     "Final             Initial           Final\n"
                     "Parameter         Value              Correction            "
Loading