+ ////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;
+ }
+ }
+ /////////////////////////////////////////////////////