Unverified Commit 4636ea97 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #7200 from DonLakeFlyer/AdditionalTimeDelay

Survey: Fix Survey additionalTimeDelay as it relates to hover and capture
parents 7158b395 6b0ef073
...@@ -44,10 +44,6 @@ public: ...@@ -44,10 +44,6 @@ public:
/// This mission item attribute specifies the type of the complex item. /// This mission item attribute specifies the type of the complex item.
static const char* jsonComplexItemTypeKey; static const char* jsonComplexItemTypeKey;
// Overrides from VisualMissionItem
double additionalTimeDelay(void) const final { return 0; }
signals: signals:
void complexDistanceChanged (void); void complexDistanceChanged (void);
void boundingCubeChanged (void); void boundingCubeChanged (void);
......
...@@ -52,6 +52,7 @@ public: ...@@ -52,6 +52,7 @@ public:
QString commandName (void) const final { return tr("Corridor Scan"); } QString commandName (void) const final { return tr("Corridor Scan"); }
QString abbreviation (void) const final { return tr("C"); } QString abbreviation (void) const final { return tr("C"); }
bool readyForSave (void) const; bool readyForSave (void) const;
double additionalTimeDelay (void) const final { return 0; }
static const char* jsonComplexItemTypeValue; static const char* jsonComplexItemTypeValue;
......
...@@ -91,6 +91,7 @@ public: ...@@ -91,6 +91,7 @@ public:
double specifiedGimbalPitch (void) final { return std::numeric_limits<double>::quiet_NaN(); } double specifiedGimbalPitch (void) final { return std::numeric_limits<double>::quiet_NaN(); }
void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final; void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final;
void applyNewAltitude (double newAltitude) final; void applyNewAltitude (double newAltitude) final;
double additionalTimeDelay (void) const final { return 0; }
bool coordinateHasRelativeAltitude (void) const final { return _altitudesAreRelative; } bool coordinateHasRelativeAltitude (void) const final { return _altitudesAreRelative; }
bool exitCoordinateHasRelativeAltitude (void) const final { return _altitudesAreRelative; } bool exitCoordinateHasRelativeAltitude (void) const final { return _altitudesAreRelative; }
......
...@@ -77,6 +77,7 @@ public: ...@@ -77,6 +77,7 @@ public:
void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final; void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final;
void applyNewAltitude (double newAltitude) final { Q_UNUSED(newAltitude); /* no action */ } void applyNewAltitude (double newAltitude) final { Q_UNUSED(newAltitude); /* no action */ }
double specifiedFlightSpeed (void) final; double specifiedFlightSpeed (void) final;
double additionalTimeDelay (void) const final { return 0; }
bool coordinateHasRelativeAltitude (void) const final { return false; } bool coordinateHasRelativeAltitude (void) const final { return false; }
bool exitCoordinateHasRelativeAltitude (void) const final { return false; } bool exitCoordinateHasRelativeAltitude (void) const final { return false; }
......
...@@ -84,6 +84,7 @@ public: ...@@ -84,6 +84,7 @@ public:
void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final; void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final;
void setMissionFlightStatus (MissionController::MissionFlightStatus_t& missionFlightStatus) final; void setMissionFlightStatus (MissionController::MissionFlightStatus_t& missionFlightStatus) final;
void applyNewAltitude (double newAltitude) final; void applyNewAltitude (double newAltitude) final;
double additionalTimeDelay (void) const final { return 0; }
bool coordinateHasRelativeAltitude (void) const final { return _altitudeRelative; } bool coordinateHasRelativeAltitude (void) const final { return _altitudeRelative; }
bool exitCoordinateHasRelativeAltitude (void) const final { return _altitudeRelative; } bool exitCoordinateHasRelativeAltitude (void) const final { return _altitudeRelative; }
......
...@@ -1476,3 +1476,16 @@ double SurveyComplexItem::timeBetweenShots(void) ...@@ -1476,3 +1476,16 @@ double SurveyComplexItem::timeBetweenShots(void)
{ {
return _cruiseSpeed == 0 ? 0 : triggerDistance() / _cruiseSpeed; return _cruiseSpeed == 0 ? 0 : triggerDistance() / _cruiseSpeed;
} }
double SurveyComplexItem::additionalTimeDelay (void) const
{
double hoverTime = 0;
if (hoverAndCaptureEnabled()) {
for (const QList<TransectStyleComplexItem::CoordInfo_t>& transect: _transects) {
hoverTime += _hoverAndCaptureDelaySeconds * transect.count();
}
}
return hoverTime;
}
...@@ -52,6 +52,7 @@ public: ...@@ -52,6 +52,7 @@ public:
QString commandName (void) const final { return tr("Survey"); } QString commandName (void) const final { return tr("Survey"); }
QString abbreviation (void) const final { return tr("S"); } QString abbreviation (void) const final { return tr("S"); }
bool readyForSave (void) const final; bool readyForSave (void) const final;
double additionalTimeDelay (void) const final;
// Must match json spec for GridEntryLocation // Must match json spec for GridEntryLocation
enum EntryLocation { enum EntryLocation {
......
...@@ -398,6 +398,7 @@ void TransectStyleComplexItem::_rebuildTransects(void) ...@@ -398,6 +398,7 @@ void TransectStyleComplexItem::_rebuildTransects(void)
emit lastSequenceNumberChanged(lastSequenceNumber()); emit lastSequenceNumberChanged(lastSequenceNumber());
emit timeBetweenShotsChanged(); emit timeBetweenShotsChanged();
emit additionalTimeDelayChanged();
} }
void TransectStyleComplexItem::_queryTransectsPathHeightInfo(void) void TransectStyleComplexItem::_queryTransectsPathHeightInfo(void)
......
...@@ -94,6 +94,7 @@ public: ...@@ -94,6 +94,7 @@ public:
bool specifiesCoordinate (void) const final { return true; } bool specifiesCoordinate (void) const final { return true; }
void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final { Q_UNUSED(items); Q_UNUSED(missionItemParent); } void appendMissionItems (QList<MissionItem*>& items, QObject* missionItemParent) final { Q_UNUSED(items); Q_UNUSED(missionItemParent); }
void applyNewAltitude (double newAltitude) final { Q_UNUSED(newAltitude); } void applyNewAltitude (double newAltitude) final { Q_UNUSED(newAltitude); }
double additionalTimeDelay (void) const final { return 0; }
bool rebuildTransectsPhase1Called; bool rebuildTransectsPhase1Called;
bool rebuildTransectsPhase2Called; bool rebuildTransectsPhase2Called;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment