Law_BSplineKnotSplitting Class Reference

For a B-spline curve the discontinuities are localised at the knot values and between two knots values the B-spline is infinitely continuously differentiable. At a knot of range index the continuity is equal to : Degree - Mult (Index) where Degree is the degree of the basis B-spline functions and Mult the multiplicity of the knot of range Index. If for your computation you need to have B-spline curves with a minima of continuity it can be interesting to know between which knot values, a B-spline curve arc, has a continuity of given order. This algorithm computes the indexes of the knots where you should split the curve, to obtain arcs with a constant continuity given at the construction time. The splitting values are in the range [FirstUKnotValue, LastUKnotValue] (See class B-spline curve from package Geom). If you just want to compute the local derivatives on the curve you don't need to create the B-spline curve arcs, you can use the functions LocalD1, LocalD2, LocalD3, LocalDN of the class BSplineCurve. More...

`#include <Law_BSplineKnotSplitting.hxx>`

## Public Member Functions

Law_BSplineKnotSplitting (const Handle< Law_BSpline > &BasisLaw, const Standard_Integer ContinuityRange)
Locates the knot values which correspond to the segmentation of the curve into arcs with a continuity equal to ContinuityRange. More...

Standard_Integer NbSplits () const
Returns the number of knots corresponding to the splitting. More...

void Splitting (TColStd_Array1OfInteger &SplitValues) const
Returns the indexes of the BSpline curve knots corresponding to the splitting. More...

Standard_Integer SplitValue (const Standard_Integer Index) const
Returns the index of the knot corresponding to the splitting of range Index. More...

## Detailed Description

For a B-spline curve the discontinuities are localised at the knot values and between two knots values the B-spline is infinitely continuously differentiable. At a knot of range index the continuity is equal to : Degree - Mult (Index) where Degree is the degree of the basis B-spline functions and Mult the multiplicity of the knot of range Index. If for your computation you need to have B-spline curves with a minima of continuity it can be interesting to know between which knot values, a B-spline curve arc, has a continuity of given order. This algorithm computes the indexes of the knots where you should split the curve, to obtain arcs with a constant continuity given at the construction time. The splitting values are in the range [FirstUKnotValue, LastUKnotValue] (See class B-spline curve from package Geom). If you just want to compute the local derivatives on the curve you don't need to create the B-spline curve arcs, you can use the functions LocalD1, LocalD2, LocalD3, LocalDN of the class BSplineCurve.

## Constructor & Destructor Documentation

 Law_BSplineKnotSplitting::Law_BSplineKnotSplitting ( const Handle< Law_BSpline > & BasisLaw, const Standard_Integer ContinuityRange )

Locates the knot values which correspond to the segmentation of the curve into arcs with a continuity equal to ContinuityRange.

Raised if ContinuityRange is not greater or equal zero.

## Member Function Documentation

 Standard_Integer Law_BSplineKnotSplitting::NbSplits ( ) const

Returns the number of knots corresponding to the splitting.

 void Law_BSplineKnotSplitting::Splitting ( TColStd_Array1OfInteger & SplitValues ) const

Returns the indexes of the BSpline curve knots corresponding to the splitting.

Raised if the length of SplitValues is not equal to NbSPlit.

 Standard_Integer Law_BSplineKnotSplitting::SplitValue ( const Standard_Integer Index ) const

Returns the index of the knot corresponding to the splitting of range Index.

Raised if Index < 1 or Index > NbSplits

The documentation for this class was generated from the following file: