From 2153a32ecf6663444aa904558e546d40d8edcc3a Mon Sep 17 00:00:00 2001 From: skv Date: Wed, 26 Feb 2014 13:13:55 +0400 Subject: [PATCH] 0022490: [CEA 1057] Default tick of "Detect self-intersections" in Partition --- doc/salome/gui/GEOM/images/partition1.png | Bin 29197 -> 35703 bytes doc/salome/gui/GEOM/images/partition2.png | Bin 25088 -> 26373 bytes doc/salome/gui/GEOM/input/partition.doc | 13 ++- idl/GEOM_Gen.idl | 15 ++-- src/GEOMImpl/GEOMImpl_IBooleanOperations.cxx | 14 +-- src/GEOMImpl/GEOMImpl_IBooleanOperations.hxx | 3 +- src/GEOMImpl/GEOMImpl_PartitionDriver.cxx | 30 ++++--- src/GEOM_I/GEOM_IBooleanOperations_i.cc | 10 +-- src/GEOM_I/GEOM_IBooleanOperations_i.hh | 6 +- src/GEOM_I_Superv/GEOM_Superv_i.cc | 4 +- src/GEOM_SWIG/geomBuilder.py | 85 +++++++----------- .../OperationGUI_PartitionDlg.cxx | 14 +-- 12 files changed, 84 insertions(+), 110 deletions(-) mode change 100755 => 100644 doc/salome/gui/GEOM/images/partition1.png mode change 100755 => 100644 doc/salome/gui/GEOM/images/partition2.png mode change 100644 => 100755 doc/salome/gui/GEOM/input/partition.doc diff --git a/doc/salome/gui/GEOM/images/partition1.png b/doc/salome/gui/GEOM/images/partition1.png old mode 100755 new mode 100644 index c36e8b1bd4849f7c262b3d757be21b0b13dc123a..f2213999edf79abe010479e7d030be8565138185 GIT binary patch literal 35703 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 literal 25088 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 WO5djX3Vyu-A}g)Detect Self-intersections check box is used to check self-intersection of arguments. -- If this option is switched on (by default), each input shape is checked for self-intersection. +It is enabled only if No sub-shapes intersection (Compounds only) is checked. +- If this option is switched off (by default), the partition algorithm is +performed without self-intersection checks. +- If this option is switched on, each input shape is checked for self-intersection. If self-intersection is detected, the operation is aborted. -- If this option is switched off, the partition algorithm is performed without self-intersection -checks. \note This algorithm does not find all types of self-intersections. It is tuned to detect vertex/vertex, vertex/edge, edge/edge, vertex/face and edge/face @@ -75,7 +76,7 @@ checks. geompy.MakePartition(ListOfShapes, ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs, ListOfMaterials, -KeepNonlimitShapes, checkSelfInte) +KeepNonlimitShapes) TUI Command (without sub-shapes intersection): @@ -105,11 +106,9 @@ Activate \ref restore_presentation_parameters_page "Advanced options" if require TUI Command: -geompy.MakeHalfPartition(Shape, Plane, checkSelfInte), where: +geompy.MakeHalfPartition(Shape, Plane), where: - \em Shape is a source shape to be intersected by the \em Plane - \em Plane is a tool shape, to intersect the \em Shape. -- \em checkSelfInte is a flag that indicates if the arguments should -be checked for self-intersection prior to the operation. Examples: diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 630b66067..f7af6efcb 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -2968,8 +2968,6 @@ module GEOM * Each shape from theRemoveInside must belong to theShapes also. * \param theRemoveWebs If TRUE, perform Glue 3D algorithm. * \param theMaterials Material indices for each shape. Make sence, only if theRemoveWebs is TRUE. - * \param IsCheckSelfInte If TRUE, perform check self intersection - * of arguments before an operation. * * \return New GEOM_Object, containing the result shapes. */ @@ -2980,8 +2978,7 @@ module GEOM in short theLimit, in boolean theRemoveWebs, in ListOfLong theMaterials, - in short theKeepNonlimitShapes, - in boolean IsCheckSelfInte); + in short theKeepNonlimitShapes); /*! * \brief Perform partition operation. @@ -2990,7 +2987,10 @@ module GEOM * a compound containing nonintersected shapes. Performance will be better * since intersection between shapes from compound is not performed. * - * Description of all parameters as in previous method MakePartition() + * Description of all parameters as in previous method MakePartition(). + * One additional parameter is provided: + * \param IsCheckSelfInte If TRUE, perform check self intersection + * of arguments before an operation. * * \note Passed compounds (via ListShapes or via ListTools) * have to consist of nonintersecting shapes. @@ -3011,13 +3011,10 @@ module GEOM * \brief Perform partition of the Shape with the Plane * \param theShape Shape to be intersected. * \param thePlane Tool shape, to intersect theShape. - * \param IsCheckSelfInte If TRUE, perform check self intersection - * of arguments before an operation. * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeHalfPartition (in GEOM_Object theShape, - in GEOM_Object thePlane, - in boolean IsCheckSelfInte); + in GEOM_Object thePlane); }; // # GEOM_ICurvesOperations: diff --git a/src/GEOMImpl/GEOMImpl_IBooleanOperations.cxx b/src/GEOMImpl/GEOMImpl_IBooleanOperations.cxx index 8b2b2a1e9..a503e4c09 100644 --- a/src/GEOMImpl/GEOMImpl_IBooleanOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IBooleanOperations.cxx @@ -492,7 +492,7 @@ Handle(GEOM_Object) GEOMImpl_IBooleanOperations::MakePartition } pd << "], " << theKeepNonlimitShapes; - if (IsCheckSelfInte) { + if (IsCheckSelfInte && !thePerformSelfIntersections) { pd << ", True"; } @@ -508,8 +508,7 @@ Handle(GEOM_Object) GEOMImpl_IBooleanOperations::MakePartition */ //============================================================================= Handle(GEOM_Object) GEOMImpl_IBooleanOperations::MakeHalfPartition - (Handle(GEOM_Object) theShape, Handle(GEOM_Object) thePlane, - const Standard_Boolean IsCheckSelfInte) + (Handle(GEOM_Object) theShape, Handle(GEOM_Object) thePlane) { SetErrorCode(KO); @@ -535,7 +534,6 @@ Handle(GEOM_Object) GEOMImpl_IBooleanOperations::MakeHalfPartition aCI.SetShape(aRef1); aCI.SetPlane(aRef2); - aCI.SetCheckSelfIntersection(IsCheckSelfInte); //Compute the Partition value try { @@ -556,13 +554,7 @@ Handle(GEOM_Object) GEOMImpl_IBooleanOperations::MakeHalfPartition //Make a Python command GEOM::TPythonDump pd (aFunction); pd << aPart << " = geompy.MakeHalfPartition(" - << theShape << ", " << thePlane; - - if (IsCheckSelfInte) { - pd << ", True"; - } - - pd << ")"; + << theShape << ", " << thePlane << ")"; SetErrorCode(OK); return aPart; diff --git a/src/GEOMImpl/GEOMImpl_IBooleanOperations.hxx b/src/GEOMImpl/GEOMImpl_IBooleanOperations.hxx index 6fb712589..8db023a01 100644 --- a/src/GEOMImpl/GEOMImpl_IBooleanOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_IBooleanOperations.hxx @@ -68,8 +68,7 @@ class GEOMImpl_IBooleanOperations : public GEOM_IOperations { const Standard_Boolean IsCheckSelfInte); Standard_EXPORT Handle(GEOM_Object) MakeHalfPartition (Handle(GEOM_Object) theShape, - Handle(GEOM_Object) thePlane, - const Standard_Boolean IsCheckSelfInte); + Handle(GEOM_Object) thePlane); private: diff --git a/src/GEOMImpl/GEOMImpl_PartitionDriver.cxx b/src/GEOMImpl/GEOMImpl_PartitionDriver.cxx index 97625c539..c50b0a86a 100644 --- a/src/GEOMImpl/GEOMImpl_PartitionDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_PartitionDriver.cxx @@ -174,7 +174,7 @@ Standard_Integer GEOMImpl_PartitionDriver::Execute(TFunction_Logbook& log) const } // Check self-intersection. - if (isCheckSelfInte) { + if (isCheckSelfInte && aType == PARTITION_NO_SELF_INTERSECTIONS) { CheckSelfIntersection(aShape_i); } @@ -216,7 +216,7 @@ Standard_Integer GEOMImpl_PartitionDriver::Execute(TFunction_Logbook& log) const } // Check self-intersection. - if (isCheckSelfInte) { + if (isCheckSelfInte && aType == PARTITION_NO_SELF_INTERSECTIONS) { CheckSelfIntersection(aShape_i); } @@ -359,12 +359,6 @@ Standard_Integer GEOMImpl_PartitionDriver::Execute(TFunction_Logbook& log) const Standard_NullObject::Raise("In Half Partition a shape or a plane is null"); } - // Check self-intersection. - if (isCheckSelfInte) { - CheckSelfIntersection(aShapeArg); - CheckSelfIntersection(aPlaneArg); - } - TopoDS_Shape aShapeArg_copy; TopoDS_Shape aPlaneArg_copy; { @@ -405,8 +399,20 @@ Standard_Integer GEOMImpl_PartitionDriver::Execute(TFunction_Logbook& log) const } // add object shapes that are in ListShapes; - PS.AddArgument(aShapeArg_copy); - //PS.AddShape(aShapeArg); + TopTools_ListOfShape aSimpleShapes; + TopTools_MapOfShape aShapesMap; + + PrepareShapes(aShapeArg_copy, aType, aSimpleShapes); + + TopTools_ListIteratorOfListOfShape aSimpleIter (aSimpleShapes); + + for (; aSimpleIter.More(); aSimpleIter.Next()) { + const TopoDS_Shape& aSimpleSh = aSimpleIter.Value(); + + if (aShapesMap.Add(aSimpleSh)) { + PS.AddArgument(aSimpleSh); + } + } // add tool shapes that are in ListTools and not in ListShapes; PS.AddTool(aPlaneArg_copy); @@ -560,6 +566,10 @@ GetCreationInformation(std::string& theOperationName, AddParam( theParams, "Resulting type", (TopAbs_ShapeEnum) aCI.GetLimit()); AddParam( theParams, "Keep shapes of lower type", aCI.GetKeepNonlimitShapes()); AddParam( theParams, "No object intersections", ( aType == PARTITION_NO_SELF_INTERSECTIONS )); + + if (aType == PARTITION_NO_SELF_INTERSECTIONS) { + AddParam( theParams, "Check self-intersections", aCI.GetCheckSelfIntersection()); + } break; case PARTITION_HALF: AddParam( theParams, "Object", aCI.GetShape() ); diff --git a/src/GEOM_I/GEOM_IBooleanOperations_i.cc b/src/GEOM_I/GEOM_IBooleanOperations_i.cc index 2d56814e1..66dbcd625 100644 --- a/src/GEOM_I/GEOM_IBooleanOperations_i.cc +++ b/src/GEOM_I/GEOM_IBooleanOperations_i.cc @@ -200,8 +200,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition CORBA::Short theLimit, CORBA::Boolean theRemoveWebs, const GEOM::ListOfLong& theMaterials, - CORBA::Short theKeepNonlimitShapes, - CORBA::Boolean IsCheckSelfInte) + CORBA::Short theKeepNonlimitShapes) { GEOM::GEOM_Object_var aGEOMObject; @@ -235,7 +234,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartition theLimit, theRemoveWebs, aMaterials, theKeepNonlimitShapes, /*PerformSelfIntersections*/Standard_True, - IsCheckSelfInte); + /*IsCheckSelfInte*/Standard_False); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -304,8 +303,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakePartitionNonSelfIntersected //============================================================================= GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape, - GEOM::GEOM_Object_ptr thePlane, - CORBA::Boolean IsCheckSelfInte) + GEOM::GEOM_Object_ptr thePlane) { GEOM::GEOM_Object_var aGEOMObject; @@ -320,7 +318,7 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeHalfPartition // Make Half Partition Handle(GEOM_Object) anObject = - GetOperations()->MakeHalfPartition(aSh, aPl, IsCheckSelfInte); + GetOperations()->MakeHalfPartition(aSh, aPl); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); diff --git a/src/GEOM_I/GEOM_IBooleanOperations_i.hh b/src/GEOM_I/GEOM_IBooleanOperations_i.hh index 5d1c3489b..dea57d833 100644 --- a/src/GEOM_I/GEOM_IBooleanOperations_i.hh +++ b/src/GEOM_I/GEOM_IBooleanOperations_i.hh @@ -64,8 +64,7 @@ class GEOM_I_EXPORT GEOM_IBooleanOperations_i : CORBA::Short theLimit, CORBA::Boolean theRemoveWebs, const GEOM::ListOfLong& theMaterials, - CORBA::Short theKeepNonlimitShapes, - CORBA::Boolean IsCheckSelfInte); + CORBA::Short theKeepNonlimitShapes); GEOM::GEOM_Object_ptr MakePartitionNonSelfIntersectedShape (const GEOM::ListOfGO& theShapes, const GEOM::ListOfGO& theTools, @@ -79,8 +78,7 @@ class GEOM_I_EXPORT GEOM_IBooleanOperations_i : GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape, - GEOM::GEOM_Object_ptr thePlane, - CORBA::Boolean IsCheckSelfInte); + GEOM::GEOM_Object_ptr thePlane); ::GEOMImpl_IBooleanOperations* GetOperations() { return (::GEOMImpl_IBooleanOperations*)GetImpl(); } diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc index 708f793dc..71e38f9d2 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.cc +++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc @@ -1528,7 +1528,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theSha myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(), aListImplKI->GetList(), aListImplRI->GetList(), theLimit, theRemoveWebs, aListImplM->GetList(), - theKeepNonlimitShapes, false); + theKeepNonlimitShapes); endService( " GEOM_Superv_i::MakePartition" ); return anObj; } @@ -1546,7 +1546,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr th MESSAGE("GEOM_Superv_i::MakeHalfPartition"); getBoolOp(); GEOM::GEOM_Object_ptr anObj = - myBoolOp->MakeHalfPartition(theShape, thePlane, false); + myBoolOp->MakeHalfPartition(theShape, thePlane); endService( " GEOM_Superv_i::MakeHalfPartition" ); return anObj; } diff --git a/src/GEOM_SWIG/geomBuilder.py b/src/GEOM_SWIG/geomBuilder.py index 9b1a12a27..62bf941d0 100644 --- a/src/GEOM_SWIG/geomBuilder.py +++ b/src/GEOM_SWIG/geomBuilder.py @@ -7115,16 +7115,6 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # target type (equal to Limit) are kept in the result, # else standalone shapes of lower dimension # are kept also (if they exist). - # @param checkSelfInte The flag that tells if the arguments should - # be checked for self-intersection prior to the operation. - # - # @note This algorithm doesn't find all types of self-intersections. - # It is tuned to detect vertex/vertex, vertex/edge, edge/edge, - # vertex/face and edge/face intersections. Face/face - # intersections detection is switched off as it is a - # time-consuming operation that gives an impact on performance. - # To find all self-intersections please use - # CheckSelfIntersections() method. # # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic @@ -7149,7 +7139,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # @ref tui_partition "Example" def MakePartition(self, ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[], Limit=ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], - KeepNonlimitShapes=0, checkSelfInte=False, theName=None): + KeepNonlimitShapes=0, theName=None): """ Perform partition operation. @@ -7163,18 +7153,6 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): target type (equal to Limit) are kept in the result, else standalone shapes of lower dimension are kept also (if they exist). - checkSelfInte The flag that tells if the arguments should - be checked for self-intersection prior to - the operation. - - Note: - This algorithm doesn't find all types of self-intersections. - It is tuned to detect vertex/vertex, vertex/edge, edge/edge, - vertex/face and edge/face intersections. Face/face - intersections detection is switched off as it is a - time-consuming operation that gives an impact on performance. - To find all self-intersections please use - CheckSelfIntersections() method. theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic @@ -7209,7 +7187,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): anObj = self.BoolOp.MakePartition(ListShapes, ListTools, ListKeepInside, ListRemoveInside, Limit, RemoveWebs, ListMaterials, - KeepNonlimitShapes, checkSelfInte); + KeepNonlimitShapes); RaiseIfFailed("MakePartition", self.BoolOp) self._autoPublish(anObj, theName, "partition") return anObj @@ -7219,7 +7197,18 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # compound contains nonintersected shapes. Performance will be better # since intersection between shapes from compound is not performed. # - # Description of all parameters as in previous method MakePartition() + # Description of all parameters as in previous method MakePartition(). + # One additional parameter is provided: + # @param checkSelfInte The flag that tells if the arguments should + # be checked for self-intersection prior to the operation. + # + # @note This algorithm doesn't find all types of self-intersections. + # It is tuned to detect vertex/vertex, vertex/edge, edge/edge, + # vertex/face and edge/face intersections. Face/face + # intersections detection is switched off as it is a + # time-consuming operation that gives an impact on performance. + # To find all self-intersections please use + # CheckSelfIntersections() method. # # @note Passed compounds (via ListShapes or via ListTools) # have to consist of nonintersecting shapes. @@ -7239,7 +7228,20 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): since intersection between shapes from compound is not performed. Parameters: - Description of all parameters as in method geompy.MakePartition + Description of all parameters as in method geompy.MakePartition. + One additional parameter is provided: + checkSelfInte The flag that tells if the arguments should + be checked for self-intersection prior to + the operation. + + Note: + This algorithm doesn't find all types of self-intersections. + It is tuned to detect vertex/vertex, vertex/edge, edge/edge, + vertex/face and edge/face intersections. Face/face + intersections detection is switched off as it is a + time-consuming operation that gives an impact on performance. + To find all self-intersections please use + CheckSelfIntersections() method. NOTE: Passed compounds (via ListShapes or via ListTools) @@ -7268,7 +7270,7 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): # \n @ref swig_Partition "Example 2" def Partition(self, ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[], Limit=ShapeType["AUTO"], RemoveWebs=0, ListMaterials=[], - KeepNonlimitShapes=0, checkSelfInte=False, theName=None): + KeepNonlimitShapes=0, theName=None): """ See method geompy.MakePartition for more information. """ @@ -7277,58 +7279,35 @@ class geomBuilder(object, GEOM._objref_GEOM_Gen): anObj = self.MakePartition(ListShapes, ListTools, ListKeepInside, ListRemoveInside, Limit, RemoveWebs, ListMaterials, - KeepNonlimitShapes, checkSelfInte, - theName); + KeepNonlimitShapes, theName); return anObj ## Perform partition of the Shape with the Plane # @param theShape Shape to be intersected. # @param thePlane Tool shape, to intersect theShape. - # @param checkSelfInte The flag that tells if the arguments should - # be checked for self-intersection prior to the operation. # @param theName Object name; when specified, this parameter is used # for result publication in the study. Otherwise, if automatic # publication is switched on, default value is used for result name. # - # @note This algorithm doesn't find all types of self-intersections. - # It is tuned to detect vertex/vertex, vertex/edge, edge/edge, - # vertex/face and edge/face intersections. Face/face - # intersections detection is switched off as it is a - # time-consuming operation that gives an impact on performance. - # To find all self-intersections please use - # CheckSelfIntersections() method. - # # @return New GEOM.GEOM_Object, containing the result shape. # # @ref tui_partition "Example" - def MakeHalfPartition(self, theShape, thePlane, checkSelfInte=False, theName=None): + def MakeHalfPartition(self, theShape, thePlane, theName=None): """ Perform partition of the Shape with the Plane Parameters: theShape Shape to be intersected. thePlane Tool shape, to intersect theShape. - checkSelfInte The flag that tells if the arguments should - be checked for self-intersection prior to - the operation. theName Object name; when specified, this parameter is used for result publication in the study. Otherwise, if automatic publication is switched on, default value is used for result name. - Note: - This algorithm doesn't find all types of self-intersections. - It is tuned to detect vertex/vertex, vertex/edge, edge/edge, - vertex/face and edge/face intersections. Face/face - intersections detection is switched off as it is a - time-consuming operation that gives an impact on performance. - To find all self-intersections please use - CheckSelfIntersections() method. - Returns: New GEOM.GEOM_Object, containing the result shape. """ # Example: see GEOM_TestAll.py - anObj = self.BoolOp.MakeHalfPartition(theShape, thePlane, checkSelfInte) + anObj = self.BoolOp.MakeHalfPartition(theShape, thePlane) RaiseIfFailed("MakeHalfPartition", self.BoolOp) self._autoPublish(anObj, theName, "partition") return anObj diff --git a/src/OperationGUI/OperationGUI_PartitionDlg.cxx b/src/OperationGUI/OperationGUI_PartitionDlg.cxx index b6f4cb9d0..07ea18eb4 100644 --- a/src/OperationGUI/OperationGUI_PartitionDlg.cxx +++ b/src/OperationGUI/OperationGUI_PartitionDlg.cxx @@ -144,7 +144,7 @@ void OperationGUI_PartitionDlg::Init() GroupPoints->ComboBox1->addItem( tr( "GEOM_RECONSTRUCTION_LIMIT_VERTEX" ) ); GroupPoints->ComboBox1->setItemData(GroupPoints->ComboBox1->count()-1, GEOM::VERTEX); GroupPoints->CheckButton1->setChecked( false ); - mySelfInte->setChecked(true); + mySelfInte->setChecked(false); mainFrame()->GroupBoxPublish->show(); @@ -167,8 +167,10 @@ void OperationGUI_PartitionDlg::Init() connect( GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(processPreview()) ); connect( GroupPoints->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(processPreview()) ); + connect( GroupPoints->CheckButton2, SIGNAL(toggled(bool)), mySelfInte, SLOT(setEnabled(bool)) ); connect( mySelfInte, SIGNAL(toggled(bool)), this, SLOT(processPreview()) ); + mySelfInte->setEnabled(GroupPoints->CheckButton2->isChecked()); initName( tr( "GEOM_PARTITION" ) ); ConstructorsClicked( 0 ); @@ -201,6 +203,7 @@ void OperationGUI_PartitionDlg::ConstructorsClicked( int constructorId ) GroupPoints->ComboBox1->setCurrentIndex( 0 ); GroupPoints->CheckButton1->show(); GroupPoints->CheckButton2->show(); + mySelfInte->show(); GroupPoints->PushButton1->setDown( true ); GroupPoints->PushButton2->setDown( false ); GroupPoints->LineEdit1->setEnabled(true); @@ -214,6 +217,7 @@ void OperationGUI_PartitionDlg::ConstructorsClicked( int constructorId ) GroupPoints->TextLabel2->setText( tr( "GEOM_PLANE" ) ); GroupPoints->CheckButton1->hide(); GroupPoints->CheckButton2->hide(); + mySelfInte->hide(); GroupPoints->PushButton1->setDown( true ); GroupPoints->LineEdit1->setEnabled(true); break; @@ -446,13 +450,13 @@ bool OperationGUI_PartitionDlg::execute (ObjectList& objects) { bool res = false; GEOM::GEOM_Object_var anObj; - bool isDetectSelfInte = mySelfInte->isChecked(); GEOM::GEOM_IBooleanOperations_var anOper = GEOM::GEOM_IBooleanOperations::_narrow(getOperation()); switch ( getConstructorId() ) { case 0: { + bool isDetectSelfInte = mySelfInte->isChecked(); int aLimit = GetLimit(); int aKeepNonlimitShapes = GroupPoints->CheckButton1->isChecked(); bool aNoSelfIntersection = GroupPoints->CheckButton2->isChecked(); @@ -464,15 +468,13 @@ bool OperationGUI_PartitionDlg::execute (ObjectList& objects) isDetectSelfInte) : anOper->MakePartition(myListShapes, myListTools, myListKeepInside, myListRemoveInside, - aLimit, false, myListMaterials, aKeepNonlimitShapes, - isDetectSelfInte); + aLimit, false, myListMaterials, aKeepNonlimitShapes); res = true; } break; case 1: { - anObj = anOper->MakeHalfPartition( myListShapes[0].in(), myListTools[0].in(), - isDetectSelfInte ); + anObj = anOper->MakeHalfPartition(myListShapes[0].in(), myListTools[0].in()); res = true; } break; -- 2.39.2