1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

0032196: Modeling Algorithms - Invalid section curve

Modify the method IntWalk_IWalking::ComputeCloseLine: add condition for check of update of variable containing current solution
This commit is contained in:
jgv
2021-05-21 01:54:07 +03:00
committed by bugmaster
parent 0461e7fd03
commit f0ca3c819f
2 changed files with 56 additions and 6 deletions

View File

@@ -386,12 +386,16 @@ void IntWalk_IWalking::ComputeCloseLine(const TColStd_SequenceOfReal& Umult,
StepSign = -1;
StatusPrecedent = IntWalk_OK;
PasC = PasSav;
if (aStatus == IntWalk_ArretSurPointPrecedent) {
CurrentLine->AddPoint(Psol);
OpenLine(0,Psol,Pnts1,Func,CurrentLine);
}
else {
OpenLine(-lines.Length()-1,Psol,Pnts1,Func,CurrentLine);
//Check if <Psol> has been really updated
if (Arrive || Rajout || (!ArretAjout && Cadre && SaveN <= 0))
{
if (aStatus == IntWalk_ArretSurPointPrecedent) {
CurrentLine->AddPoint(Psol);
OpenLine(0,Psol,Pnts1,Func,CurrentLine);
}
else {
OpenLine(-lines.Length()-1,Psol,Pnts1,Func,CurrentLine);
}
}
//Remove <SaveN> from <seqAlone> and, if it is first found point,
//from <seqAjout> too