OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

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:

Inheritance graph
[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:
Generated on Mon Aug 25 13:12:04 2008 for OpenCASCADE by  doxygen 1.4.1