Open CASCADE Technology 7.8.2.dev
Convert_ConicToBSplineCurve Class Reference

Root class for algorithms which convert a conic curve into a BSpline curve (CircleToBSplineCurve, EllipseToBSplineCurve, HyperbolaToBSplineCurve, ParabolaToBSplineCurve). These algorithms all work on 2D curves from the gp package and compute all the data needed to construct a BSpline curve equivalent to the conic curve. This data consists of: More...

#include <Convert_ConicToBSplineCurve.hxx>

Inheritance diagram for Convert_ConicToBSplineCurve:

Public Member Functions

Standard_Integer Degree () const
 Returns the degree of the BSpline curve whose data is computed in this framework.
 
Standard_Integer NbPoles () const
 Returns the number of poles of the BSpline curve whose data is computed in this framework.
 
Standard_Integer NbKnots () const
 Returns the number of knots of the BSpline curve whose data is computed in this framework.
 
Standard_Boolean IsPeriodic () const
 Returns true if the BSpline curve whose data is computed in this framework is periodic.
 
gp_Pnt2d Pole (const Standard_Integer Index) const
 Returns the pole of index Index to the poles table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table of the BSpline curve whose data is computed in this framework.
 
Standard_Real Weight (const Standard_Integer Index) const
 Returns the weight of the pole of index Index to the poles table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table of the BSpline curve whose data is computed in this framework.
 
Standard_Real Knot (const Standard_Integer Index) const
 Returns the knot of index Index to the knots table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table of the BSpline curve whose data is computed in this framework.
 
Standard_Integer Multiplicity (const Standard_Integer Index) const
 Returns the multiplicity of the knot of index Index to the knots table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table of the BSpline curve whose data is computed in this framework.
 
void BuildCosAndSin (const Convert_ParameterisationType Parametrisation, Handle< TColStd_HArray1OfReal > &CosNumerator, Handle< TColStd_HArray1OfReal > &SinNumerator, Handle< TColStd_HArray1OfReal > &Denominator, Standard_Integer &Degree, Handle< TColStd_HArray1OfReal > &Knots, Handle< TColStd_HArray1OfInteger > &Mults) const
 
void BuildCosAndSin (const Convert_ParameterisationType Parametrisation, const Standard_Real UFirst, const Standard_Real ULast, Handle< TColStd_HArray1OfReal > &CosNumerator, Handle< TColStd_HArray1OfReal > &SinNumerator, Handle< TColStd_HArray1OfReal > &Denominator, Standard_Integer &Degree, Handle< TColStd_HArray1OfReal > &Knots, Handle< TColStd_HArray1OfInteger > &Mults) const
 

Protected Member Functions

 Convert_ConicToBSplineCurve (const Standard_Integer NumberOfPoles, const Standard_Integer NumberOfKnots, const Standard_Integer Degree)
 

Protected Attributes

Handle< TColgp_HArray1OfPnt2d > poles
 
Handle< TColStd_HArray1OfReal > weights
 
Handle< TColStd_HArray1OfReal > knots
 
Handle< TColStd_HArray1OfInteger > mults
 
Standard_Integer degree
 
Standard_Integer nbPoles
 
Standard_Integer nbKnots
 
Standard_Boolean isperiodic
 

Detailed Description

Root class for algorithms which convert a conic curve into a BSpline curve (CircleToBSplineCurve, EllipseToBSplineCurve, HyperbolaToBSplineCurve, ParabolaToBSplineCurve). These algorithms all work on 2D curves from the gp package and compute all the data needed to construct a BSpline curve equivalent to the conic curve. This data consists of:

  • the degree of the curve,
  • the periodic characteristics of the curve,
  • a poles table with associated weights,
  • a knots table with associated multiplicities. The abstract class ConicToBSplineCurve provides a framework for storing and consulting this computed data. The data may then be used to construct a Geom2d_BSplineCurve curvSuper class of the following classes : This abstract class implements the methods to get the geometric representation of the B-spline curve equivalent to the conic. The B-spline is computed at the creation time in the sub classes. The B-spline curve is defined with its degree, its control points (Poles), its weights, its knots and their multiplicity. All the geometric entities used in this package are defined in 2D space. KeyWords : Convert, Conic, BSplineCurve, 2D.

