From 6b5b88d70726548d087d441a4d8365d60a151080 Mon Sep 17 00:00:00 2001 From: nbv Date: Thu, 30 Apr 2015 13:57:03 +0300 Subject: [PATCH] 0024161: boolean operation hanging The reason of hanging has been eliminated. Test case for issue CR24161 Small correction of test case for this issue --- src/IntWalk/IntWalk_PWalking.cxx | 28 +++++++++------------------- tests/bugs/modalg_6/bug24161 | 23 +++++++++++++++++++++++ 2 files changed, 32 insertions(+), 19 deletions(-) create mode 100644 tests/bugs/modalg_6/bug24161 diff --git a/src/IntWalk/IntWalk_PWalking.cxx b/src/IntWalk/IntWalk_PWalking.cxx index 539b1ee2c4..f870367c9f 100644 --- a/src/IntWalk/IntWalk_PWalking.cxx +++ b/src/IntWalk/IntWalk_PWalking.cxx @@ -1003,28 +1003,18 @@ void IntWalk_PWalking::Perform(const TColStd_Array1OfReal& ParDep, if(LevelOfIterWithoutAppend > 5) { - if(pasSav[0] pasInit[i]) + continue; - if(pasSav[1] Epsilon(pasInit[i])) + { + pasInit[i] -= aDelta; + LevelOfIterWithoutAppend=0; + } } } diff --git a/tests/bugs/modalg_6/bug24161 b/tests/bugs/modalg_6/bug24161 new file mode 100644 index 0000000000..4bf77d10a5 --- /dev/null +++ b/tests/bugs/modalg_6/bug24161 @@ -0,0 +1,23 @@ +puts "==========" +puts "OCC24161" +puts "==========" +puts "" +########################################### +# boolean operation hanging +########################################### + +cpulimit 100 + +restore [locate_data_file bug24161_MirrorSolids.brep] m +explode m + +bop m_1 m_2 +bopfuse result + +checkshape result +bopargcheck result + +smallview +donly result + +set only_screen_axo 1 -- 2.39.5