mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0025592: Bad result of Fillet operation
Comments have been added. Test case for issue CR25592
This commit is contained in:
@@ -1862,10 +1862,13 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
Standard_Real wl = Guide.LastParameter();
|
||||
Standard_Real locfleche = (wl - wf) * fleche;
|
||||
Standard_Real wfsav = wf, wlsav = wl;
|
||||
//Now the ElSpine is artificially extended to help rsnld.
|
||||
Standard_Real prab = 0.01;
|
||||
Guide.FirstParameter(wf-prab*(wl-wf));
|
||||
Guide.LastParameter (wl+prab*(wl-wf));
|
||||
if (!Guide.IsPeriodic())
|
||||
{
|
||||
//Now the ElSpine is artificially extended to help rsnld.
|
||||
Standard_Real prab = 0.01;
|
||||
Guide.FirstParameter(wf-prab*(wl-wf));
|
||||
Guide.LastParameter (wl+prab*(wl-wf));
|
||||
}
|
||||
Handle(ChFiDS_Spine)& Spine = Stripe->ChangeSpine();
|
||||
Standard_Integer ii, nbed = Spine->NbEdges();
|
||||
Standard_Real lastedlastp = Spine->LastParameter(nbed);
|
||||
@@ -1920,7 +1923,9 @@ void ChFi3d_Builder::PerformSetOfSurfOnElSpine
|
||||
Last = wf;
|
||||
if(Guide.IsPeriodic()) {
|
||||
Last = First - Guide.Period();
|
||||
Guide.SaveFirstParameter();
|
||||
Guide.FirstParameter(Last);
|
||||
Guide.SaveLastParameter();
|
||||
Guide.LastParameter (First * 1.1);//Extension to help rsnld.
|
||||
}
|
||||
}
|
||||
|
@@ -1573,7 +1573,7 @@ Standard_Boolean ChFi3d_Builder::ComputeData
|
||||
if (5*TolGuide > MS) TolGuide = MS/5;
|
||||
if (5*TolEsp > MS) TolEsp = MS/5;
|
||||
}
|
||||
TheWalk.Perform(Func,FInv,NewFirst,Target,MS,TolGuide,
|
||||
TheWalk.Perform(Func,FInv,HGuide,NewFirst,Target,MS,TolGuide,
|
||||
ParSol,TolEsp,Fleche,Appro);
|
||||
if (!TheWalk.IsDone()) {
|
||||
#ifdef OCCT_DEBUG
|
||||
@@ -2113,7 +2113,7 @@ Standard_Boolean ChFi3d_Builder::SimulData
|
||||
if (5*TolEsp > MS) TolEsp = MS/5;
|
||||
}
|
||||
|
||||
TheWalk.Perform(Func,FInv,NewFirst,Target,MS,TolGuide,
|
||||
TheWalk.Perform(Func,FInv,HGuide,NewFirst,Target,MS,TolGuide,
|
||||
ParSol,TolEsp,Fleche,Appro);
|
||||
|
||||
if (!TheWalk.IsDone()) {
|
||||
|
Reference in New Issue
Block a user