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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user