From e28a3ac2cc9e05228588a408c75d5efccc851882 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Tue, 2 Jun 2020 12:55:25 +0200 Subject: [PATCH 1/2] Fix some edge width and add a double click event to add a 0 wheighted point. --- .../demo/Triangulation_2/Regular_triangulation_2.cpp | 1 + GraphicsView/include/CGAL/Qt/GraphicsViewCircleInput.h | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/GraphicsView/demo/Triangulation_2/Regular_triangulation_2.cpp b/GraphicsView/demo/Triangulation_2/Regular_triangulation_2.cpp index fcaf1aba96d..aa29cf6f160 100644 --- a/GraphicsView/demo/Triangulation_2/Regular_triangulation_2.cpp +++ b/GraphicsView/demo/Triangulation_2/Regular_triangulation_2.cpp @@ -94,6 +94,7 @@ MainWindow::MainWindow() dgi, SLOT(modelChanged())); dgi->setVerticesPen(QPen(Qt::red, 0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); + dgi->setEdgesPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); scene.addItem(dgi); // Add a GraphicItem for the Powerdiagram diagram diff --git a/GraphicsView/include/CGAL/Qt/GraphicsViewCircleInput.h b/GraphicsView/include/CGAL/Qt/GraphicsViewCircleInput.h index 214de4ffe40..9d8dbd490c0 100644 --- a/GraphicsView/include/CGAL/Qt/GraphicsViewCircleInput.h +++ b/GraphicsView/include/CGAL/Qt/GraphicsViewCircleInput.h @@ -28,6 +28,7 @@ #include #include + #include #include @@ -71,6 +72,7 @@ GraphicsViewCircleInput::GraphicsViewCircleInput(QObject *parent, QGraphicsSc : GraphicsViewInput(parent), m_pointsOnCircle(pointsOnCircle), count(0), qcircle(new QGraphicsEllipseItem()), scene_(s) { + qcircle->setPen(QPen(::Qt::red, 0, ::Qt::SolidLine, ::Qt::RoundCap, ::Qt::RoundJoin)); qcircle->hide(); s->addItem(qcircle); } @@ -194,6 +196,13 @@ GraphicsViewCircleInput::eventFilter(QObject *obj, QEvent *event) QKeyEvent *keyEvent = static_cast(event); keyPressEvent(keyEvent); return true; + } else if(event->type() == QEvent::GraphicsSceneMouseDoubleClick) { + QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); + qp = mouseEvent->scenePos(); + p = convert(qp); + Q_EMIT generate(CGAL::make_object(std::make_pair(p, 0.0))); + count = 0; + return true; } else{ // standard event processing return QObject::eventFilter(obj, event); From dd701e28fa81bed61d94a748b108c866ee18bca8 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Tue, 2 Jun 2020 14:08:03 +0200 Subject: [PATCH 2/2] Fix Delaunay point removal --- .../TriangulationPointInputAndConflictZone.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/GraphicsView/demo/Triangulation_2/TriangulationPointInputAndConflictZone.h b/GraphicsView/demo/Triangulation_2/TriangulationPointInputAndConflictZone.h index ce85d87d9c2..b387e314025 100644 --- a/GraphicsView/demo/Triangulation_2/TriangulationPointInputAndConflictZone.h +++ b/GraphicsView/demo/Triangulation_2/TriangulationPointInputAndConflictZone.h @@ -37,6 +37,7 @@ protected: Converter convert; QGraphicsScene *scene_; Point p; + bool do_insert; }; @@ -44,7 +45,7 @@ template TriangulationPointInputAndConflictZone::TriangulationPointInputAndConflictZone(QGraphicsScene* s, T * dt_, QObject* parent) - : GraphicsViewInput(parent), dt(dt_), scene_(s) + : GraphicsViewInput(parent), dt(dt_), scene_(s), do_insert(true) {} @@ -54,6 +55,12 @@ template void TriangulationPointInputAndConflictZone::mousePressEvent(QGraphicsSceneMouseEvent *event) { + if(event->modifiers() & ::Qt::ShiftModifier){ + do_insert = false; + return; + } + else + do_insert = true; p = convert(event->scenePos()); if(dt->dimension() < 2 || event->modifiers() != 0 || @@ -91,7 +98,8 @@ TriangulationPointInputAndConflictZone::mouseReleaseEvent(QGraphicsSceneMouse delete *it; } qfaces.clear(); - Q_EMIT( generate(CGAL::make_object(p))); + if(do_insert) + Q_EMIT( generate(CGAL::make_object(p))); }