mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-06 18:26:22 +03:00
0031381: Foundation Classes -wrong evaluations for rational BSpline curves using Adaptor curves
BSplCLib_Cache.cxx - it is forbidden zeroing derivatives for rational splines when derivative order more than degree bug31381 - test case added
This commit is contained in:
parent
ae87bb87d0
commit
f732ea1ab5
@ -111,7 +111,7 @@ void BSplCLib_Cache::CalculateDerivative(const Standard_Real& theParameter,
|
|||||||
// When the degree of curve is lesser than the requested derivative,
|
// When the degree of curve is lesser than the requested derivative,
|
||||||
// nullify array cells corresponding to greater derivatives
|
// nullify array cells corresponding to greater derivatives
|
||||||
Standard_Integer aDerivative = theDerivative;
|
Standard_Integer aDerivative = theDerivative;
|
||||||
if (myParams.Degree < theDerivative)
|
if (!myIsRational && myParams.Degree < theDerivative)
|
||||||
{
|
{
|
||||||
aDerivative = myParams.Degree;
|
aDerivative = myParams.Degree;
|
||||||
for (Standard_Integer ind = myParams.Degree * aDimension; ind < (theDerivative + 1) * aDimension; ind++)
|
for (Standard_Integer ind = myParams.Degree * aDimension; ind < (theDerivative + 1) * aDimension; ind++)
|
||||||
|
15
tests/bugs/fclasses/bug31381
Normal file
15
tests/bugs/fclasses/bug31381
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
puts "# ============"
|
||||||
|
puts "# 0031381: Foundation Classes - wrong evaluations for rational BSpline curves using Adaptor curves "
|
||||||
|
puts "# ============"
|
||||||
|
puts ""
|
||||||
|
puts "Eliminate output of approxcurve command"
|
||||||
|
puts "REQUIRED ALL: Error 4.32754e-05"
|
||||||
|
|
||||||
|
circle c 0 0 1
|
||||||
|
puts "Get rational BSpline curve of degree 2"
|
||||||
|
convert c c
|
||||||
|
puts "Get offset curve to force calculation of D3 for base curve when algorithm needs D2 for offset"
|
||||||
|
offset oc c -.5
|
||||||
|
puts "Approximate offset curve with continuity C2"
|
||||||
|
approxcurve ac oc 1.e-4 2 5 25
|
||||||
|
checklength ac -l 3.1415850499856011
|
Loading…
x
Reference in New Issue
Block a user