diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl
index 8970992f1..438905932 100644
--- a/idl/GEOM_Superv.idl
+++ b/idl/GEOM_Superv.idl
@@ -238,11 +238,15 @@ module GEOM
//-----------------------------------------------------------//
GEOM_Object MakeBoolean (in GEOM_Object theShape1,
in GEOM_Object theShape2,
- in long theOperation,
- in boolean IsCheckSelfInte) ;
+ in long theOperation) ;
GEOM_Object MakeFuse (in GEOM_Object theShape1,
- in GEOM_Object theShape2,
- in boolean IsCheckSelfInte) ;
+ in GEOM_Object theShape2) ;
+ GEOM_Object MakeCommon (in GEOM_Object theShape1,
+ in GEOM_Object theShape2) ;
+ GEOM_Object MakeCut (in GEOM_Object theShape1,
+ in GEOM_Object theShape2) ;
+ GEOM_Object MakeSection (in GEOM_Object theShape1,
+ in GEOM_Object theShape2) ;
GEOM_Object MakePartition (in GEOM_List theShapes,
in GEOM_List theTools,
in GEOM_List theKeepInside,
diff --git a/resources/GEOMCatalog.xml.in b/resources/GEOMCatalog.xml.in
index 4ce7fe077..96171c474 100644
--- a/resources/GEOMCatalog.xml.in
+++ b/resources/GEOMCatalog.xml.in
@@ -1951,6 +1951,87 @@
+
+ MakeCut
+
+
+ unknown
+ 0
+
+
+ theShape1
+ GEOM_Object
+ unknown
+
+
+ theShape2
+ GEOM_Object
+ unknown
+
+
+
+
+ return
+ GEOM_Object
+ unknown
+
+
+
+
+
+ MakeCommon
+
+
+ unknown
+ 0
+
+
+ theShape1
+ GEOM_Object
+ unknown
+
+
+ theShape2
+ GEOM_Object
+ unknown
+
+
+
+
+ return
+ GEOM_Object
+ unknown
+
+
+
+
+
+ MakeSection
+
+
+ unknown
+ 0
+
+
+ theShape1
+ GEOM_Object
+ unknown
+
+
+ theShape2
+ GEOM_Object
+ unknown
+
+
+
+
+ return
+ GEOM_Object
+ unknown
+
+
+
+
MakePartition
diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc
index 17c58cf1d..2d563ef8c 100644
--- a/src/GEOM_I_Superv/GEOM_Superv_i.cc
+++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc
@@ -1340,8 +1340,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
(GEOM::GEOM_Object_ptr theShape1,
GEOM::GEOM_Object_ptr theShape2,
- CORBA::Long theOperation,
- CORBA::Boolean IsCheckSelfInte)
+ CORBA::Long theOperation)
{
beginService( " GEOM_Superv_i::MakeBoolean" );
// theOperation indicates the operation to be done:
@@ -1349,7 +1348,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
MESSAGE("GEOM_Superv_i::MakeBoolean");
getBoolOp();
GEOM::GEOM_Object_ptr anObj =
- myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, IsCheckSelfInte);
+ myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
endService( " GEOM_Superv_i::MakeBoolean" );
return anObj;
}
@@ -1452,18 +1451,53 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
//=============================================================================
GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
(GEOM::GEOM_Object_ptr theShape1,
- GEOM::GEOM_Object_ptr theShape2,
- CORBA::Boolean IsCheckSelfInte)
+ GEOM::GEOM_Object_ptr theShape2)
{
beginService( " GEOM_Superv_i::MakeFuse" );
MESSAGE("GEOM_Superv_i::MakeFuse");
getBoolOp();
GEOM::GEOM_Object_ptr anObj =
- myBoolOp->MakeBoolean(theShape1, theShape2, 3, IsCheckSelfInte);
+ myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
endService( " GEOM_Superv_i::MakeFuse" );
return anObj;
}
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2)
+{
+ beginService( " GEOM_Superv_i::MakeCommon" );
+ MESSAGE("GEOM_Superv_i::MakeCommon");
+ getBoolOp();
+ GEOM::GEOM_Object_ptr anObj =
+ myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
+ endService( " GEOM_Superv_i::MakeCommon" );
+ return anObj;
+}
+
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2)
+{
+ beginService( " GEOM_Superv_i::MakeCut" );
+ MESSAGE("GEOM_Superv_i::MakeCut");
+ getBoolOp();
+ GEOM::GEOM_Object_ptr anObj =
+ myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
+ endService( " GEOM_Superv_i::MakeCut" );
+ return anObj;
+}
+
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2)
+{
+ beginService( " GEOM_Superv_i::MakeCut" );
+ MESSAGE("GEOM_Superv_i::MakeCut");
+ getBoolOp();
+ GEOM::GEOM_Object_ptr anObj =
+ myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
+ endService( " GEOM_Superv_i::MakeCut" );
+ return anObj;
+}
+
//=============================================================================
// MakePartition:
//=============================================================================
diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh
index 524d164d3..6136b3e74 100644
--- a/src/GEOM_I_Superv/GEOM_Superv_i.hh
+++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh
@@ -332,11 +332,15 @@ public:
//-----------------------------------------------------------//
GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
GEOM::GEOM_Object_ptr theShape2,
- CORBA::Long theOperation,
- CORBA::Boolean IsCheckSelfInte);
+ CORBA::Long theOperation);
GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
- GEOM::GEOM_Object_ptr theShape2,
- CORBA::Boolean IsCheckSelfInte);
+ GEOM::GEOM_Object_ptr theShape2);
+ GEOM::GEOM_Object_ptr MakeCommon (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2);
+ GEOM::GEOM_Object_ptr MakeCut (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2);
+ GEOM::GEOM_Object_ptr MakeSection (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2);
GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes,
GEOM::GEOM_List_ptr theTools,
GEOM::GEOM_List_ptr theKeepInside,