Commit f4f2925e authored by Ken Edmundson's avatar Ken Edmundson
Browse files

Modified addNew method. Removed setBodyRotation method; added history entry to header file

parent 5db3e6b5
Loading
Loading
Loading
Loading
+23 −17
Original line number Diff line number Diff line
@@ -2,7 +2,9 @@

#include <QDebug>

#include "BundlePolynomialContinuityConstraint.h"
#include "BundleObservation.h"
#include "Camera.h"
#include "IException.h"

namespace Isis {
@@ -141,7 +143,7 @@ namespace Isis {
      append(bundleObservation);

      // initialize exterior orientation (spice) for all BundleImages in BundleObservation
//      bundleObservation->initializeExteriorOrientation();
      bundleObservation->initializeExteriorOrientation();

      // update observation number to observation ptr map
      m_observationNumberToObservationMap.insertMulti(observationNumber, bundleObservation);
@@ -150,6 +152,26 @@ namespace Isis {
      m_imageSerialToObservationMap.insertMulti(bundleImage->serialNumber(), bundleObservation);
    }

    // set body rotation if solving for target body parameters
    if (bundleSettings->solveTargetBody()) {
      std::vector<Angle> raCoefs = bundleSettings->bundleTargetBody()->poleRaCoefs();
      std::vector<Angle> decCoefs = bundleSettings->bundleTargetBody()->poleDecCoefs();
      std::vector<Angle> pmCoefs = bundleSettings->bundleTargetBody()->pmCoefs();

      bundleImage->camera()->bodyRotation()->setPckPolynomial(raCoefs, decCoefs, pmCoefs);
    }

    // initialize piecewise polynomial continuity constraints for time-dependent sensors if
    // necessary
    if (bundleObservation->numberPolynomialPositionSegments() > 1 ||
        bundleObservation->numberPolynomialPointingSegments() > 1) {

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

    return bundleObservation;
  }

@@ -293,22 +315,6 @@ namespace Isis {
  }


  /**
   * Initializes the body rotations for the contained BundleObservations.
   *
   * @return bool Returns true upon successful initialization
   */
  bool BundleObservationVector::setBodyRotation() {
    int nObservations = size();
    for (int i = 0; i < nObservations; i++) {
      BundleObservationQsp observation = at(i);
      observation->setBodyRotation();
    }

    return true;
  }


  /**
   * Compute vtpv, the weighted sum of squares of constrained image parameter residuals.
   *
+1 −1
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ namespace Isis {
   *                               int numberPolynomialPointingSegments()
   *                               int numberPolynomialSegments()
   *   @history 2018-02-12 Ken Edmundson Renamed initializeBodyRotation method to setBodyRotation.
   *   @history 2018-11-29 Ken Edmundson Modified addNew method. Removed setBodyRotation method.
   */
  class BundleObservationVector : public QVector<BundleObservationQsp> {

@@ -100,7 +101,6 @@ namespace Isis {
      BundleObservationQsp observationByCubeSerialNumber(QString cubeSerialNumber);

      bool initializeExteriorOrientation();
      bool setBodyRotation();

      double vtpvContribution();