Примитивное перемещение линий

Если точнее, то перемещаем их концевые точки
This commit is contained in:
2025-12-08 16:47:12 +03:00
parent 074a8e1ae0
commit a238b11db7
2 changed files with 40 additions and 2 deletions

View File

@@ -41,6 +41,8 @@ public:
protected:
void mousePressEvent(QMouseEvent* event) override;
void mouseMoveEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
void paintEvent(QPaintEvent* event) override;
private:
@@ -52,6 +54,10 @@ private:
LinePair makeOrderedPair(Line* l1, Line* l2);
bool areAlreadyParallel(Line* l1, Line* l2); // проверка на дубликат
// ====================== Перемещение ======================
Point* draggedPoint{ nullptr };
QPointF dragOffset;
// ====================== Данные сцены ======================
System sys; // геометрический солвер
QVector<Line*> lines; // завершённые линии
@@ -63,6 +69,7 @@ private:
Line* current_line{ nullptr };
Point* firstPoint{ nullptr };
Mode mode{ Mode::None };
bool after_constraint{ false };
int obj_count{ 0 }; // тег для новых объектов
int constraints_count{ 0 }; // тег для новых ограничений