X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_ExternalPointsMgr.cpp;h=72c720a3ad53079be4fa7ebe75acb4fa0f74c3de;hb=fc72d43b677baa05ae7fd317346fd8b723b799ed;hp=0f9babdae75ef5377962558fc8b69dc8076b16a0;hpb=b3695c3af5289903f1c0fa01bbb7c40203c5e544;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_ExternalPointsMgr.cpp b/src/PartSet/PartSet_ExternalPointsMgr.cpp index 0f9babdae..72c720a3a 100644 --- a/src/PartSet/PartSet_ExternalPointsMgr.cpp +++ b/src/PartSet/PartSet_ExternalPointsMgr.cpp @@ -1,4 +1,4 @@ -// Copyright (C) 2017 CEA/DEN, EDF R&D +// Copyright (C) 2017-2023 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -12,10 +12,9 @@ // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or -// email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // // File: PartSet_ExternalPointsMgr.cpp @@ -27,6 +26,8 @@ #include "PartSet_Tools.h" #include +#include +#include #include #include @@ -40,8 +41,13 @@ #include #include #include +#include #include +#ifdef WIN32 +#pragma warning(disable : 4456) // for nested foreach +#endif + PartSet_ExternalPointsMgr::PartSet_ExternalPointsMgr(ModuleBase_IWorkshop* theWorkshop, const CompositeFeaturePtr& theSketch) : QObject(theWorkshop), myWorkshop(theWorkshop), mySketch(theSketch) @@ -96,6 +102,13 @@ QList> PartSet_ExternalPointsMgr::findCirc continue; ResultPtr aResObj = std::dynamic_pointer_cast(aObj); + + // Do not use Fields and groups in selection in sketcher + if (!aResObj.get() || + (aResObj->groupName() == ModelAPI_ResultField::group()) || + (aResObj->groupName() == ModelAPI_ResultGroup::group())) + continue; + if (aResObj.get()) { GeomShapePtr aShape = aResObj->shape(); if (aShape.get()) { @@ -178,8 +191,9 @@ void PartSet_ExternalPointsMgr::updateCenterPresentations() else myPresentations[aPrs->object()] = aList; foreach(AISObjectPtr anAIS, aList) { - aDisplayer->displayAIS(anAIS, false); - aDisplayer->activateAIS(anAIS->impl(), TopAbs_VERTEX, false); + aDisplayer->displayAIS(anAIS, false, 0, false); + aWorkshop->selectionActivate()->activateAIS(anAIS->impl(), + TopAbs_VERTEX, false); } } }