From c7354b8f8111eea5308ef4c2eb9d4e7778d30189 Mon Sep 17 00:00:00 2001 From: akaftasev Date: Mon, 22 Jan 2024 12:38:55 +0000 Subject: [PATCH] 0033581: Modeling Algorithm - HLR produces wrong results or stucks on the given models This reverts commit 06392edef74968449a58afd200bc49e39ca3652f. --- src/IntWalk/IntWalk_IWalking_4.gxx | 9 +-------- tests/bugs/modalg_7/bug27390_1 | 4 ++-- tests/bugs/modalg_7/bug27390_2 | 4 ++-- tests/bugs/modalg_7/bug32291 | 29 ----------------------------- 4 files changed, 5 insertions(+), 41 deletions(-) delete mode 100644 tests/bugs/modalg_7/bug32291 diff --git a/src/IntWalk/IntWalk_IWalking_4.gxx b/src/IntWalk/IntWalk_IWalking_4.gxx index 8965974e8c..32598d3f14 100644 --- a/src/IntWalk/IntWalk_IWalking_4.gxx +++ b/src/IntWalk/IntWalk_IWalking_4.gxx @@ -178,8 +178,7 @@ void IntWalk_IWalking::ComputeCloseLine(const TColStd_SequenceOfReal& Umult, #ifdef CHRONO Chronrsnld.Stop(); #endif - Standard_Boolean isOnDegeneratedBorder = Standard_False; - + if (Cadre) { // update of limits. BornInf(1) = Um;BornSup(1) = UM;BornInf(2) = Vm;BornSup(2) = VM; } @@ -263,7 +262,6 @@ void IntWalk_IWalking::ComputeCloseLine(const TColStd_SequenceOfReal& Umult, / (uv[aCoordIdx - 1] - uvprev[aCoordIdx - 1]) ); Standard_Integer aFixIdx = aCoordIdx == 1? 2 : 1; // Fixing index; Uvap(aFixIdx) = uv[aFixIdx - 1] + (uv[aFixIdx - 1] - uvprev[aFixIdx - 1]) * aScaleCoeff; - isOnDegeneratedBorder = Standard_True; } } } @@ -309,8 +307,6 @@ void IntWalk_IWalking::ComputeCloseLine(const TColStd_SequenceOfReal& Umult, if (N <= 0) { // jag 941017 MakeWalkingPoint(2,Uvap(1),Uvap(2),Func,Psol); Tgtend = Func.IsTangent(); // jag 940616 - if (isOnDegeneratedBorder) - Tgtend = Standard_True; N = -N; } Arrive = (wd2[I].etat == 12); // the line is open @@ -319,9 +315,6 @@ void IntWalk_IWalking::ComputeCloseLine(const TColStd_SequenceOfReal& Umult, aStatus = TestDeflection(Func, Arrive,Uvap,StatusPrecedent, NbDivision,PasC,StepSign); - if (isOnDegeneratedBorder && Tgtend) - aStatus = IntWalk_ArretSurPoint; - StatusPrecedent = aStatus; if (aStatus == IntWalk_PasTropGrand) {// division of the step Arrive = Standard_False; diff --git a/tests/bugs/modalg_7/bug27390_1 b/tests/bugs/modalg_7/bug27390_1 index 2ec6521b9d..0279f17348 100755 --- a/tests/bugs/modalg_7/bug27390_1 +++ b/tests/bugs/modalg_7/bug27390_1 @@ -19,14 +19,14 @@ checkprops result -s 8206.54 set nbshapes_expected " Number of shapes in shape VERTEX : 5 - EDGE : 8 + EDGE : 9 WIRE : 4 FACE : 4 SHELL : 1 SOLID : 1 COMPSOLID : 0 COMPOUND : 1 - SHAPE : 24 + SHAPE : 25 " checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations common" diff --git a/tests/bugs/modalg_7/bug27390_2 b/tests/bugs/modalg_7/bug27390_2 index c1b41651af..357657c6dc 100755 --- a/tests/bugs/modalg_7/bug27390_2 +++ b/tests/bugs/modalg_7/bug27390_2 @@ -19,14 +19,14 @@ checkprops result -s 34566 set nbshapes_expected " Number of shapes in shape VERTEX : 13 - EDGE : 20 + EDGE : 21 WIRE : 8 FACE : 8 SHELL : 1 SOLID : 1 COMPSOLID : 0 COMPOUND : 1 - SHAPE : 52 + SHAPE : 53 " checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations cut" diff --git a/tests/bugs/modalg_7/bug32291 b/tests/bugs/modalg_7/bug32291 deleted file mode 100644 index fb12577aaa..0000000000 --- a/tests/bugs/modalg_7/bug32291 +++ /dev/null @@ -1,29 +0,0 @@ -puts "=======================================================" -puts " 0032291: General Fuse produces wrong number of solids" -puts "=======================================================" -puts "" - -restore [locate_data_file bug32291.brep] s - -explode s -baddobjects s_1 -baddtools s_2 s_3 s_4 s_5 s_6 s_7 s_8 -bfillds -bbuild result - -checkshape result - -checknbshapes result -vertex 79 -edge 176 -wire 112 -face 112 -shell 18 -solid 18 - -set tolres [checkmaxtol result] - -if { ${tolres} > 7.e-5} { - puts "Error: bad tolerance of result" -} - -axo -clear -explode result So -fit - -checkview -screenshot -2d -path ${imagedir}/${test_image}.png