Convert_ElementarySurfaceToBSplineSurface Class Reference

Root class for algorithms which convert an elementary surface (cylinder, cone, sphere or torus) into a BSpline surface (CylinderToBSplineSurface, ConeToBSplineSurface, SphereToBSplineSurface, TorusToBSplineSurface). These algorithms all work on elementary surfaces from the gp package and compute all the data needed to construct a BSpline surface equivalent to the cylinder, cone, sphere or torus. This data consists of the following: More...

`#include <Convert_ElementarySurfaceToBSplineSurface.hxx>`

Inheritance diagram for Convert_ElementarySurfaceToBSplineSurface:
[legend]

## Public Member Functions

Standard_Integer UDegree () const

Standard_Integer VDegree () const
Returns the degree for the u or v parametric direction of the BSpline surface whose data is computed in this framework. More...

Standard_Integer NbUPoles () const

Standard_Integer NbVPoles () const
Returns the number of poles for the u or v parametric direction of the BSpline surface whose data is computed in this framework. More...

Standard_Integer NbUKnots () const

Standard_Integer NbVKnots () const
Returns the number of knots for the u or v parametric direction of the BSpline surface whose data is computed in this framework . More...

Standard_Boolean IsUPeriodic () const

Standard_Boolean IsVPeriodic () const
Returns true if the BSpline surface whose data is computed in this framework is periodic in the u or v parametric direction. More...

gp_Pnt Pole (const Standard_Integer UIndex, const Standard_Integer VIndex) const
Returns the pole of index (UIndex,VIndex) to the poles table of the BSpline surface whose data is computed in this framework. Exceptions Standard_OutOfRange if, for the BSpline surface whose data is computed in this framework: More...

Standard_Real Weight (const Standard_Integer UIndex, const Standard_Integer VIndex) const
Returns the weight of the pole of index (UIndex,VIndex) to the poles table of the BSpline surface whose data is computed in this framework. Exceptions Standard_OutOfRange if, for the BSpline surface whose data is computed in this framework: More...

Standard_Real UKnot (const Standard_Integer UIndex) const
Returns the U-knot of range UIndex. Raised if UIndex < 1 or UIndex > NbUKnots. More...

Standard_Real VKnot (const Standard_Integer UIndex) const
Returns the V-knot of range VIndex. Raised if VIndex < 1 or VIndex > NbVKnots. More...

Standard_Integer UMultiplicity (const Standard_Integer UIndex) const
Returns the multiplicity of the U-knot of range UIndex. Raised if UIndex < 1 or UIndex > NbUKnots. More...

Standard_Integer VMultiplicity (const Standard_Integer VIndex) const
Returns the multiplicity of the V-knot of range VIndex. Raised if VIndex < 1 or VIndex > NbVKnots. More...

## Protected Member Functions

Convert_ElementarySurfaceToBSplineSurface (const Standard_Integer NumberOfUPoles, const Standard_Integer NumberOfVPoles, const Standard_Integer NumberOfUKnots, const Standard_Integer NumberOfVKnots, const Standard_Integer UDegree, const Standard_Integer VDegree)

## Protected Attributes

TColgp_Array2OfPnt poles

TColStd_Array2OfReal weights

TColStd_Array1OfReal uknots

TColStd_Array1OfInteger umults

TColStd_Array1OfReal vknots

TColStd_Array1OfInteger vmults

Standard_Integer udegree

Standard_Integer vdegree

Standard_Integer nbUPoles

Standard_Integer nbVPoles

Standard_Integer nbUKnots

Standard_Integer nbVKnots

Standard_Boolean isuperiodic

Standard_Boolean isvperiodic

## Detailed Description

Root class for algorithms which convert an elementary surface (cylinder, cone, sphere or torus) into a BSpline surface (CylinderToBSplineSurface, ConeToBSplineSurface, SphereToBSplineSurface, TorusToBSplineSurface). These algorithms all work on elementary surfaces from the gp package and compute all the data needed to construct a BSpline surface equivalent to the cylinder, cone, sphere or torus. This data consists of the following:

• degrees in the u and v parametric directions,
• periodic characteristics in the u and v parametric directions,
• a poles table with associated weights,
• a knots table (for the u and v parametric directions) with associated multiplicities. The abstract class ElementarySurfaceToBSplineSurface provides a framework for storing and consulting this computed data. This data may then be used to construct a Geom_BSplineSurface surface, for example. All those classes define algorithmes to convert an ElementarySurface into a B-spline surface. This abstract class implements the methods to get the geometric representation of the B-spline surface. The B-spline representation is computed at the creation time in the sub classes. The B-spline surface is defined with its degree in the parametric U and V directions, its control points (Poles), its weights, its knots and their multiplicity. KeyWords : Convert, ElementarySurface, BSplineSurface.

