# DataExchange
TKIGES
IGESGeom

# 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:

[legend]

## Public Member Functions

Standard_EXPORT | IGESGeom_BSplineCurve ()

Standard_EXPORT 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
- 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_EXPORT void | SetFormNumber (const Standard_Integer form)
| Changes FormNumber (indicates the Shape of the Curve) Error if not in range [0-5] .
Standard_EXPORT Standard_Integer | UpperIndex () const
| returns the upper index of the sum (see Knots,Poles)
Standard_EXPORT Standard_Integer | Degree () const
| returns the degree of basis functions
Standard_EXPORT Standard_Boolean | IsPlanar () const
| returns True if the curve is Planar, False if non-planar
Standard_EXPORT Standard_Boolean | IsClosed () const
| returns True if the curve is closed, False if open
Standard_EXPORT 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_EXPORT Standard_Boolean | IsPeriodic () const
| returns True if the curve is periodic, False otherwise
Standard_EXPORT Standard_Integer | NbKnots () const
| returns the number of knots (i.e. Degree + UpperIndex + 2)
Standard_EXPORT 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_EXPORT Standard_Integer | NbPoles () const
| returns number of poles (i.e. UpperIndex + 1)
Standard_EXPORT 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()
Standard_EXPORT 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()
Standard_EXPORT 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_EXPORT Standard_Real | UMin () const
| returns starting parameter value
Standard_EXPORT Standard_Real | UMax () const
| returns ending parameter value
Standard_EXPORT gp_XYZ | Normal () const
| if the curve is nonplanar then (0, 0, 0) is returned
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

Standard_Integer | theIndex
Standard_Integer | theDegree
Standard_Boolean | isPlanar
Standard_Boolean | isClosed
Standard_Boolean | isPolynomial
Standard_Boolean | isPeriodic
Handle_TColStd_HArray1OfReal | theKnots
Handle_TColStd_HArray1OfReal | theWeights
Handle_TColgp_HArray1OfXYZ | thePoles
Standard_Real | theUmin
Standard_Real | theUmax
gp_XYZ | theNorm

## Constructor & Destructor Documentation

Standard_EXPORT IGESGeom_BSplineCurve::IGESGeom_BSplineCurve | ( |  | ) |

## Member Function Documentation

Standard_EXPORT Standard_Integer IGESGeom_BSplineCurve::Degree | ( |  | ) | const

Standard_EXPORT const IGESGeom_BSplineCurve::Handle | ( | Standard_Type |  | ) | const

| Reimplemented from IGESData_IGESEntity.

Standard_EXPORT 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
| ) |

Standard_EXPORT Standard_Boolean IGESGeom_BSplineCurve::IsClosed | ( |  | ) | const

Standard_EXPORT Standard_Boolean IGESGeom_BSplineCurve::IsPeriodic | ( |  | ) | const

Standard_EXPORT Standard_Boolean IGESGeom_BSplineCurve::IsPlanar | ( |  | ) | const

Standard_EXPORT Standard_Boolean IGESGeom_BSplineCurve::IsPolynomial | ( | const Standard_Boolean | flag = `Standard_False` | ) | const

Standard_EXPORT Standard_Real IGESGeom_BSplineCurve::Knot | ( | const Standard_Integer | anIndex | ) | const

Standard_EXPORT Standard_Integer IGESGeom_BSplineCurve::NbKnots | ( |  | ) | const

Standard_EXPORT Standard_Integer IGESGeom_BSplineCurve::NbPoles | ( |  | ) | const

Standard_EXPORT gp_XYZ IGESGeom_BSplineCurve::Normal | ( |  | ) | const

Standard_EXPORT gp_Pnt IGESGeom_BSplineCurve::Pole | ( | const Standard_Integer | anIndex | ) | const

Standard_EXPORT void IGESGeom_BSplineCurve::SetFormNumber | ( | const Standard_Integer | form | ) |

Standard_EXPORT gp_Pnt IGESGeom_BSplineCurve::TransformedPole | ( | const Standard_Integer | anIndex | ) | const

Standard_EXPORT Standard_Real IGESGeom_BSplineCurve::UMax | ( |  | ) | const

Standard_EXPORT Standard_Real IGESGeom_BSplineCurve::UMin | ( |  | ) | const

Standard_EXPORT Standard_Integer IGESGeom_BSplineCurve::UpperIndex | ( |  | ) | const

Standard_EXPORT Standard_Real IGESGeom_BSplineCurve::Weight | ( | const Standard_Integer | anIndex | ) | const

## Field Documentation

Standard_Boolean IGESGeom_BSplineCurve::isClosed `[private]`

Standard_Boolean IGESGeom_BSplineCurve::isPeriodic `[private]`

Standard_Boolean IGESGeom_BSplineCurve::isPlanar `[private]`

Standard_Boolean IGESGeom_BSplineCurve::isPolynomial `[private]`

Standard_Integer IGESGeom_BSplineCurve::theDegree `[private]`

Standard_Integer IGESGeom_BSplineCurve::theIndex `[private]`

Handle_TColStd_HArray1OfReal IGESGeom_BSplineCurve::theKnots `[private]`

gp_XYZ IGESGeom_BSplineCurve::theNorm `[private]`

Handle_TColgp_HArray1OfXYZ IGESGeom_BSplineCurve::thePoles `[private]`

Standard_Real IGESGeom_BSplineCurve::theUmax `[private]`

Standard_Real IGESGeom_BSplineCurve::theUmin `[private]`

Handle_TColStd_HArray1OfReal IGESGeom_BSplineCurve::theWeights `[private]`

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

- IGESGeom_BSplineCurve.hxx