X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FRepairGUI%2FRepairGUI_CloseContourDlg.cxx;h=486e3f13c89dd7f1005f16f4c740a72f5a87e062;hb=bbafce4b04731f9219f75dc124ec2429d994c202;hp=85705502ff33ddc36d90ba4ddfcd53b01fb71716;hpb=392885c1a8d50369708bbe5e6b44033ed8b8ba51;p=modules%2Fgeom.git diff --git a/src/RepairGUI/RepairGUI_CloseContourDlg.cxx b/src/RepairGUI/RepairGUI_CloseContourDlg.cxx index 85705502f..486e3f13c 100644 --- a/src/RepairGUI/RepairGUI_CloseContourDlg.cxx +++ b/src/RepairGUI/RepairGUI_CloseContourDlg.cxx @@ -1,33 +1,35 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. // -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// 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 +// 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 // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // GEOM GEOMGUI : GUI for Geometry component // File : RepairGUI_CloseContourDlg.cxx // Author : Lucien PIGNOLONI, Open CASCADE S.A.S. // #include "RepairGUI_CloseContourDlg.h" -#include -#include -#include +#include "DlgRef.h" +#include "GeometryGUI.h" +#include "GEOMBase.h" +#include "RepairGUI.h" #include #include @@ -39,8 +41,12 @@ #include #include +#include + #include +#include + //================================================================================= // class : RepairGUI_CloseContourDlg() // purpose : Constructs a RepairGUI_CloseContourDlg which is a child of 'parent', with the @@ -133,6 +139,7 @@ void RepairGUI_CloseContourDlg::Init() GroupPoints->PushButton1->click(); SelectionIntoArgument(); + resize(100,100); } //================================================================================= @@ -141,6 +148,7 @@ void RepairGUI_CloseContourDlg::Init() //================================================================================= void RepairGUI_CloseContourDlg::ClickOnOk() { + setIsApplyAndClose( true ); if (ClickOnApply()) ClickOnCancel(); } @@ -182,9 +190,8 @@ void RepairGUI_CloseContourDlg::SelectionIntoArgument() Handle(SALOME_InteractiveObject) anIO = aSelList.First(); if (myEditCurrentArgument == GroupPoints->LineEdit1) { // face selection - Standard_Boolean aRes; - myObject = GEOMBase::ConvertIOinGEOMObject(anIO, aRes); - if (aRes && GEOMBase::IsShape(myObject)) { + myObject = GEOMBase::ConvertIOinGEOMObject( anIO ); + if ( GEOMBase::IsShape(myObject) ) { myEditCurrentArgument->setText(GEOMBase::GetName(myObject)); TopoDS_Shape aShape; if (GEOMBase::GetShape(myObject, aShape, TopAbs_WIRE)) @@ -271,7 +278,7 @@ void RepairGUI_CloseContourDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); connect( myGeomGUI->getApp()->selectionMgr(), SIGNAL( currentSelectionChanged() ), - this, SLOT( SelectionIntoArgument() ) ); + this, SLOT( SelectionIntoArgument() ) ); myEditCurrentArgument = GroupPoints->LineEdit1; myEditCurrentArgument->setText( "" ); @@ -298,7 +305,7 @@ void RepairGUI_CloseContourDlg::enterEvent (QEvent*) //================================================================================= GEOM::GEOM_IOperations_ptr RepairGUI_CloseContourDlg::createOperation() { - return getGeomEngine()->GetIHealingOperations(getStudyId()); + return getGeomEngine()->GetIHealingOperations(); } //================================================================================= @@ -318,13 +325,16 @@ bool RepairGUI_CloseContourDlg::isValid (QString&) //================================================================================= bool RepairGUI_CloseContourDlg::execute (ObjectList& objects) { - GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow(getOperation())-> - CloseContour(myObject, myWiresInd, getIsByVertex()); + GEOM::GEOM_IHealingOperations_var anOper = GEOM::GEOM_IHealingOperations::_narrow(getOperation()); + GEOM::GEOM_Object_var anObj = anOper->CloseContour(myObject, myWiresInd, getIsByVertex()); bool aResult = !anObj->_is_nil(); if (aResult) + { + if ( !IsPreview() ) + RepairGUI::ShowStatistics( anOper, this ); objects.push_back(anObj._retn()); - + } return aResult; } @@ -363,3 +373,15 @@ void RepairGUI_CloseContourDlg::initSelection() connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); } + +//================================================================================= +// function : getSourceObjects +// purpose : virtual method to get source objects +//================================================================================= +QList RepairGUI_CloseContourDlg::getSourceObjects() +{ + QList res; + GEOM::GeomObjPtr aGeomObjPtr(myObject); + res << aGeomObjPtr; + return res; +}