Commit 9070ec16 authored by chrisryancombs's avatar chrisryancombs
Browse files

Merge branch 'ipceBundleWindow' of https://github.com/USGS-Astrogeology/ISIS3...

Merge branch 'ipceBundleWindow' of https://github.com/USGS-Astrogeology/ISIS3 into ipceBundleWindow_run
parents 950f19d7 7c3511f3
Loading
Loading
Loading
Loading
+33 −4
Original line number Diff line number Diff line
@@ -259,6 +259,19 @@ namespace Isis {
  }


  /**
   * Removes an observation number from this solve settings. The observation is no longer
   * associated with this solve settings.
   *
   * @param QString observationNumber The observation number to remove from this solve settings.
   * @return bool Returns true if the observation number passed was actually removed; otherwise
   *              returns false.
   */
  bool BundleObservationSolveSettings::removeObservationNumber(QString observationNumber) {
    return m_observationNumbers.remove(observationNumber);
  }


  /**
   * Returns a list of observation numbers associated with these solve settings.
   *
@@ -368,7 +381,7 @@ namespace Isis {
                                           bool solvePolynomialOverExisting,
                                           double anglesAprioriSigma,
                                           double angularVelocityAprioriSigma,
                                           double angularAccelerationAprioriSigma) {
                                           double angularAccelerationAprioriSigma,QList<double> * additionalPointingSigmas) {

    // automatically set the solve option and ck degree to the user entered values
    m_instrumentPointingSolveOption = option;
@@ -421,6 +434,16 @@ namespace Isis {
      }
    }

    if (additionalPointingSigmas) {
      for (int i=0;i < additionalPointingSigmas->count();i++) {         
          m_anglesAprioriSigma.append(additionalPointingSigmas->value(i));
      }
    }





    m_solveTwist = solveTwist; // dependent on solve option???

    // Set the SpiceRotation interpolation type enum appropriately
@@ -609,14 +632,14 @@ namespace Isis {
   * @param velocityAprioriSigma A priori velocity sigma
   * @param accelerationAprioriSigma A priori acceleration sigma
   */
  void BundleObservationSolveSettings::setInstrumentPositionSettings(
                                           InstrumentPositionSolveOption option,
  void BundleObservationSolveSettings::setInstrumentPositionSettings(InstrumentPositionSolveOption option,
                                           int spkDegree,
                                           int spkSolveDegree,
                                           bool positionOverHermite,
                                           double positionAprioriSigma,
                                           double velocityAprioriSigma,
                                           double accelerationAprioriSigma) {
                                           double accelerationAprioriSigma,
                                           QList<double> *additionalPositionSigmas) {
    // automatically set the solve option and spk degree to the user entered values
    m_instrumentPositionSolveOption = option;

@@ -667,6 +690,12 @@ namespace Isis {
      }
    }

    if (additionalPositionSigmas) {
      for (int i=0;i < additionalPositionSigmas->count();i++) {
          m_positionAprioriSigma.append(additionalPositionSigmas->value(i));
      }
    }

    // Set the SpicePosition interpolation type enum appropriately
    m_solvePositionOverHermiteSpline = positionOverHermite;
    if (m_solvePositionOverHermiteSpline) {
+12 −3
Original line number Diff line number Diff line
@@ -75,7 +75,13 @@ namespace Isis {
   *                           with these settings. Removed the setFromPvl() method. When re-
   *                           implemented, it should be put in jigsaw. References #4293.
   *   @history 2017-04-24 Ian Humphrey - Removed pvlObject(). Fixes #4797.
   *
   *   @history 2018-06-21 Ian Humphrey - Added removeObservationNumber() to be able to remove an
   *                           observation number from a BundleObservationSolveSettings.
   *                           References #497.
   *   @history 2018-06-26 Tyler Wilson - Added support for adding an arbitrary number of
   *                           additional apriori sigma values in setInstrumentPositionSettings/
   *                           setInstrumentPointingSettings beyond position/velocity/acceleration.
   *                           References #497.
   *
   *   @todo Figure out why solve degree and num coefficients does not match solve option.
   *   @todo Determine whether xml stuff needs a Project pointer.
@@ -99,6 +105,7 @@ class BundleObservationSolveSettings {
      void setInstrumentId(QString instrumentId);
      QString instrumentId() const;
      void addObservationNumber(QString observationNumber);
      bool removeObservationNumber(QString observationNumber);
      QSet<QString> observationNumbers() const;


@@ -124,7 +131,8 @@ class BundleObservationSolveSettings {
                                         bool solvePolynomialOverExisting = false,
                                         double anglesAprioriSigma = -1.0,
                                         double angularVelocityAprioriSigma = -1.0,
                                         double angularAccelerationAprioriSigma = -1.0);
                                         double angularAccelerationAprioriSigma = -1.0,
                                         QList<double> * additionalPointingSigmas=nullptr);
      InstrumentPointingSolveOption instrumentPointingSolveOption() const;
      bool solveTwist() const;
      int ckDegree() const;
@@ -155,7 +163,8 @@ class BundleObservationSolveSettings {
                                         bool positionOverHermite = false,
                                         double positionAprioriSigma = -1.0,
                                         double velocityAprioriSigma = -1.0,
                                         double accelerationAprioriSigma = -1.0);
                                         double accelerationAprioriSigma = -1.0,
                                         QList<double> * additionalPositionSigmas=nullptr);
      InstrumentPositionSolveOption instrumentPositionSolveOption() const;
      int spkDegree() const;
      int spkSolveDegree() const;
+549 −73

File changed.

Preview size limit exceeded, changes collapsed.

+30 −2
Original line number Diff line number Diff line
@@ -10,9 +10,10 @@ namespace Ui {
}

class QItemSelection;

class QTableWidgetItem;

namespace Isis {
  class BundleObservationSolveSettings;
  class Project;
  class ProjectItem;
  class Control;
@@ -63,6 +64,23 @@ namespace Isis {
   *                           net name to anything they choose.
   *   @history 2018-06-01 Christopher Combs - Added support for ui changes, exclusive options and 
   *                           input validators.
   *   @history 2018-06-21 Ian Humphrey - Added on_applySettingsPushButtonClicked() to listen for when
   *                           the apply button is clicked on the observation solve settings tab.
   *                           References #497.
   *   @history 2018-06-21 Tyler Wilson - Added support in the Bundle Observations Solve Settings
   *                           (BOSS) tab for displaying user-selected images from the main Project
   *                           treeview.  All changes were made in the
   *                           createObservationSolveSettingsTreeView() function.  References #497.
   *   @history 2018-06-25 Ian Humphrey - Implemented the position and pointing a priori sigma
   *                           tables in the observation solve settings tab. References #497.
   *   @history 2018-06-26 Tyler Wilson - Added the function 
   *                           updateBundleObservationSolveSettings(BundleObservationSolveSettings &) 
   *                           which grabs BOSS settings from the JSD BOSS tab for selected images 
   *                           in the BOSS QTreeView and saves them in a BOSS object. 
   *   @history 2018-06-26 Tyler Wilson - Added support in
   *                           updateBundleObservationSolveSettings(BundleObservationSolveSettings &)
   *                           for the user to set an arbitrary number of position/pointing Apriori
   *                           Sigma values beyond position/velocity/acceleration.  References #497.
   */

  class JigsawSetupDialog : public QDialog {
@@ -125,6 +143,7 @@ namespace Isis {
    void on_aRadiusLineEdit_textChanged(const QString &arg1);
    void on_targetBodyComboBox_currentIndexChanged(int index);
    void on_spkSolveDegreeSpinBox_valueChanged(int arg1);
    void on_ckSolveDegreeSpinBox_valueChanged(int arg1);
    void on_rightAscensionLineEdit_textChanged(const QString &arg1);
    void on_declinationLineEdit_textChanged(const QString &arg1);
    void on_rightAscensionVelocityLineEdit_textChanged(const QString &arg1);
@@ -132,6 +151,14 @@ namespace Isis {
    void on_spinRateLineEdit_textChanged(const QString &arg1);
    void on_primeMeridianOffsetLineEdit_textChanged(const QString &arg1);
    
    void on_applySettingsPushButton_clicked();

    void on_positionComboBox_currentIndexChanged(const QString &arg1);
    void on_pointingComboBox_currentIndexChanged(const QString &arg1);

    void validateSigmaValue(QTableWidgetItem *);
    

    public slots:
    void slotTextChanged(const QString &text);
    void checkIsValid();
@@ -142,6 +169,7 @@ namespace Isis {
    void fillFromSettings(const BundleSettingsQsp settings);
    void showTargetParametersGroupBox();
    void hideTargetParametersGroupBox();
    void updateBundleObservationSolveSettings(BundleObservationSolveSettings &boss);

    void createObservationSolveSettingsTreeView();

+169 −133

File changed.

Preview size limit exceeded, changes collapsed.

Loading