mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-05 18:16:23 +03:00
0023139: BRepFilletAPI_MakeFillet algorithm builds edges with wrong first and last parameters: out of pcurve
This commit is contained in:
parent
bf03eb83c7
commit
84e5bff386
@ -378,6 +378,27 @@ static Standard_Boolean Update(Handle(Adaptor3d_HSurface)& face,
|
||||
pared = ponc1.Parameter();
|
||||
parltg = ponc2.Parameter();
|
||||
if ((parltg > f) && (parltg < l)) {
|
||||
////modified by jgv, 10.05.2012 for the bug 23139////
|
||||
Handle(Geom2d_Curve) PConF = fi.PCurveOnFace();
|
||||
if (!PConF.IsNull())
|
||||
{
|
||||
Handle(Geom2d_TrimmedCurve) aTrCurve = Handle(Geom2d_TrimmedCurve)::DownCast(PConF);
|
||||
if (!aTrCurve.IsNull())
|
||||
PConF = aTrCurve->BasisCurve();
|
||||
if (isfirst)
|
||||
{
|
||||
Standard_Real fpar = PConF->FirstParameter();
|
||||
if (parltg < fpar)
|
||||
parltg = fpar;
|
||||
}
|
||||
else
|
||||
{
|
||||
Standard_Real lpar = PConF->LastParameter();
|
||||
if (parltg > lpar)
|
||||
parltg = lpar;
|
||||
}
|
||||
}
|
||||
/////////////////////////////////////////////////////
|
||||
fi.SetParameter(parltg,isfirst);
|
||||
cp.SetArc(cp.Tolerance(),cp.Arc(),pared,cp.TransitionOnArc());
|
||||
return Standard_True;
|
||||
|
Loading…
x
Reference in New Issue
Block a user