|
Open CASCADE Technology
6.7.1
|
An algorithm to determine points at which a BSpline
curve should be split in order to obtain arcs of the same continuity.
If you require curves with a minimum continuity for
your computation, it is useful to know the points
between which an arc has a continuity of a given
order. For a BSpline curve, the discontinuities are
localized at the knot values. Between two knot values
the BSpline is infinitely and continuously
differentiable. At a given knot, the continuity is equal
to: Degree - Mult, where Degree is the
degree of the BSpline curve and Mult is the multiplicity of the knot.
It is possible to compute the arcs which correspond to
this splitting using the global function
SplitBSplineCurve provided by the package Geom2dConvert.
A BSplineCurveKnotSplitting object provides a framework for:
More...
#include <Geom2dConvert_BSplineCurveKnotSplitting.hxx>
Public Member Functions | |
| Geom2dConvert_BSplineCurveKnotSplitting (const Handle< Geom2d_BSplineCurve > &BasisCurve, const Standard_Integer ContinuityRange) | |
Determines points at which the BSpline curve <br> BasisCurve should be split in order to obtain arcs | |
| Standard_Integer | NbSplits () const |
Returns the number of points at which the analysed <br> BSpline curve should be split, in order to obtain arcs | |
| void | Splitting (TColStd_Array1OfInteger &SplitValues) const |
Loads the SplitValues table with the split knots <br> values computed in this framework. Each value in the | |
| Standard_Integer | SplitValue (const Standard_Integer Index) const |
Returns the split knot of index Index to the split knots <br> table computed in this framework. The returned value | |
An algorithm to determine points at which a BSpline
curve should be split in order to obtain arcs of the same continuity.
If you require curves with a minimum continuity for
your computation, it is useful to know the points
between which an arc has a continuity of a given
order. For a BSpline curve, the discontinuities are
localized at the knot values. Between two knot values
the BSpline is infinitely and continuously
differentiable. At a given knot, the continuity is equal
to: Degree - Mult, where Degree is the
degree of the BSpline curve and Mult is the multiplicity of the knot.
It is possible to compute the arcs which correspond to
this splitting using the global function
SplitBSplineCurve provided by the package Geom2dConvert.
A BSplineCurveKnotSplitting object provides a framework for:
| Geom2dConvert_BSplineCurveKnotSplitting::Geom2dConvert_BSplineCurveKnotSplitting | ( | const Handle< Geom2d_BSplineCurve > & | BasisCurve, |
| const Standard_Integer | ContinuityRange | ||
| ) |
Determines points at which the BSpline curve <br>
BasisCurve should be split in order to obtain arcs
with a degree of continuity equal to ContinuityRange.
These points are knot values of BasisCurve. They
are identified by indices in the knots table of BasisCurve.
Use the available interrogation functions to access
computed values, followed by the global function
SplitBSplineCurve (provided by the package
Geom2dConvert) to split the curve.
Exceptions
Standard_RangeError if ContinuityRange is less than zero.
| Standard_Integer Geom2dConvert_BSplineCurveKnotSplitting::NbSplits | ( | ) | const |
Returns the number of points at which the analysed <br>
BSpline curve should be split, in order to obtain arcs
with the continuity required by this framework.
All these points correspond to knot values. Note that
the first and last points of the curve, which bound the
first and last arcs, are counted among these splitting points.
| void Geom2dConvert_BSplineCurveKnotSplitting::Splitting | ( | TColStd_Array1OfInteger & | SplitValues | ) | const |
Loads the SplitValues table with the split knots <br>
values computed in this framework. Each value in the
table is an index in the knots table of the BSpline
curve analysed by this algorithm.
The values in SplitValues are given in ascending
order and comprise the indices of the knots which
give the first and last points of the curve. Use two
consecutive values from the table as arguments of the
global function SplitBSplineCurve (provided by the
package Geom2dConvert) to split the curve.
Exceptions
Standard_DimensionError if the array SplitValues
was not created with the following bounds:
| Standard_Integer Geom2dConvert_BSplineCurveKnotSplitting::SplitValue | ( | const Standard_Integer | Index | ) | const |
Returns the split knot of index Index to the split knots <br>
table computed in this framework. The returned value
is an index in the knots table of the BSpline curve
analysed by this algorithm.
Notes:
1.8.5