OCC Main Page | ModelingData | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingData
TKGeomBase
Geom2dConvert


Geom2dConvert_BSplineCurveKnotSplitting Class Reference

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:
- defining the curve to be analysed and the required degree of continuity,
- implementing the computation algorithm, and
- consulting the results.
.

#include <Geom2dConvert_BSplineCurveKnotSplitting.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT Geom2dConvert_BSplineCurveKnotSplitting (const Handle(Geom2d_BSplineCurve)&BasisCurve, const Standard_Integer ContinuityRange)
 Determines points at which the BSpline curve
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_EXPORT Standard_Integer NbSplits () const
 Returns the number of points at which the analysed
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.
.
Standard_EXPORT void Splitting (TColStd_Array1OfInteger &SplitValues) const
 Loads the SplitValues table with the split knots
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:
- 1, and
- the number of split points computed in this
framework (as given by the function NbSplits).
.
Standard_EXPORT Standard_Integer SplitValue (const Standard_Integer Index) const
 Returns the split knot of index Index to the split knots
table computed in this framework. The returned value
is an index in the knots table of the BSpline curve
analysed by this algorithm.
Notes:
- If Index is equal to 1, the corresponding knot
gives the first point of the curve.
- If Index is equal to the number of split knots
computed in this framework, the corresponding
point is the last point of the curve.
Exceptions
Standard_RangeError if Index is less than 1 or
greater than the number of split knots computed in this framework.
.

Private Attributes

Handle_TColStd_HArray1OfInteger splitIndexes


Constructor & Destructor Documentation

Standard_EXPORT Geom2dConvert_BSplineCurveKnotSplitting::Geom2dConvert_BSplineCurveKnotSplitting const Handle(Geom2d_BSplineCurve)&  BasisCurve,
const Standard_Integer  ContinuityRange
 


Member Function Documentation

Standard_EXPORT Standard_Integer Geom2dConvert_BSplineCurveKnotSplitting::NbSplits  )  const
 

void Geom2dConvert_BSplineCurveKnotSplitting::operator delete void *  anAddress  )  [inline]
 

void* Geom2dConvert_BSplineCurveKnotSplitting::operator new size_t  size  )  [inline]
 

void* Geom2dConvert_BSplineCurveKnotSplitting::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void Geom2dConvert_BSplineCurveKnotSplitting::Splitting TColStd_Array1OfInteger &  SplitValues  )  const
 

Standard_EXPORT Standard_Integer Geom2dConvert_BSplineCurveKnotSplitting::SplitValue const Standard_Integer  Index  )  const
 


Field Documentation

Handle_TColStd_HArray1OfInteger Geom2dConvert_BSplineCurveKnotSplitting::splitIndexes [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:22:50 2008 for OpenCASCADE by  doxygen 1.4.1