Open CASCADE Technology 6.6.0
Public Member Functions
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.

#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.

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

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.

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


Constructor & Destructor Documentation

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

Member Function Documentation

Standard_Integer Law_BSplineKnotSplitting::NbSplits ( ) const
void Law_BSplineKnotSplitting::Splitting ( TColStd_Array1OfInteger SplitValues) const
Standard_Integer Law_BSplineKnotSplitting::SplitValue ( const Standard_Integer  Index) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines