Remove mode for areCoincedent

This commit is contained in:
2025-12-10 21:07:12 +03:00
parent 4407aa6017
commit ef526d66ce
2 changed files with 10 additions and 15 deletions

View File

@@ -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();
}

View File

@@ -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); // проверка на дубликат