From: emv Date: Thu, 21 Feb 2013 09:35:40 +0000 (+0400) Subject: 0023778: New Boolean Operation algorithm does not work with same arguments. X-Git-Tag: V6_6_0_beta~62 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=7cfb39680fb6bf5e184f1dee156672625578dd21;p=occt-copy.git 0023778: New Boolean Operation algorithm does not work with same arguments. Fix for the bug. --- diff --git a/src/BOPAlgo/BOPAlgo_BOP.cxx b/src/BOPAlgo/BOPAlgo_BOP.cxx index ec0817240f..0ce082969e 100644 --- a/src/BOPAlgo/BOPAlgo_BOP.cxx +++ b/src/BOPAlgo/BOPAlgo_BOP.cxx @@ -155,11 +155,18 @@ static // aNb=myArguments.Extent(); if (aNb!=myNbArgs) { - myErrorStatus=10; // invalid number of arguments + if (aNb!=1 || !(myArgs[0].IsSame(myArgs[1]))) { + myErrorStatus=10; // invalid number of arguments + return; + } + } + // + if (!myPaveFiller) { + myErrorStatus=101; return; } // - BOPAlgo_Builder::CheckData(); + myErrorStatus=myPaveFiller->ErrorStatus(); if (myErrorStatus) { return; } @@ -187,20 +194,20 @@ static } // if (myOperation==BOPAlgo_UNKNOWN) { - myErrorStatus=14; // non-licit oprtation + myErrorStatus=14; // non-licit operation return; } else if (myDims[0]myDims[1]) { if (myOperation==BOPAlgo_FUSE || myOperation==BOPAlgo_CUT) { - myErrorStatus=14; // non-licit oprtation for the arguments + myErrorStatus=14; // non-licit operation for the arguments return; } }