mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-08 14:17:06 +03:00
0024029: Add a flag to bopcheck command to provide possibility to disable Face/Face intersection
Added new parameter to bopcheck command that defines which interferences to check: bopcheck shape [level of check: 0 - 5] Examples: 1. bopcheck shape 1 #The level of check is set to V/E, i.e. intersections #E/E, V/F, E/F, F/F will not be checked. 2. bopcheck shape 4 #The level of check is set to E/F, i.e. intersection F/F is disabled. 3. bopcheck shape 5 #All intersections will be checked. It is the same as bopcheck shape. Added test case bugs/modalg_5/bug24029
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
|
||||
#include <BOPDS_DS.hxx>
|
||||
#include <BOPDS_IteratorSI.hxx>
|
||||
#include <BOPDS_PIteratorSI.hxx>
|
||||
#include <BOPInt_Context.hxx>
|
||||
|
||||
//=======================================================================
|
||||
@@ -31,7 +32,8 @@
|
||||
//=======================================================================
|
||||
BOPAlgo_CheckerSI::BOPAlgo_CheckerSI()
|
||||
:
|
||||
BOPAlgo_PaveFiller()
|
||||
BOPAlgo_PaveFiller(),
|
||||
myLevelOfCheck(5)
|
||||
{
|
||||
}
|
||||
//=======================================================================
|
||||
@@ -42,6 +44,16 @@
|
||||
{
|
||||
}
|
||||
//=======================================================================
|
||||
//function : SetLevelOfCheck
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void BOPAlgo_CheckerSI::SetLevelOfCheck(const Standard_Integer theLevel)
|
||||
{
|
||||
if (theLevel >= 0 && theLevel <= 5) {
|
||||
myLevelOfCheck = theLevel;
|
||||
}
|
||||
}
|
||||
//=======================================================================
|
||||
//function : Init
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
@@ -62,9 +74,12 @@
|
||||
myDS->Init();
|
||||
//
|
||||
// 2.myIterator
|
||||
myIterator=new BOPDS_IteratorSI(myAllocator);
|
||||
myIterator->SetDS(myDS);
|
||||
myIterator->Prepare();
|
||||
BOPDS_PIteratorSI theIterSI=new BOPDS_IteratorSI(myAllocator);
|
||||
theIterSI->SetDS(myDS);
|
||||
theIterSI->Prepare();
|
||||
theIterSI->UpdateByLevelOfCheck(myLevelOfCheck);
|
||||
//
|
||||
myIterator=theIterSI;
|
||||
//
|
||||
// 3 myContext
|
||||
myContext=new BOPInt_Context;
|
||||
|
Reference in New Issue
Block a user