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,