1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

0025242: Wrong result of cut operation.

1. class BOPDS_Iterator
method:
void BOPDS_Iterator::Intersect()
The ttreatment of solid/* interferences has been added.

2 class BOPAlgo_PaveFiller
protected methods:
void BOPAlgo_PaveFiller::PerformVZ()
void BOPAlgo_PaveFiller::PerformEZ()
void BOPAlgo_PaveFiller::PerformFZ()
void BOPAlgo_PaveFiller::PerformZZ()
has been added.
The methods are to Compute
Vertex/Solid
Edge/Solid
Face/Solid
Solid/Solid
interferences.

3. class BOPAlgo_PaveFiller
protected method:
void BOPAlgo_PaveFiller::PerformFF()
Empty interferences has not been added in the interferences' table

4. class BOPAlgo_CheckerSI
protected methods:
void BOPAlgo_CheckerSI::PerformVZ()
void BOPAlgo_CheckerSI:PerformEZ()
void BOPAlgo_CheckerSI::PerformFZ()
void BOPAlgo_CheckerSI::PerformZZ()
has been removed.

5. class BOPAlgo_BOP
protected method:
void BOPAlgo_BOP::BuildRC()
void BOPAlgo_BOP::BuildSolid()
changed to treat non-interferred solids and keep it in the result as they were

Test case for issue #25242
This commit is contained in:
pkv
2014-09-25 13:30:35 +04:00
committed by bugmaster
parent 418864aea1
commit 955b3e7102
10 changed files with 214 additions and 67 deletions

View File

@@ -146,26 +146,6 @@ void BOPAlgo_CheckerSI::Perform()
BOPAlgo_PaveFiller::Perform();
iErr=myErrorStatus;
//
PerformVZ();
if (myErrorStatus) {
iErr=myErrorStatus;
}
//
PerformEZ();
if (myErrorStatus) {
iErr=myErrorStatus;
}
//
PerformFZ();
if (myErrorStatus) {
iErr=myErrorStatus;
}
//
PerformZZ();
if (myErrorStatus) {
iErr=myErrorStatus;
}
//
PostTreat();
if (myErrorStatus) {
iErr=myErrorStatus;