diff --git a/Canvas.cpp b/Canvas.cpp index 3528924..b0b61dc 100644 --- a/Canvas.cpp +++ b/Canvas.cpp @@ -43,19 +43,7 @@ Point* Canvas::findPointAt(QPointF pos, qreal tolerance) bool Canvas::areCoincident(Point* p1, Point* p2) { - int tag_0 = p1->get_tag(); - int tag_1 = p2->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); - - if (isSamePair && *p1 == *p2) return true; - } - return false; + return P2Ppairs.count(makeOrderedPair(p1, p2)); } bool Canvas::areAlreadyParallel(Line* l1, Line* l2) @@ -232,6 +220,7 @@ void Canvas::mousePressEvent(QMouseEvent* event) { QMessageBox::warning(this, QString("NO!"), QString("P2P failed")); firstPoint = nullptr; + mode = Mode::None; update(); return; }