Constructor & Destructor Documentation

◆ Convert_ConicToBSplineCurve()

Convert_ConicToBSplineCurve::Convert_ConicToBSplineCurve ( const Standard_Integer NumberOfPoles,
const Standard_Integer NumberOfKnots,
const Standard_Integer Degree )
protected

Member Function Documentation

◆ BuildCosAndSin() [1/2]

void Convert_ConicToBSplineCurve::BuildCosAndSin ( const Convert_ParameterisationType Parametrisation,
const Standard_Real UFirst,
const Standard_Real ULast,
Handle< TColStd_HArray1OfReal > & CosNumerator,
Handle< TColStd_HArray1OfReal > & SinNumerator,
Handle< TColStd_HArray1OfReal > & Denominator,
Standard_Integer & Degree,
Handle< TColStd_HArray1OfReal > & Knots,
Handle< TColStd_HArray1OfInteger > & Mults ) const

◆ BuildCosAndSin() [2/2]

void Convert_ConicToBSplineCurve::BuildCosAndSin ( const Convert_ParameterisationType Parametrisation,
Handle< TColStd_HArray1OfReal > & CosNumerator,
Handle< TColStd_HArray1OfReal > & SinNumerator,
Handle< TColStd_HArray1OfReal > & Denominator,
Standard_Integer & Degree,
Handle< TColStd_HArray1OfReal > & Knots,
Handle< TColStd_HArray1OfInteger > & Mults ) const

◆ Degree()

Standard_Integer Convert_ConicToBSplineCurve::Degree ( ) const

Returns the degree of the BSpline curve whose data is computed in this framework.

◆ IsPeriodic()

Standard_Boolean Convert_ConicToBSplineCurve::IsPeriodic ( ) const

Returns true if the BSpline curve whose data is computed in this framework is periodic.

◆ Knot()

Standard_Real Convert_ConicToBSplineCurve::Knot ( const Standard_Integer Index) const

Returns the knot of index Index to the knots table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table of the BSpline curve whose data is computed in this framework.

◆ Multiplicity()

Standard_Integer Convert_ConicToBSplineCurve::Multiplicity ( const Standard_Integer Index) const

Returns the multiplicity of the knot of index Index to the knots table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the knots table of the BSpline curve whose data is computed in this framework.

◆ NbKnots()

Standard_Integer Convert_ConicToBSplineCurve::NbKnots ( ) const

Returns the number of knots of the BSpline curve whose data is computed in this framework.

◆ NbPoles()

Standard_Integer Convert_ConicToBSplineCurve::NbPoles ( ) const

Returns the number of poles of the BSpline curve whose data is computed in this framework.

◆ Pole()

gp_Pnt2d Convert_ConicToBSplineCurve::Pole ( const Standard_Integer Index) const

Returns the pole of index Index to the poles table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table of the BSpline curve whose data is computed in this framework.

◆ Weight()

Standard_Real Convert_ConicToBSplineCurve::Weight ( const Standard_Integer Index) const

Returns the weight of the pole of index Index to the poles table of the BSpline curve whose data is computed in this framework. Exceptions Standard_OutOfRange if Index is outside the bounds of the poles table of the BSpline curve whose data is computed in this framework.

Field Documentation

◆ degree

Standard_Integer Convert_ConicToBSplineCurve::degree
protected

◆ isperiodic

Standard_Boolean Convert_ConicToBSplineCurve::isperiodic
protected

◆ knots

Handle< TColStd_HArray1OfReal > Convert_ConicToBSplineCurve::knots
protected

◆ mults

Handle< TColStd_HArray1OfInteger > Convert_ConicToBSplineCurve::mults
protected

◆ nbKnots

Standard_Integer Convert_ConicToBSplineCurve::nbKnots
protected

◆ nbPoles

Standard_Integer Convert_ConicToBSplineCurve::nbPoles
protected

◆ poles

Handle< TColgp_HArray1OfPnt2d > Convert_ConicToBSplineCurve::poles
protected

◆ weights

Handle< TColStd_HArray1OfReal > Convert_ConicToBSplineCurve::weights
protected

The documentation for this class was generated from the following file: