Open CASCADE Technology 6.6.0
Public Member Functions
IGESGeom_BSplineCurve Class Reference

defines IGESBSplineCurve, Type <126> Form <0-5>
in package IGESGeom
A parametric equation obtained by dividing two summations
involving weights (which are real numbers), the control
points, and B-Spline basis functions

#include <IGESGeom_BSplineCurve.hxx>

Inheritance diagram for IGESGeom_BSplineCurve:
Inheritance graph
[legend]

Public Member Functions

 IGESGeom_BSplineCurve ()
void Init (const Standard_Integer anIndex, const Standard_Integer aDegree, const Standard_Boolean aPlanar, const Standard_Boolean aClosed, const Standard_Boolean aPolynom, const Standard_Boolean aPeriodic, const Handle< TColStd_HArray1OfReal > &allKnots, const Handle< TColStd_HArray1OfReal > &allWeights, const Handle< TColgp_HArray1OfXYZ > &allPoles, const Standard_Real aUmin, const Standard_Real aUmax, const gp_XYZ &aNorm)
 This method is used to set the fields of the class
BSplineCurve. Beware about indexation of arrays

void SetFormNumber (const Standard_Integer form)
 Changes FormNumber (indicates the Shape of the Curve)
Error if not in range [0-5]

Standard_Integer UpperIndex () const
 returns the upper index of the sum (see Knots,Poles)

Standard_Integer Degree () const
 returns the degree of basis functions

Standard_Boolean IsPlanar () const
 returns True if the curve is Planar, False if non-planar

Standard_Boolean IsClosed () const
 returns True if the curve is closed, False if open

Standard_Boolean IsPolynomial (const Standard_Boolean flag=Standard_False) const
 returns True if the curve is polynomial, False if rational
<flag> False (D) : computed from the list of weights
(all must be equal)
<flag> True : as recorded

Standard_Boolean IsPeriodic () const
 returns True if the curve is periodic, False otherwise

Standard_Integer NbKnots () const
 returns the number of knots (i.e. Degree + UpperIndex + 2)

Standard_Real Knot (const Standard_Integer anIndex) const
 returns the knot referred to by anIndex,
inside the range [-Degree,UpperIndex+1]
raises exception if
anIndex < -Degree() or anIndex > (NbKnots() - Degree())
Note : Knots are numbered from -Degree (not from 1)

Standard_Integer NbPoles () const
 returns number of poles (i.e. UpperIndex + 1)

Standard_Real Weight (const Standard_Integer anIndex) const
 returns the weight referred to by anIndex, in [0,UpperIndex]
raises exception if anIndex < 0 or anIndex > UpperIndex()

gp_Pnt Pole (const Standard_Integer anIndex) const
 returns the pole referred to by anIndex, in [0,UpperIndex]
raises exception if anIndex < 0 or anIndex > UpperIndex()

gp_Pnt TransformedPole (const Standard_Integer anIndex) const
 returns the anIndex'th pole after applying Transf. Matrix
raises exception if an Index < 0 or an Index > UpperIndex()

Standard_Real UMin () const
 returns starting parameter value

Standard_Real UMax () const
 returns ending parameter value

gp_XYZ Normal () const
 if the curve is nonplanar then (0, 0, 0) is returned


Constructor & Destructor Documentation

IGESGeom_BSplineCurve::IGESGeom_BSplineCurve ( )

Member Function Documentation

Standard_Integer IGESGeom_BSplineCurve::Degree ( ) const
void IGESGeom_BSplineCurve::Init ( const Standard_Integer  anIndex,
const Standard_Integer  aDegree,
const Standard_Boolean  aPlanar,
const Standard_Boolean  aClosed,
const Standard_Boolean  aPolynom,
const Standard_Boolean  aPeriodic,
const Handle< TColStd_HArray1OfReal > &  allKnots,
const Handle< TColStd_HArray1OfReal > &  allWeights,
const Handle< TColgp_HArray1OfXYZ > &  allPoles,
const Standard_Real  aUmin,
const Standard_Real  aUmax,
const gp_XYZ aNorm 
)
  • anIndex : Upper index of the sum
  • aDegree : Degree of basis functions
  • aPlanar : 0 = nonplanar curve, 1 = planar curve
  • aClosed : 0 = open curve, 1 = closed curve
  • aPolynom : 0 = rational, 1 = polynomial
  • aPeriodic : 0 = nonperiodic, 1 = periodic
  • allKnots : Knot sequence values [-Degree,Index+1]
  • allWeights : Array of weights [0,Index]
  • allPoles : X, Y, Z coordinates of all control points
    [0,Index]
  • aUmin, aUmax : Starting and ending parameter values
  • aNorm : Unit normal (if the curve is planar)
    raises exception if allWeights & allPoles are not of same size.
Standard_Boolean IGESGeom_BSplineCurve::IsClosed ( ) const
Standard_Boolean IGESGeom_BSplineCurve::IsPeriodic ( ) const
Standard_Boolean IGESGeom_BSplineCurve::IsPlanar ( ) const
Standard_Boolean IGESGeom_BSplineCurve::IsPolynomial ( const Standard_Boolean  flag = Standard_False) const
Standard_Real IGESGeom_BSplineCurve::Knot ( const Standard_Integer  anIndex) const
Standard_Integer IGESGeom_BSplineCurve::NbKnots ( ) const
Standard_Integer IGESGeom_BSplineCurve::NbPoles ( ) const
gp_XYZ IGESGeom_BSplineCurve::Normal ( ) const
gp_Pnt IGESGeom_BSplineCurve::Pole ( const Standard_Integer  anIndex) const
void IGESGeom_BSplineCurve::SetFormNumber ( const Standard_Integer  form)
gp_Pnt IGESGeom_BSplineCurve::TransformedPole ( const Standard_Integer  anIndex) const
Standard_Real IGESGeom_BSplineCurve::UMax ( ) const
Standard_Real IGESGeom_BSplineCurve::UMin ( ) const
Standard_Integer IGESGeom_BSplineCurve::UpperIndex ( ) const
Standard_Real IGESGeom_BSplineCurve::Weight ( const Standard_Integer  anIndex) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines