diff options
-rw-r--r-- | sigmodr/widgets/mapeditor/WorldMapPlacement.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp index 0b66a662..6f603f7d 100644 --- a/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp +++ b/sigmodr/widgets/mapeditor/WorldMapPlacement.cpp @@ -115,8 +115,9 @@ template<typename T> static bool between(const T& middle, const T& end1, const T static CollisionInfo findCollisions(const QPolygon& polygon1, const QPolygon& polygon2) { CollisionInfo data; - QPoint prevPoint1 = polygon1.last(); - foreach (const QPoint& point1, polygon1) + QPoint prevPoint1 = polygon1[polygon1.size() - 2]; + QPoint point1 = polygon1.last(); + foreach (const QPoint& nextPoint1, polygon1) { QPoint prevPoint2 = polygon2.last(); foreach (const QPoint& point2, polygon2) @@ -144,6 +145,7 @@ static CollisionInfo findCollisions(const QPolygon& polygon1, const QPolygon& po } prevPoint2 = point2; } + point1 = nextPoint1; prevPoint1 = point1; } return data; |