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

0030581: Modeling Data - Standard_OutOfRange within Geom_BSplineSurface::LocateV()

Geom2d_BSplineCurve::LocateU(),Geom_BSplineCurve::LocateU, Law_BSpline::LocateU()
Geom_BSplineSurface::LocateU() and Geom_BSplineSurface::LocateV()
have been corrected with missing range checks.
BSplCLib::Hunt() documentation has been corrected to reflect its actual implementation.
This commit is contained in:
kgv
2019-03-16 09:33:37 +03:00
committed by apn
parent 737e9a8da4
commit 437ef7713e
8 changed files with 71 additions and 60 deletions

View File

@@ -124,23 +124,16 @@ public:
DEFINE_STANDARD_ALLOC
//! This routine searches the position of the real
//! value X in the ordered set of real values XX.
//! This routine searches the position of the real value theX
//! in the monotonically increasing set of real values theArray using bisection algorithm.
//!
//! The elements in the table XX are either
//! monotonically increasing or monotonically
//! decreasing.
//! If the given value is out of range or array values, algorithm returns either
//! theArray.Lower()-1 or theArray.Upper()+1 depending on theX position in the ordered set.
//!
//! The input value Iloc is used to initialize the
//! algorithm : if Iloc is outside of the bounds
//! [XX.Lower(), -- XX.Upper()] the bisection algorithm
//! is used else the routine searches from a previous
//! known position by increasing steps then converges
//! by bisection.
//!
//! This routine is used to locate a knot value in a
//! set of knots.
Standard_EXPORT static void Hunt (const TColStd_Array1OfReal& XX, const Standard_Real X, Standard_Integer& Iloc);
//! This routine is used to locate a knot value in a set of knots.
Standard_EXPORT static void Hunt (const TColStd_Array1OfReal& theArray,
const Standard_Real theX,
Standard_Integer& theXPos);
//! Computes the index of the knots value which gives
//! the start point of the curve.