Open CASCADE Technology
6.5.4
|
defines IGESBSplineSurface, Type <128> Form <0-9>
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_BSplineSurface.hxx>
Public Member Functions | |
IGESGeom_BSplineSurface () | |
void | Init (const Standard_Integer anIndexU, const Standard_Integer anIndexV, const Standard_Integer aDegU, const Standard_Integer aDegV, const Standard_Boolean aCloseU, const Standard_Boolean aCloseV, const Standard_Boolean aPolynom, const Standard_Boolean aPeriodU, const Standard_Boolean aPeriodV, const Handle< TColStd_HArray1OfReal > &allKnotsU, const Handle< TColStd_HArray1OfReal > &allKnotsV, const Handle< TColStd_HArray2OfReal > &allWeights, const Handle< TColgp_HArray2OfXYZ > &allPoles, const Standard_Real aUmin, const Standard_Real aUmax, const Standard_Real aVmin, const Standard_Real aVmax) |
This method is used to set the fields of the class BSplineSurface | |
void | SetFormNumber (const Standard_Integer form) |
Changes FormNumber (indicates the Shape of the Surface) Error if not in range [0-9] | |
Standard_Integer | UpperIndexU () const |
returns the upper index of the first sum (U) | |
Standard_Integer | UpperIndexV () const |
returns the upper index of the second sum (V) | |
Standard_Integer | DegreeU () const |
returns degree of first set of basis functions | |
Standard_Integer | DegreeV () const |
returns degree of second set of basis functions | |
Standard_Boolean | IsClosedU () const |
True if closed in U direction else False | |
Standard_Boolean | IsClosedV () const |
True if closed in V direction else False | |
Standard_Boolean | IsPolynomial (const Standard_Boolean flag=Standard_False) const |
True if polynomial, False if rational <flag> False (D) : computed from Weights <flag> True : recorded | |
Standard_Boolean | IsPeriodicU () const |
True if periodic in U direction else False | |
Standard_Boolean | IsPeriodicV () const |
True if periodic in V direction else False | |
Standard_Integer | NbKnotsU () const |
returns number of knots in U direction KnotsU are numbered from -DegreeU | |
Standard_Integer | NbKnotsV () const |
returns number of knots in V direction KnotsV are numbered from -DegreeV | |
Standard_Real | KnotU (const Standard_Integer anIndex) const |
returns the value of knot referred to by anIndex in U direction raises exception if anIndex < -DegreeU() or anIndex > (NbKnotsU() - DegreeU()) | |
Standard_Real | KnotV (const Standard_Integer anIndex) const |
returns the value of knot referred to by anIndex in V direction raises exception if anIndex < -DegreeV() or anIndex > (NbKnotsV() - DegreeV()) | |
Standard_Integer | NbPolesU () const |
returns number of poles in U direction | |
Standard_Integer | NbPolesV () const |
returns number of poles in V direction | |
Standard_Real | Weight (const Standard_Integer anIndex1, const Standard_Integer anIndex2) const |
returns the weight referred to by anIndex1, anIndex2 raises exception if anIndex1 <= 0 or anIndex1 > NbPolesU() or if anIndex2 <= 0 or anIndex2 > NbPolesV() | |
gp_Pnt | Pole (const Standard_Integer anIndex1, const Standard_Integer anIndex2) const |
returns the control point referenced by anIndex1, anIndex2 raises exception if anIndex1 <= 0 or anIndex1 > NbPolesU() or if anIndex2 <= 0 or anIndex2 > NbPolesV() | |
gp_Pnt | TransformedPole (const Standard_Integer anIndex1, const Standard_Integer anIndex2) const |
returns the control point referenced by anIndex1, anIndex2 after applying the Transf.Matrix raises exception if anIndex1 <= 0 or anIndex1 > NbPolesU() or if anIndex2 <= 0 or anIndex2 > NbPolesV() | |
Standard_Real | UMin () const |
returns starting value in the U direction | |
Standard_Real | UMax () const |
returns ending value in the U direction | |
Standard_Real | VMin () const |
returns starting value in the V direction | |
Standard_Real | VMax () const |
returns ending value in the V direction |
void IGESGeom_BSplineSurface::Init | ( | const Standard_Integer | anIndexU, |
const Standard_Integer | anIndexV, | ||
const Standard_Integer | aDegU, | ||
const Standard_Integer | aDegV, | ||
const Standard_Boolean | aCloseU, | ||
const Standard_Boolean | aCloseV, | ||
const Standard_Boolean | aPolynom, | ||
const Standard_Boolean | aPeriodU, | ||
const Standard_Boolean | aPeriodV, | ||
const Handle< TColStd_HArray1OfReal > & | allKnotsU, | ||
const Handle< TColStd_HArray1OfReal > & | allKnotsV, | ||
const Handle< TColStd_HArray2OfReal > & | allWeights, | ||
const Handle< TColgp_HArray2OfXYZ > & | allPoles, | ||
const Standard_Real | aUmin, | ||
const Standard_Real | aUmax, | ||
const Standard_Real | aVmin, | ||
const Standard_Real | aVmax | ||
) |
- anIndexU : Upper index of first sum <br> - anIndexV : Upper index of second sum <br> - aDegU, aDegV : Degrees of first and second sets <br> of basis functions <br> - aCloseU, aCloseV : 1 = Closed in U, V directions <br> 0 = open in U, V directions <br> - aPolynom : 0 = Rational, 1 = polynomial <br> - aPeriodU, aPeriodV : 0 = Non periodic in U or V direction <br> 1 = Periodic in U or V direction <br> - allKnotsU, allKnotsV : Knots in U and V directions <br> - allWeights : Array of weights <br> - allPoles : XYZ coordinates of all control points <br> - aUmin : Starting value of U direction <br> - aUmax : Ending value of U direction <br> - aVmin : Starting value of V direction <br> - aVmax : Ending value of V direction <br>
raises exception if allWeights & allPoles are not of same size.
Standard_Boolean IGESGeom_BSplineSurface::IsPolynomial | ( | const Standard_Boolean | flag = Standard_False | ) | const |
Standard_Real IGESGeom_BSplineSurface::KnotU | ( | const Standard_Integer | anIndex | ) | const |
Standard_Real IGESGeom_BSplineSurface::KnotV | ( | const Standard_Integer | anIndex | ) | const |
gp_Pnt IGESGeom_BSplineSurface::Pole | ( | const Standard_Integer | anIndex1, |
const Standard_Integer | anIndex2 | ||
) | const |
gp_Pnt IGESGeom_BSplineSurface::TransformedPole | ( | const Standard_Integer | anIndex1, |
const Standard_Integer | anIndex2 | ||
) | const |
Standard_Real IGESGeom_BSplineSurface::UMax | ( | ) | const |
Standard_Real IGESGeom_BSplineSurface::UMin | ( | ) | const |
Standard_Real IGESGeom_BSplineSurface::VMax | ( | ) | const |
Standard_Real IGESGeom_BSplineSurface::VMin | ( | ) | const |
Standard_Real IGESGeom_BSplineSurface::Weight | ( | const Standard_Integer | anIndex1, |
const Standard_Integer | anIndex2 | ||
) | const |