OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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 occ::handle< Law_BSpline > &BasisLaw, const int ContinuityRange)
     Locates the knot values which correspond to the segmentation of the curve into arcs with a continuity equal to ContinuityRange.
    int NbSplits () const
     Returns the number of knots corresponding to the splitting.
    void Splitting (NCollection_Array1< int > &SplitValues) const
     Returns the indexes of the BSpline curve knots corresponding to the splitting.
    int SplitValue (const int Index) const
     Returns the index of the knot corresponding to the splitting of range Index.

    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::Law_BSplineKnotSplitting ( const occ::handle< Law_BSpline > & BasisLaw,
    const int 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

    ◆ NbSplits()

    int Law_BSplineKnotSplitting::NbSplits ( ) const

    Returns the number of knots corresponding to the splitting.

    ◆ Splitting()

    void Law_BSplineKnotSplitting::Splitting ( NCollection_Array1< int > & 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.

    ◆ SplitValue()

    int Law_BSplineKnotSplitting::SplitValue ( const int 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: