diff --git a/Canvas.cpp b/Canvas.cpp index 46d09cb..4dab3f9 100644 --- a/Canvas.cpp +++ b/Canvas.cpp @@ -41,26 +41,21 @@ Point* Canvas::findPointAt(QPointF pos, qreal tolerance) return temp; } -bool Canvas::areCoincident(Point* p1, Point* p2, bool mode) +bool Canvas::areCoincident(Point* p1, Point* p2) { int tag_0 = p1->get_tag(); int tag_1 = p2->get_tag(); - if (!mode) { - return tag_0 != tag_1 && *p1 == *p2; - } - else { - for (PointPair pair : P2Ppairs) { - int pair_tag_0 = pair.first->get_tag(); - int pair_tag_1 = pair.second->get_tag(); + for (PointPair pair : P2Ppairs) { + int pair_tag_0 = pair.first->get_tag(); + int pair_tag_1 = pair.second->get_tag(); - bool isSamePair = (pair_tag_0 == tag_0 && pair_tag_1 == tag_1) || - (pair_tag_0 == tag_1 && pair_tag_1 == tag_0); + bool isSamePair = (pair_tag_0 == tag_0 && pair_tag_1 == tag_1) || + (pair_tag_0 == tag_1 && pair_tag_1 == tag_0); - if (isSamePair) return true; + if (isSamePair) return true; } - return false; - } + return false; } bool Canvas::areAlreadyParallel(Line* l1, Line* l2) @@ -256,7 +251,7 @@ void Canvas::mouseMoveEvent(QMouseEvent* event) if (draggedPoint) { QPointF pos = event->pos() - dragOffset; for (Point* pair : points) { - if (areCoincident(draggedPoint, pair)) { + if (areCoincident(draggedPoint, pair, true)) { *pair->x = pos.x(); *pair->y = pos.y(); } diff --git a/Canvas.h b/Canvas.h index 0f498ac..ca234c9 100644 --- a/Canvas.h +++ b/Canvas.h @@ -52,7 +52,7 @@ private: // ====================== Поиск и выбор ====================== Line* findAt(QPointF&); // ищет линию под курсором Point* findPointAt(QPointF, qreal tolerance = 5.0); - bool areCoincident(Point*, Point*, bool mode = false); + bool areCoincident(Point*, Point*); // ====================== Параллельность ====================== bool areAlreadyParallel(Line* l1, Line* l2); // проверка на дубликат