From ceba6733ce92ad0e0bfad583dbbc904eeafd61ed Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@uliege.be> Date: Mon, 26 Jul 2021 23:32:29 +0200 Subject: [PATCH] handle points in boolean operations in GUI (fix for #1432) --- Fltk/graphicWindow.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Fltk/graphicWindow.cpp b/Fltk/graphicWindow.cpp index fd3a3a77c1..24d270845c 100644 --- a/Fltk/graphicWindow.cpp +++ b/Fltk/graphicWindow.cpp @@ -1862,6 +1862,16 @@ static void geometry_elementary_boolean_cb(Fl_Widget *w, void *data) char ib = FlGui::instance()->selectEntity(type); if(!FlGui::available()) return; if(ib == 'l') { + for(std::size_t i = 0; i < FlGui::instance()->selectedVertices.size(); i++) { + if(FlGui::instance()->selectedVertices[i]->getSelection() != 1) { + FlGui::instance()->selectedVertices[i]->setSelection(1); + std::pair<int, int> t(0, FlGui::instance()->selectedVertices[i]->tag()); + if(selectObject) + object.push_back(t); + else + tool.push_back(t); + } + } for(std::size_t i = 0; i < FlGui::instance()->selectedEdges.size(); i++) { if(FlGui::instance()->selectedEdges[i]->getSelection() != 1) { FlGui::instance()->selectedEdges[i]->setSelection(1); -- GitLab