1
0
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:
emv
2013-07-12 12:21:38 +04:00
parent 388fc344c9
commit c1fe53c64e
8 changed files with 131 additions and 26 deletions

View File

@@ -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;