Browse Source

Merge pull request #6259 from DonLakeFlyer/VertexReference

Corridor Scan: Fix bad Vertex reference
QGC4.4
Don Gagne 7 years ago committed by GitHub
parent
commit
c0fa493fb6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 7
      src/MissionManager/CorridorScanComplexItem.cc
  2. 6
      src/MissionManager/QGCMapPolygon.cc

7
src/MissionManager/CorridorScanComplexItem.cc

@ -305,12 +305,15 @@ void CorridorScanComplexItem::_rebuildCorridorPolygon(void) @@ -305,12 +305,15 @@ void CorridorScanComplexItem::_rebuildCorridorPolygon(void)
QList<QGeoCoordinate> secondSideVertices = _corridorPolyline.offsetPolyline(-halfWidth);
_surveyAreaPolygon.clear();
QList<QGeoCoordinate> rgCoord;
foreach (const QGeoCoordinate& vertex, firstSideVertices) {
_surveyAreaPolygon.appendVertex(vertex);
rgCoord.append(vertex);
}
for (int i=secondSideVertices.count() - 1; i >= 0; i--) {
_surveyAreaPolygon.appendVertex(secondSideVertices[i]);
rgCoord.append(secondSideVertices[i]);
}
_surveyAreaPolygon.appendVertices(rgCoord);
}
void CorridorScanComplexItem::_rebuildTransectsPhase1(void)

6
src/MissionManager/QGCMapPolygon.cc

@ -371,7 +371,7 @@ QGeoCoordinate QGCMapPolygon::vertexCoordinate(int vertex) const @@ -371,7 +371,7 @@ QGeoCoordinate QGCMapPolygon::vertexCoordinate(int vertex) const
if (vertex >= 0 && vertex < _polygonPath.count()) {
return _polygonPath[vertex].value<QGeoCoordinate>();
} else {
qWarning() << "QGCMapPolygon::vertexCoordinate bad vertex requested";
qWarning() << "QGCMapPolygon::vertexCoordinate bad vertex requested:count" << vertex << _polygonPath.count();
return QGeoCoordinate();
}
}
@ -530,6 +530,10 @@ double QGCMapPolygon::area(void) const @@ -530,6 +530,10 @@ double QGCMapPolygon::area(void) const
{
// https://www.mathopenref.com/coordpolygonarea2.html
if (_polygonPath.count() < 3) {
return 0;
}
double coveredArea = 0.0;
QList<QPointF> nedVertices = nedPolygon();
for (int i=0; i<nedVertices.count(); i++) {

Loading…
Cancel
Save