Unverified Commit 7a8b0b8f authored by Jesse Mapel's avatar Jesse Mapel Committed by GitHub
Browse files

Merge pull request #311 from AgoinsUSGS/final_changes

Modified Control Point, Control Measure operator= to use setters when assigning.
parents 3a42d984 5c92ee87
Loading
Loading
Loading
Loading
+20 −20
Original line number Diff line number Diff line
@@ -1037,31 +1037,31 @@ namespace Isis {
    p_dateTime = new QString;
    p_loggedData = new QVector<ControlMeasureLogData>();

    *p_serialNumber = *other.p_serialNumber;
    *p_chooserName = *other.p_chooserName;
    *p_dateTime = *other.p_dateTime;
    bool oldLock = p_editLock;
    p_editLock = false;

    p_sample = other.p_sample;
    p_line = other.p_line;
    *p_loggedData = *other.p_loggedData;

    p_measureType = other.p_measureType;
    SetCubeSerialNumber(*other.p_serialNumber);
    SetChooserName(*other.p_chooserName);
    SetDateTime(*other.p_dateTime);
    SetType(other.p_measureType);
    //  Call SetIgnored to update the ControlGraphNode.  However, SetIgnored
    //  will return if EditLock is true, so set to false temporarily.
    p_editLock = false;
    SetIgnored(other.p_ignore);
    p_editLock = other.p_editLock;
    p_sample = other.p_sample;
    p_line = other.p_line;
    p_diameter = other.p_diameter;
    p_aprioriSample = other.p_aprioriSample;
    p_aprioriLine = other.p_aprioriLine;
    p_sampleSigma = other.p_sampleSigma;
    p_lineSigma = other.p_lineSigma;
    p_sampleResidual = other.p_sampleResidual;
    p_lineResidual = other.p_lineResidual;
    p_camera = other.p_camera;
    p_focalPlaneMeasuredX = other.p_focalPlaneMeasuredX;
    p_focalPlaneMeasuredY = other.p_focalPlaneMeasuredY;
    p_focalPlaneComputedX = other.p_focalPlaneComputedX;
    p_focalPlaneComputedY = other.p_focalPlaneComputedY;
    SetDiameter(other.p_diameter);
    SetAprioriSample(other.p_aprioriSample);
    SetAprioriLine(other.p_aprioriLine);
    SetSampleSigma(other.p_sampleSigma);
    SetLineSigma(other.p_lineSigma);
    SetResidual(other.p_sampleResidual, other.p_lineResidual);
    SetCamera(other.p_camera);
    SetFocalPlaneMeasured(other.p_focalPlaneMeasuredX, other.p_focalPlaneMeasuredY);
    SetFocalPlaneComputed(other.p_focalPlaneComputedX, other.p_focalPlaneComputedY);
    p_editLock = oldLock;
    SetEditLock(other.p_editLock);

    return *this;
  }
+2 −0
Original line number Diff line number Diff line
@@ -183,6 +183,8 @@ namespace Isis {
   *                           to allow for communication between the ControlNetVitals class
   *                           and changes made to the Control Network that it is observing.
   *                           Fixes #5435.
   *  @history 2018-06-29 Adam Goins - Modified operator= to use setters when setting values
   *                           so that the proper signals/slots are called. Fixes #5435.
   */
  class ControlMeasure : public QObject {

+5 −5
Original line number Diff line number Diff line
@@ -688,7 +688,7 @@ namespace Isis {
  QList<ControlPoint*> ControlNetVitals::getLockedPoints() {
    QList<ControlPoint*> lockedPoints;
    foreach(ControlPoint* point, m_controlNet->GetPoints()) {
      if (point->IsEditLocked()) lockedPoints.append(point);
      if (!point->IsIgnored() && point->IsEditLocked()) lockedPoints.append(point);
    }
    return lockedPoints;
  }
@@ -702,7 +702,7 @@ namespace Isis {
  QList<ControlPoint*> ControlNetVitals::getFixedPoints() {
    QList<ControlPoint*> fixedPoints;
    foreach(ControlPoint* point, m_controlNet->GetPoints()) {
      if (point->GetType() == ControlPoint::Fixed) fixedPoints.append(point);
      if (!point->IsIgnored() && point->GetType() == ControlPoint::Fixed) fixedPoints.append(point);
    }
    return fixedPoints;
  }
@@ -716,7 +716,7 @@ namespace Isis {
  QList<ControlPoint*> ControlNetVitals::getConstrainedPoints() {
    QList<ControlPoint*> constrainedPoints;
    foreach(ControlPoint* point, m_controlNet->GetPoints()) {
      if (point->GetType() == ControlPoint::Constrained) constrainedPoints.append(point);
      if (!point->IsIgnored() && point->GetType() == ControlPoint::Constrained) constrainedPoints.append(point);
    }
    return constrainedPoints;
  }
@@ -730,7 +730,7 @@ namespace Isis {
  QList<ControlPoint*> ControlNetVitals::getFreePoints() {
    QList<ControlPoint*> freePoints;
    foreach(ControlPoint* point, m_controlNet->GetPoints()) {
      if (point->GetType() == ControlPoint::Free) freePoints.append(point);
      if (!point->IsIgnored() && point->GetType() == ControlPoint::Free) freePoints.append(point);
    }
    return freePoints;
  }
@@ -747,7 +747,7 @@ namespace Isis {
  QList<ControlPoint*> ControlNetVitals::getPointsBelowMeasureThreshold(int num) {
    QList<ControlPoint*> belowThreshold;
    foreach(ControlPoint* point, m_controlNet->GetPoints()) {
      if (point->GetNumMeasures() < num) belowThreshold.append(point);
      if (!point->IsIgnored() && point->GetNumMeasures() < num) belowThreshold.append(point);
    }
    return belowThreshold;
  }
+21 −16
Original line number Diff line number Diff line
@@ -1936,6 +1936,7 @@ namespace Isis {
  const ControlPoint &ControlPoint::operator=(const ControlPoint &other) {

    if (this != &other) {
      bool oldLock = editLock;
      editLock = false;
      for (int i = cubeSerials->size() - 1; i >= 0; i--) {
        (*measures)[cubeSerials->at(i)]->SetEditLock(false);
@@ -1955,23 +1956,27 @@ namespace Isis {
        }
      }

      id             = other.id;
      chooserName    = other.chooserName;
      dateTime       = other.dateTime;
      type           = other.type;
      invalid = other.invalid;
      editLock       = other.editLock;
      jigsawRejected = other.jigsawRejected;
      referenceExplicitlySet   = other.referenceExplicitlySet;
      ignore         = other.ignore;
      aprioriSurfacePointSource      = other.aprioriSurfacePointSource;
      aprioriSurfacePointSourceFile  = other.aprioriSurfacePointSourceFile;
      aprioriRadiusSource            = other.aprioriRadiusSource;
      aprioriRadiusSourceFile        = other.aprioriRadiusSourceFile;
      aprioriSurfacePoint            = other.aprioriSurfacePoint;
      adjustedSurfacePoint = other.adjustedSurfacePoint;
      numberOfRejectedMeasures = other.numberOfRejectedMeasures;
      constraintStatus         = other.constraintStatus;

      SetId(other.id);
      SetChooserName(other.chooserName);
      SetDateTime(other.dateTime);
      SetType(other.type);
      SetRejected(other.jigsawRejected);
      SetIgnored(other.ignore);
      SetAprioriSurfacePointSource(other.aprioriSurfacePointSource);
      SetAprioriSurfacePointSourceFile(other.aprioriSurfacePointSourceFile);
      SetAprioriRadiusSource(other.aprioriRadiusSource);
      SetAprioriRadiusSourceFile(other.aprioriRadiusSourceFile);
      SetAprioriSurfacePoint(other.aprioriSurfacePoint);
      SetAdjustedSurfacePoint(other.adjustedSurfacePoint);

      // Set edit lock last so the it doesn't interfere with copying the other fields over.
      editLock = oldLock;
      SetEditLock(other.editLock);
    }

    return *this;
+3 −0
Original line number Diff line number Diff line
@@ -351,6 +351,9 @@ namespace Isis {
   *                           to allow for communication between the ControlNetVitals class
   *                           and changes made to the Control Network that it is observing.
   *                           Fixes #5435.
   *  @history 2018-06-29 Adam Goins - Modified to operator= method to use setters when copying
   *                           one Control Point to another so that the proper signals get called.
   *                           Fixes #5435.
   */
  class ControlPoint : public QObject {