|
Open CASCADE Technology
6.7.1
|
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. Raised if ContinuityRange is not greater or equal zero. 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. Raised if the length of SplitValues is not equal to NbSPlit. More... | |
| Standard_Integer | 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 More... | |
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.
| 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.
| 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
1.8.5