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

0027048: BSpline cache is always wrong outside of surface

1. Disable recalculation of B-spline cache when the parameter is out of surface boundary but near the cached span.
2. Rebuild cache each time a curve/surface is loaded into adaptor (B-spline knots may be re-parametrized outside adaptor without changing base curve)
3. Test cases.
This commit is contained in:
azv
2016-01-21 11:35:24 +03:00
committed by bugmaster
parent 4f5ad41656
commit f3a1c0cb60
10 changed files with 111 additions and 4 deletions

View File

@@ -194,7 +194,9 @@ void GeomAdaptor_Curve::load(const Handle(Geom_Curve)& C,
myTypeCurve = GeomAbs_OtherCurve;
}
}
}
else // rebuild cache of Bezier and B-spline curve even if the loaded curve is same
RebuildCache(myFirst);
}
// --
// -- Global methods - Apply to the whole curve.

View File

@@ -217,6 +217,8 @@ void GeomAdaptor_Surface::load(const Handle(Geom_Surface)& S,
else
mySurfaceType = GeomAbs_OtherSurface;
}
else // rebuild cache of Bezier and B-spline surface even if the loaded surface is same
RebuildCache(myUFirst, myVFirst);
}
// --