1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-06-05 11:24:17 +03:00

0033581: Modeling Algorithm - HLR produces wrong results or stucks on the given models

This reverts commit 06392edef74968449a58afd200bc49e39ca3652f.
This commit is contained in:
akaftasev 2024-01-22 12:38:55 +00:00
parent 78541f86af
commit c7354b8f81
4 changed files with 5 additions and 41 deletions

View File

@ -178,8 +178,7 @@ void IntWalk_IWalking::ComputeCloseLine(const TColStd_SequenceOfReal& Umult,
#ifdef CHRONO #ifdef CHRONO
Chronrsnld.Stop(); Chronrsnld.Stop();
#endif #endif
Standard_Boolean isOnDegeneratedBorder = Standard_False;
if (Cadre) { // update of limits. if (Cadre) { // update of limits.
BornInf(1) = Um;BornSup(1) = UM;BornInf(2) = Vm;BornSup(2) = VM; 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]) ); / (uv[aCoordIdx - 1] - uvprev[aCoordIdx - 1]) );
Standard_Integer aFixIdx = aCoordIdx == 1? 2 : 1; // Fixing index; Standard_Integer aFixIdx = aCoordIdx == 1? 2 : 1; // Fixing index;
Uvap(aFixIdx) = uv[aFixIdx - 1] + (uv[aFixIdx - 1] - uvprev[aFixIdx - 1]) * aScaleCoeff; 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 if (N <= 0) { // jag 941017
MakeWalkingPoint(2,Uvap(1),Uvap(2),Func,Psol); MakeWalkingPoint(2,Uvap(1),Uvap(2),Func,Psol);
Tgtend = Func.IsTangent(); // jag 940616 Tgtend = Func.IsTangent(); // jag 940616
if (isOnDegeneratedBorder)
Tgtend = Standard_True;
N = -N; N = -N;
} }
Arrive = (wd2[I].etat == 12); // the line is open 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, aStatus = TestDeflection(Func, Arrive,Uvap,StatusPrecedent,
NbDivision,PasC,StepSign); NbDivision,PasC,StepSign);
if (isOnDegeneratedBorder && Tgtend)
aStatus = IntWalk_ArretSurPoint;
StatusPrecedent = aStatus; StatusPrecedent = aStatus;
if (aStatus == IntWalk_PasTropGrand) {// division of the step if (aStatus == IntWalk_PasTropGrand) {// division of the step
Arrive = Standard_False; Arrive = Standard_False;

View File

@ -19,14 +19,14 @@ checkprops result -s 8206.54
set nbshapes_expected " set nbshapes_expected "
Number of shapes in shape Number of shapes in shape
VERTEX : 5 VERTEX : 5
EDGE : 8 EDGE : 9
WIRE : 4 WIRE : 4
FACE : 4 FACE : 4
SHELL : 1 SHELL : 1
SOLID : 1 SOLID : 1
COMPSOLID : 0 COMPSOLID : 0
COMPOUND : 1 COMPOUND : 1
SHAPE : 24 SHAPE : 25
" "
checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations common" checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations common"

View File

@ -19,14 +19,14 @@ checkprops result -s 34566
set nbshapes_expected " set nbshapes_expected "
Number of shapes in shape Number of shapes in shape
VERTEX : 13 VERTEX : 13
EDGE : 20 EDGE : 21
WIRE : 8 WIRE : 8
FACE : 8 FACE : 8
SHELL : 1 SHELL : 1
SOLID : 1 SOLID : 1
COMPSOLID : 0 COMPSOLID : 0
COMPOUND : 1 COMPOUND : 1
SHAPE : 52 SHAPE : 53
" "
checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations cut" checknbshapes result -ref ${nbshapes_expected} -t -m "Boolean operations cut"

View File

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