## Constructor & Destructor Documentation

 Convert_ElementarySurfaceToBSplineSurface::Convert_ElementarySurfaceToBSplineSurface ( const Standard_Integer NumberOfUPoles, const Standard_Integer NumberOfVPoles, const Standard_Integer NumberOfUKnots, const Standard_Integer NumberOfVKnots, const Standard_Integer UDegree, const Standard_Integer VDegree )
protected

## Member Function Documentation

 Standard_Boolean Convert_ElementarySurfaceToBSplineSurface::IsUPeriodic ( ) const
 Standard_Boolean Convert_ElementarySurfaceToBSplineSurface::IsVPeriodic ( ) const

Returns true if the BSpline surface whose data is computed in this framework is periodic in the u or v parametric direction.

 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbUKnots ( ) const
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbUPoles ( ) const
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbVKnots ( ) const

Returns the number of knots for the u or v parametric direction of the BSpline surface whose data is computed in this framework .

 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbVPoles ( ) const

Returns the number of poles for the u or v parametric direction of the BSpline surface whose data is computed in this framework.

 gp_Pnt Convert_ElementarySurfaceToBSplineSurface::Pole ( const Standard_Integer UIndex, const Standard_Integer VIndex ) const

Returns the pole of index (UIndex,VIndex) to the poles table of the BSpline surface whose data is computed in this framework. Exceptions Standard_OutOfRange if, for the BSpline surface whose data is computed in this framework:

• UIndex is outside the bounds of the poles table in the u parametric direction, or
• VIndex is outside the bounds of the poles table in the v parametric direction.
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::UDegree ( ) const
 Standard_Real Convert_ElementarySurfaceToBSplineSurface::UKnot ( const Standard_Integer UIndex ) const

Returns the U-knot of range UIndex. Raised if UIndex < 1 or UIndex > NbUKnots.

 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::UMultiplicity ( const Standard_Integer UIndex ) const

Returns the multiplicity of the U-knot of range UIndex. Raised if UIndex < 1 or UIndex > NbUKnots.

 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::VDegree ( ) const

Returns the degree for the u or v parametric direction of the BSpline surface whose data is computed in this framework.

 Standard_Real Convert_ElementarySurfaceToBSplineSurface::VKnot ( const Standard_Integer UIndex ) const

Returns the V-knot of range VIndex. Raised if VIndex < 1 or VIndex > NbVKnots.

 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::VMultiplicity ( const Standard_Integer VIndex ) const

Returns the multiplicity of the V-knot of range VIndex. Raised if VIndex < 1 or VIndex > NbVKnots.

 Standard_Real Convert_ElementarySurfaceToBSplineSurface::Weight ( const Standard_Integer UIndex, const Standard_Integer VIndex ) const

Returns the weight of the pole of index (UIndex,VIndex) to the poles table of the BSpline surface whose data is computed in this framework. Exceptions Standard_OutOfRange if, for the BSpline surface whose data is computed in this framework:

• UIndex is outside the bounds of the poles table in the u parametric direction, or
• VIndex is outside the bounds of the poles table in the v parametric direction.

## Field Documentation

 Standard_Boolean Convert_ElementarySurfaceToBSplineSurface::isuperiodic
protected
 Standard_Boolean Convert_ElementarySurfaceToBSplineSurface::isvperiodic
protected
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::nbUKnots
protected
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::nbUPoles
protected
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::nbVKnots
protected
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::nbVPoles
protected
 TColgp_Array2OfPnt Convert_ElementarySurfaceToBSplineSurface::poles
protected
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::udegree
protected
 TColStd_Array1OfReal Convert_ElementarySurfaceToBSplineSurface::uknots
protected
 TColStd_Array1OfInteger Convert_ElementarySurfaceToBSplineSurface::umults
protected
 Standard_Integer Convert_ElementarySurfaceToBSplineSurface::vdegree
protected
 TColStd_Array1OfReal Convert_ElementarySurfaceToBSplineSurface::vknots
protected
 TColStd_Array1OfInteger Convert_ElementarySurfaceToBSplineSurface::vmults
protected
 TColStd_Array2OfReal Convert_ElementarySurfaceToBSplineSurface::weights
protected

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