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

0024558: Boolean operation can not create all results solids which should be built.

Corrections in checking 2d distances when splitting wires.
Test case for the issue.
This commit is contained in:
emv
2014-02-12 15:40:05 +04:00
committed by apn
parent d5f74e42d6
commit ecba6de3cc
4 changed files with 203 additions and 175 deletions

View File

@@ -135,10 +135,14 @@ void IntTools_EdgeEdge::Prepare()
aDt = (aT2 - aT1) / 10.;
aT = aT1;
aBAC.D1(aT, aP, aV1);
while (aT <= aT2) {
while (aT < aT2) {
aT += aDt;
aBAC.D1(aT, aP, aV2);
aC += aV1.Angle(aV2);
if (aV1.Magnitude() > gp::Resolution() &&
aV2.Magnitude() > gp::Resolution()) {
gp_Dir aD1(aV1), aD2(aV2);
aC += aD1.Angle(aD2);
}
aV1 = aV2;
}
}