1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0028508: Make the CellsBuilder algorithm to work with multi-dimensional arguments

1. The CellsBuilder algorithm has been extended to work with multi-dimensional arguments.
It has become possible not only simulate Boolean expressions, but also perform non-supported
Boolean operations, like cutting face from solid, or fusing face with edge.

2. Test cases with multi-dimensional input shapes have been created.

3. Documentation has been updated.
This commit is contained in:
emv
2017-03-10 15:13:48 +03:00
committed by bugmaster
parent 2967828dbf
commit e8b9db57cd
19 changed files with 1201 additions and 426 deletions

View File

@@ -137,7 +137,7 @@ Standard_Integer bcbuild(Draw_Interpretor& di,
//purpose :
//=======================================================================
Standard_Integer bcaddall(Draw_Interpretor& di,
Standard_Integer n,
Standard_Integer n,
const char** a)
{
if (n < 2 || n > 5) {
@@ -162,6 +162,10 @@ Standard_Integer bcaddall(Draw_Interpretor& di,
//
aCBuilder.AddAllToResult(iMaterial, bUpdate);
//
Standard_SStream aSStream;
aCBuilder.DumpWarnings(aSStream);
di << aSStream;
//
const TopoDS_Shape& aR = aCBuilder.Shape();
//
DBRep::Set(a[1], aR);
@@ -243,6 +247,10 @@ Standard_Integer bcadd(Draw_Interpretor& di,
BOPAlgo_CellsBuilder& aCBuilder = BOPTest_Objects::CellsBuilder();
aCBuilder.AddToResult(aLSToTake, aLSToAvoid, iMaterial, bUpdate);
//
Standard_SStream aSStream;
aCBuilder.DumpWarnings(aSStream);
di << aSStream;
//
const TopoDS_Shape& aR = aCBuilder.Shape();
//
DBRep::Set(a[1], aR);
@@ -311,6 +319,10 @@ Standard_Integer bcremoveint(Draw_Interpretor& di,
BOPAlgo_CellsBuilder& aCBuilder = BOPTest_Objects::CellsBuilder();
aCBuilder.RemoveInternalBoundaries();
//
Standard_SStream aSStream;
aCBuilder.DumpWarnings(aSStream);
di << aSStream;
//
const TopoDS_Shape& aR = aCBuilder.Shape();
//
DBRep::Set(a[1], aR);