# FoundationClasses
TKMath
Convert

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

`#include <Convert_ElementarySurfaceToBSplineSurface.hxx>`

Inheritance diagram for Convert_ElementarySurfaceToBSplineSurface:

[legend]

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
Standard_EXPORT Standard_Integer | UDegree () const
Standard_EXPORT 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. .
Standard_EXPORT Standard_Integer | NbUPoles () const
Standard_EXPORT 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. .
Standard_EXPORT Standard_Integer | NbUKnots () const
Standard_EXPORT 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 . .
Standard_EXPORT Standard_Boolean | IsUPeriodic () const
Standard_EXPORT 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. .
Standard_EXPORT 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: - 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_EXPORT 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:
- 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_EXPORT Standard_Real | UKnot (const Standard_Integer UIndex) const
| Returns the U-knot of range UIndex. //! Raised if UIndex < 1 or UIndex > NbUKnots. .
Standard_EXPORT Standard_Real | VKnot (const Standard_Integer UIndex) const
| Returns the V-knot of range VIndex. //! Raised if VIndex < 1 or VIndex > NbVKnots. .
Standard_EXPORT 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. .
Standard_EXPORT 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. .

## Protected Member Functions

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

## Constructor & Destructor Documentation

Standard_EXPORT 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_EXPORT Standard_Boolean Convert_ElementarySurfaceToBSplineSurface::IsUPeriodic | ( |  | ) | const

Standard_EXPORT Standard_Boolean Convert_ElementarySurfaceToBSplineSurface::IsVPeriodic | ( |  | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbUKnots | ( |  | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbUPoles | ( |  | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbVKnots | ( |  | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::NbVPoles | ( |  | ) | const

void Convert_ElementarySurfaceToBSplineSurface::operator delete | ( | void * | anAddress | ) | `[inline]`

| Reimplemented in Convert_ConeToBSplineSurface, Convert_CylinderToBSplineSurface, Convert_SphereToBSplineSurface, and Convert_TorusToBSplineSurface.

void* Convert_ElementarySurfaceToBSplineSurface::operator new | ( | size_t | size | ) | `[inline]`

| Reimplemented in Convert_ConeToBSplineSurface, Convert_CylinderToBSplineSurface, Convert_SphereToBSplineSurface, and Convert_TorusToBSplineSurface.

void* Convert_ElementarySurfaceToBSplineSurface::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

| Reimplemented in Convert_ConeToBSplineSurface, Convert_CylinderToBSplineSurface, Convert_SphereToBSplineSurface, and Convert_TorusToBSplineSurface.

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

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::UDegree | ( |  | ) | const

Standard_EXPORT Standard_Real Convert_ElementarySurfaceToBSplineSurface::UKnot | ( | const Standard_Integer | UIndex | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::UMultiplicity | ( | const Standard_Integer | UIndex | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::VDegree | ( |  | ) | const

Standard_EXPORT Standard_Real Convert_ElementarySurfaceToBSplineSurface::VKnot | ( | const Standard_Integer | UIndex | ) | const

Standard_EXPORT Standard_Integer Convert_ElementarySurfaceToBSplineSurface::VMultiplicity | ( | const Standard_Integer | VIndex | ) | const

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

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

- Convert_ElementarySurfaceToBSplineSurface.hxx