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

ModelingData
TKGeomBase
Geom2dConvert


Geom2dConvert_BSplineCurveToBezierCurve Class Reference

An algorithm to convert a BSpline curve into a series
of adjacent Bezier curves.
A BSplineCurveToBezierCurve object provides a framework for:
- defining the BSpline curve to be converted
- implementing the construction algorithm, and
- consulting the results.
References :
Generating the Bezier points of B-spline curves and surfaces
(Wolfgang Bohm) CAD volume 13 number 6 november 1981
.

#include <Geom2dConvert_BSplineCurveToBezierCurve.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_BSplineCurveToBezierCurve (const Handle(Geom2d_BSplineCurve)&BasisCurve)
 Computes all the data needed to convert
- the BSpline curve BasisCurve, into a series of adjacent Bezier arcs.
The result consists of a series of BasisCurve arcs
limited by points corresponding to knot values of the curve.
Use the available interrogation functions to ascertain
the number of computed Bezier arcs, and then to
construct each individual Bezier curve (or all Bezier curves).
Note: ParametricTolerance is not used.
.
Standard_EXPORT Geom2dConvert_BSplineCurveToBezierCurve (const Handle(Geom2d_BSplineCurve)&BasisCurve, const Standard_Real U1, const Standard_Real U2, const Standard_Real ParametricTolerance)
 Computes all the data needed to convert
the portion of the BSpline curve BasisCurve
limited by the two parameter values U1 and U2
for Example if there is a Knot Uk and
Uk < U < Uk + ParametricTolerance/2 the last curve
corresponds to the span [Uk-1, Uk] and not to [Uk, Uk+1]
The result consists of a series of BasisCurve arcs
limited by points corresponding to knot values of the curve.
Use the available interrogation functions to ascertain
the number of computed Bezier arcs, and then to
construct each individual Bezier curve (or all Bezier curves).
Note: ParametricTolerance is not used.
Raises DomainError if U1 or U2 are out of the parametric bounds of the basis
curve [FirstParameter, LastParameter]. The Tolerance criterion
is ParametricTolerance.
Raised if Abs (U2 - U1) <= ParametricTolerance.
.
Standard_EXPORT Handle_Geom2d_BezierCurve Arc (const Standard_Integer Index)
 Constructs and returns the Bezier curve of index
Index to the table of adjacent Bezier arcs
computed by this algorithm.
This Bezier curve has the same orientation as the
BSpline curve analyzed in this framework.
Exceptions
Standard_OutOfRange if Index is less than 1 or
greater than the number of adjacent Bezier arcs
computed by this algorithm.
.
Standard_EXPORT void Arcs (TColGeom2d_Array1OfBezierCurve &Curves)
 Constructs all the Bezier curves whose data is
computed by this algorithm and loads these curves
into the Curves table.
The Bezier curves have the same orientation as the
BSpline curve analyzed in this framework.
Exceptions
Standard_DimensionError if the Curves array was
not created with the following bounds:
- 1 , and
- the number of adjacent Bezier arcs computed by
this algorithm (as given by the function NbArcs).
.
Standard_EXPORT void Knots (TColStd_Array1OfReal &TKnots) const
 This methode returns the bspline's knots associated to
the converted arcs
Raises DimensionError if the length of Curves is not equal to
NbArcs + 1
.
Standard_EXPORT Standard_Integer NbArcs () const
 Returns the number of BezierCurve arcs.
If at the creation time you have decomposed the basis curve
between the parametric values UFirst, ULast the number of
BezierCurve arcs depends on the number of knots included inside
the interval [UFirst, ULast].
If you have decomposed the whole basis B-spline curve the number
of BezierCurve arcs NbArcs is equal to the number of knots less
one.
.

Private Attributes

Handle_Geom2d_BSplineCurve myCurve


Constructor & Destructor Documentation

Standard_EXPORT Geom2dConvert_BSplineCurveToBezierCurve::Geom2dConvert_BSplineCurveToBezierCurve const Handle(Geom2d_BSplineCurve)&  BasisCurve  ) 
 

Standard_EXPORT Geom2dConvert_BSplineCurveToBezierCurve::Geom2dConvert_BSplineCurveToBezierCurve const Handle(Geom2d_BSplineCurve)&  BasisCurve,
const Standard_Real  U1,
const Standard_Real  U2,
const Standard_Real  ParametricTolerance
 


Member Function Documentation

Standard_EXPORT Handle_Geom2d_BezierCurve Geom2dConvert_BSplineCurveToBezierCurve::Arc const Standard_Integer  Index  ) 
 

Standard_EXPORT void Geom2dConvert_BSplineCurveToBezierCurve::Arcs TColGeom2d_Array1OfBezierCurve Curves  ) 
 

Standard_EXPORT void Geom2dConvert_BSplineCurveToBezierCurve::Knots TColStd_Array1OfReal &  TKnots  )  const
 

Standard_EXPORT Standard_Integer Geom2dConvert_BSplineCurveToBezierCurve::NbArcs  )  const
 

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

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

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


Field Documentation

Handle_Geom2d_BSplineCurve Geom2dConvert_BSplineCurveToBezierCurve::myCurve [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