OCC.Core.BSplSLib module

BSplSLib module, see official documentation at https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_bsplslib.html

class BSplSLib_Cache(*args)

Bases: OCC.Core.Standard.Standard_Transient

  • Constructor for caching of the span for the surface param theDegreeU degree along the first parameter (U) of the surface param thePeriodicU identify the surface is periodical along U axis param theFlatKnotsU knots of the surface (with repetition) along U axis param theDegreeV degree alogn the second parameter (V) of the surface param thePeriodicV identify the surface is periodical along V axis param theFlatKnotsV knots of the surface (with repetition) along V axis param theWeights array of weights of corresponding poles
    param theDegreeU

    type theDegreeU

    int

    param thePeriodicU

    type thePeriodicU

    bool

    param theFlatKnotsU

    type theFlatKnotsU

    TColStd_Array1OfReal

    param theDegreeV

    type theDegreeV

    int

    param thePeriodicV

    type thePeriodicV

    bool

    param theFlatKnotsV

    type theFlatKnotsV

    TColStd_Array1OfReal

    param theWeights

    default value is NULL

    type theWeights

    TColStd_Array2OfReal *

    rtype

    None

BuildCache()
  • Recomputes the cache data. Does not verify validity of the cache param theParameterU the parametric value on the U axis to identify the span param theParameterV the parametric value on the V axis to identify the span param theDegreeU degree along U axis param thePeriodicU identify whether the surface is periodic along U axis param theFlatKnotsU flat knots of the surface along U axis param theDegreeV degree along V axis param thePeriodicV identify whether the surface is periodic along V axis param theFlatKnotsV flat knots of the surface along V axis param thePoles array of poles of the surface param theWeights array of weights of corresponding poles
    param theParameterU

    type theParameterU

    float

    param theParameterV

    type theParameterV

    float

    param theFlatKnotsU

    type theFlatKnotsU

    TColStd_Array1OfReal

    param theFlatKnotsV

    type theFlatKnotsV

    TColStd_Array1OfReal

    param thePoles

    type thePoles

    TColgp_Array2OfPnt

    param theWeights

    default value is NULL

    type theWeights

    TColStd_Array2OfReal *

    rtype

    None

D0()
  • Calculates the point on the surface for specified parameters param[in] theU first parameter for calculation of the value param[in] theV second parameter for calculation of the value param[out] thePoint the result of calculation (the point on the surface)
    param theU

    type theU

    float

    param theV

    type theV

    float

    param thePoint

    type thePoint

    gp_Pnt

    rtype

    None

D1()
  • Calculates the point on the surface and its first derivative param[in] theU first parameter of calculation of the value param[in] theV second parameter of calculation of the value param[out] thePoint the result of calculation (the point on the surface) param[out] theTangentU tangent vector along U axis in the calculated point param[out] theTangentV tangent vector along V axis in the calculated point
    param theU

    type theU

    float

    param theV

    type theV

    float

    param thePoint

    type thePoint

    gp_Pnt

    param theTangentU

    type theTangentU

    gp_Vec

    param theTangentV

    type theTangentV

    gp_Vec

    rtype

    None

D2()
  • Calculates the point on the surface and derivatives till second order param[in] theU first parameter of calculation of the value param[in] theV second parameter of calculation of the value param[out] thePoint the result of calculation (the point on the surface) param[out] theTangentU tangent vector along U axis in the calculated point param[out] theTangentV tangent vector along V axis in the calculated point param[out] theCurvatureU curvature vector (2nd derivative on U) along U axis param[out] theCurvatureV curvature vector (2nd derivative on V) along V axis param[out] theCurvatureUV 2nd mixed derivative on U anv V
    param theU

    type theU

    float

    param theV

    type theV

    float

    param thePoint

    type thePoint

    gp_Pnt

    param theTangentU

    type theTangentU

    gp_Vec

    param theTangentV

    type theTangentV

    gp_Vec

    param theCurvatureU

    type theCurvatureU

    gp_Vec

    param theCurvatureV

    type theCurvatureV

    gp_Vec

    param theCurvatureUV

    type theCurvatureUV

    gp_Vec

    rtype

    None

static DownCast(t)
IsCacheValid()
  • Verifies validity of the cache using parameters of the point param theParameterU first parameter of the point placed in the span param theParameterV second parameter of the point placed in the span
    param theParameterU

    type theParameterU

    float

    param theParameterV

    type theParameterV

    float

    rtype

    bool

property thisown

The membership flag

class SwigPyIterator(*args, **kwargs)

Bases: object

advance()
copy()
decr()
distance()
equal()
incr()
next()
previous()
property thisown

The membership flag

value()
class bsplslib

Bases: object

static BuildCache()
  • Perform the evaluation of the Taylor expansion of the Bspline normalized between 0 and 1. If rational computes the homogeneous Taylor expension for the numerator and stores it in CachePoles
    param U

    type U

    float

    param V

    type V

    float

    param USpanDomain

    type USpanDomain

    float

    param VSpanDomain

    type VSpanDomain

    float

    param UPeriodicFlag

    type UPeriodicFlag

    bool

    param VPeriodicFlag

    type VPeriodicFlag

    bool

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param UIndex

    type UIndex

    int

    param VIndex

    type VIndex

    int

    param UFlatKnots

    type UFlatKnots

    TColStd_Array1OfReal

    param VFlatKnots

    type VFlatKnots

    TColStd_Array1OfReal

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param CachePoles

    type CachePoles

    TColgp_Array2OfPnt

    param CacheWeights

    type CacheWeights

    TColStd_Array2OfReal *

    rtype

    void* Perform the evaluation of the Taylor expansion of the Bspline normalized between 0 and 1. Structure of result optimized for BSplSLib_Cache.

    param theU

    type theU

    float

    param theV

    type theV

    float

    param theUSpanDomain

    type theUSpanDomain

    float

    param theVSpanDomain

    type theVSpanDomain

    float

    param theUPeriodic

    type theUPeriodic

    bool

    param theVPeriodic

    type theVPeriodic

    bool

    param theUDegree

    type theUDegree

    int

    param theVDegree

    type theVDegree

    int

    param theUIndex

    type theUIndex

    int

    param theVIndex

    type theVIndex

    int

    param theUFlatKnots

    type theUFlatKnots

    TColStd_Array1OfReal

    param theVFlatKnots

    type theVFlatKnots

    TColStd_Array1OfReal

    param thePoles

    type thePoles

    TColgp_Array2OfPnt

    param theWeights

    type theWeights

    TColStd_Array2OfReal *

    param theCacheArray

    type theCacheArray

    TColStd_Array2OfReal

    rtype

    void

static CacheD0()
  • Perform the evaluation of the of the cache the parameter must be normalized between the 0 and 1 for the span. The Cache must be valid when calling this routine. Geom Package will insure that. and then multiplies by the weights this just evaluates the current point the CacheParameter is where the Cache was constructed the SpanLength is to normalize the polynomial in the cache to avoid bad conditioning effects
    param U

    type U

    float

    param V

    type V

    float

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param UCacheParameter

    type UCacheParameter

    float

    param VCacheParameter

    type VCacheParameter

    float

    param USpanLenght

    type USpanLenght

    float

    param VSpanLength

    type VSpanLength

    float

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Point

    type Point

    gp_Pnt

    rtype

    void

static CacheD1()
  • Perform the evaluation of the of the cache the parameter must be normalized between the 0 and 1 for the span. The Cache must be valid when calling this routine. Geom Package will insure that. and then multiplies by the weights this just evaluates the current point the CacheParameter is where the Cache was constructed the SpanLength is to normalize the polynomial in the cache to avoid bad conditioning effects
    param U

    type U

    float

    param V

    type V

    float

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param UCacheParameter

    type UCacheParameter

    float

    param VCacheParameter

    type VCacheParameter

    float

    param USpanLenght

    type USpanLenght

    float

    param VSpanLength

    type VSpanLength

    float

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Point

    type Point

    gp_Pnt

    param VecU

    type VecU

    gp_Vec

    param VecV

    type VecV

    gp_Vec

    rtype

    void

static CacheD2()
  • Perform the evaluation of the of the cache the parameter must be normalized between the 0 and 1 for the span. The Cache must be valid when calling this routine. Geom Package will insure that. and then multiplies by the weights this just evaluates the current point the CacheParameter is where the Cache was constructed the SpanLength is to normalize the polynomial in the cache to avoid bad conditioning effects
    param U

    type U

    float

    param V

    type V

    float

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param UCacheParameter

    type UCacheParameter

    float

    param VCacheParameter

    type VCacheParameter

    float

    param USpanLenght

    type USpanLenght

    float

    param VSpanLength

    type VSpanLength

    float

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Point

    type Point

    gp_Pnt

    param VecU

    type VecU

    gp_Vec

    param VecV

    type VecV

    gp_Vec

    param VecUU

    type VecUU

    gp_Vec

    param VecUV

    type VecUV

    gp_Vec

    param VecVV

    type VecVV

    gp_Vec

    rtype

    void

static CoefsD0()
  • Calls CacheD0 for Bezier Surfaces Arrays computed with the method PolesCoefficients. Warning: To be used for BezierSurfaces ONLY!!!
    param U

    type U

    float

    param V

    type V

    float

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Point

    type Point

    gp_Pnt

    rtype

    None

static CoefsD1()
  • Calls CacheD0 for Bezier Surfaces Arrays computed with the method PolesCoefficients. Warning: To be used for BezierSurfaces ONLY!!!
    param U

    type U

    float

    param V

    type V

    float

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Point

    type Point

    gp_Pnt

    param VecU

    type VecU

    gp_Vec

    param VecV

    type VecV

    gp_Vec

    rtype

    None

static CoefsD2()
  • Calls CacheD0 for Bezier Surfaces Arrays computed with the method PolesCoefficients. Warning: To be used for BezierSurfaces ONLY!!!
    param U

    type U

    float

    param V

    type V

    float

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Point

    type Point

    gp_Pnt

    param VecU

    type VecU

    gp_Vec

    param VecV

    type VecV

    gp_Vec

    param VecUU

    type VecUU

    gp_Vec

    param VecUV

    type VecUV

    gp_Vec

    param VecVV

    type VecVV

    gp_Vec

    rtype

    None

static D0()
Parameters

U

type U

float

param V

type V

float

param UIndex

type UIndex

int

param VIndex

type VIndex

int

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param UKnots

type UKnots

TColStd_Array1OfReal

param VKnots

type VKnots

TColStd_Array1OfReal

param UMults

type UMults

TColStd_Array1OfInteger *

param VMults

type VMults

TColStd_Array1OfInteger *

param UDegree

type UDegree

int

param VDegree

type VDegree

int

param URat

type URat

bool

param VRat

type VRat

bool

param UPer

type UPer

bool

param VPer

type VPer

bool

param P

type P

gp_Pnt

rtype

void

static D1()
Parameters

U

type U

float

param V

type V

float

param UIndex

type UIndex

int

param VIndex

type VIndex

int

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param UKnots

type UKnots

TColStd_Array1OfReal

param VKnots

type VKnots

TColStd_Array1OfReal

param UMults

type UMults

TColStd_Array1OfInteger *

param VMults

type VMults

TColStd_Array1OfInteger *

param Degree

type Degree

int

param VDegree

type VDegree

int

param URat

type URat

bool

param VRat

type VRat

bool

param UPer

type UPer

bool

param VPer

type VPer

bool

param P

type P

gp_Pnt

param Vu

type Vu

gp_Vec

param Vv

type Vv

gp_Vec

rtype

void

static D2()
Parameters

U

type U

float

param V

type V

float

param UIndex

type UIndex

int

param VIndex

type VIndex

int

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param UKnots

type UKnots

TColStd_Array1OfReal

param VKnots

type VKnots

TColStd_Array1OfReal

param UMults

type UMults

TColStd_Array1OfInteger *

param VMults

type VMults

TColStd_Array1OfInteger *

param UDegree

type UDegree

int

param VDegree

type VDegree

int

param URat

type URat

bool

param VRat

type VRat

bool

param UPer

type UPer

bool

param VPer

type VPer

bool

param P

type P

gp_Pnt

param Vu

type Vu

gp_Vec

param Vv

type Vv

gp_Vec

param Vuu

type Vuu

gp_Vec

param Vvv

type Vvv

gp_Vec

param Vuv

type Vuv

gp_Vec

rtype

void

static D3()
Parameters

U

type U

float

param V

type V

float

param UIndex

type UIndex

int

param VIndex

type VIndex

int

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param UKnots

type UKnots

TColStd_Array1OfReal

param VKnots

type VKnots

TColStd_Array1OfReal

param UMults

type UMults

TColStd_Array1OfInteger *

param VMults

type VMults

TColStd_Array1OfInteger *

param UDegree

type UDegree

int

param VDegree

type VDegree

int

param URat

type URat

bool

param VRat

type VRat

bool

param UPer

type UPer

bool

param VPer

type VPer

bool

param P

type P

gp_Pnt

param Vu

type Vu

gp_Vec

param Vv

type Vv

gp_Vec

param Vuu

type Vuu

gp_Vec

param Vvv

type Vvv

gp_Vec

param Vuv

type Vuv

gp_Vec

param Vuuu

type Vuuu

gp_Vec

param Vvvv

type Vvvv

gp_Vec

param Vuuv

type Vuuv

gp_Vec

param Vuvv

type Vuvv

gp_Vec

rtype

void

static DN()
Parameters

U

type U

float

param V

type V

float

param Nu

type Nu

int

param Nv

type Nv

int

param UIndex

type UIndex

int

param VIndex

type VIndex

int

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param UKnots

type UKnots

TColStd_Array1OfReal

param VKnots

type VKnots

TColStd_Array1OfReal

param UMults

type UMults

TColStd_Array1OfInteger *

param VMults

type VMults

TColStd_Array1OfInteger *

param UDegree

type UDegree

int

param VDegree

type VDegree

int

param URat

type URat

bool

param VRat

type VRat

bool

param UPer

type UPer

bool

param VPer

type VPer

bool

param Vn

type Vn

gp_Vec

rtype

void

static FunctionMultiply()
  • this will multiply a given BSpline numerator N(u,v) and denominator D(u,v) defined by its U/VBSplineDegree and U/VBSplineKnots, and U/VMults. Its Poles and Weights are arrays which are coded as array2 of the form [1..UNumPoles][1..VNumPoles] by a function a(u,v) which is assumed to satisfy the following1. a(u,v) * N(u,v) and a(u,v) * D(u,v) is a polynomial BSpline that can be expressed exactly as a BSpline of degree U/VNewDegree on the knots U/VFlatKnots 2. the range of a(u,v) is the same as the range of N(u,v) or D(u,v) —Warning: it is the caller’s responsability to insure that conditions 1. and 2. above are satisfiedno check whatsoever is made in this method – theStatus will return 0 if OK else it will return the pivot index – of the matrix that was inverted to compute the multiplied – BSplinethe method used is interpolation at Schoenenberg – points of a(u,v)* N(u,v) and a(u,v) * D(u,v) theStatus will return 0 if OK else it will return the pivot index of the matrix that was inverted to compute the multiplied BSplinethe method used is interpolation at Schoenenberg points of a(u,v)*F(u,v) –
    param Function

    type Function

    BSplSLib_EvaluatorFunction

    param UBSplineDegree

    type UBSplineDegree

    int

    param VBSplineDegree

    type VBSplineDegree

    int

    param UBSplineKnots

    type UBSplineKnots

    TColStd_Array1OfReal

    param VBSplineKnots

    type VBSplineKnots

    TColStd_Array1OfReal

    param UMults

    type UMults

    TColStd_Array1OfInteger *

    param VMults

    type VMults

    TColStd_Array1OfInteger *

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param UFlatKnots

    type UFlatKnots

    TColStd_Array1OfReal

    param VFlatKnots

    type VFlatKnots

    TColStd_Array1OfReal

    param UNewDegree

    type UNewDegree

    int

    param VNewDegree

    type VNewDegree

    int

    param NewNumerator

    type NewNumerator

    TColgp_Array2OfPnt

    param NewDenominator

    type NewDenominator

    TColStd_Array2OfReal

    param theStatus

    type theStatus

    int

    rtype

    void

static GetPoles()
  • Get from FP the coordinates of the poles.
    param FP

    type FP

    TColStd_Array1OfReal

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param UDirection

    type UDirection

    bool

    rtype

    void* Get from FP the coordinates of the poles.

    param FP

    type FP

    TColStd_Array1OfReal

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal

    param UDirection

    type UDirection

    bool

    rtype

    void

static HomogeneousD0()
  • Makes an homogeneous evaluation of Poles and Weights any and returns in P the Numerator value and in W the Denominator value if Weights are present otherwise returns 1.0e0
    param U

    type U

    float

    param V

    type V

    float

    param UIndex

    type UIndex

    int

    param VIndex

    type VIndex

    int

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param UKnots

    type UKnots

    TColStd_Array1OfReal

    param VKnots

    type VKnots

    TColStd_Array1OfReal

    param UMults

    type UMults

    TColStd_Array1OfInteger *

    param VMults

    type VMults

    TColStd_Array1OfInteger *

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param URat

    type URat

    bool

    param VRat

    type VRat

    bool

    param UPer

    type UPer

    bool

    param VPer

    type VPer

    bool

    param W

    type W

    float

    param P

    type P

    gp_Pnt

    rtype

    void

static HomogeneousD1()
  • Makes an homogeneous evaluation of Poles and Weights any and returns in P the Numerator value and in W the Denominator value if Weights are present otherwise returns 1.0e0
    param U

    type U

    float

    param V

    type V

    float

    param UIndex

    type UIndex

    int

    param VIndex

    type VIndex

    int

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param UKnots

    type UKnots

    TColStd_Array1OfReal

    param VKnots

    type VKnots

    TColStd_Array1OfReal

    param UMults

    type UMults

    TColStd_Array1OfInteger *

    param VMults

    type VMults

    TColStd_Array1OfInteger *

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param URat

    type URat

    bool

    param VRat

    type VRat

    bool

    param UPer

    type UPer

    bool

    param VPer

    type VPer

    bool

    param N

    type N

    gp_Pnt

    param Nu

    type Nu

    gp_Vec

    param Nv

    type Nv

    gp_Vec

    param D

    type D

    float

    param Du

    type Du

    float

    param Dv

    type Dv

    float

    rtype

    void

static IncreaseDegree()
Parameters

UDirection

type UDirection

bool

param Degree

type Degree

int

param NewDegree

type NewDegree

int

param Periodic

type Periodic

bool

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param Knots

type Knots

TColStd_Array1OfReal

param Mults

type Mults

TColStd_Array1OfInteger

param NewPoles

type NewPoles

TColgp_Array2OfPnt

param NewWeights

type NewWeights

TColStd_Array2OfReal *

param NewKnots

type NewKnots

TColStd_Array1OfReal

param NewMults

type NewMults

TColStd_Array1OfInteger

rtype

void

static InsertKnots()
Parameters

UDirection

type UDirection

bool

param Degree

type Degree

int

param Periodic

type Periodic

bool

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param Knots

type Knots

TColStd_Array1OfReal

param Mults

type Mults

TColStd_Array1OfInteger

param AddKnots

type AddKnots

TColStd_Array1OfReal

param AddMults

type AddMults

TColStd_Array1OfInteger *

param NewPoles

type NewPoles

TColgp_Array2OfPnt

param NewWeights

type NewWeights

TColStd_Array2OfReal *

param NewKnots

type NewKnots

TColStd_Array1OfReal

param NewMults

type NewMults

TColStd_Array1OfInteger

param Epsilon

type Epsilon

float

param Add

default value is Standard_True

type Add

bool

rtype

void

static Interpolate()
  • Performs the interpolation of the data points given in the Poles array in the form [1,…,RL][1,…,RC][1…PolesDimension] . The ColLength CL and the Length of UParameters must be the same. The length of VFlatKnots is VDegree + CL + 1. //! The RowLength RL and the Length of VParameters must be the same. The length of VFlatKnots is Degree + RL + 1. //! Warning: the method used to do that interpolation is gauss elimination WITHOUT pivoting. Thus if the diagonal is not dominant there is no guarantee that the algorithm will work. Nevertheless for Cubic interpolation at knots or interpolation at Scheonberg points the method will work. The InversionProblem will report 0 if there was no problem else it will give the index of the faulty pivot
    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param UFlatKnots

    type UFlatKnots

    TColStd_Array1OfReal

    param VFlatKnots

    type VFlatKnots

    TColStd_Array1OfReal

    param UParameters

    type UParameters

    TColStd_Array1OfReal

    param VParameters

    type VParameters

    TColStd_Array1OfReal

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal

    param InversionProblem

    type InversionProblem

    int

    rtype

    void* Performs the interpolation of the data points given in the Poles array. The ColLength CL and the Length of UParameters must be the same. The length of VFlatKnots is VDegree + CL + 1. //! The RowLength RL and the Length of VParameters must be the same. The length of VFlatKnots is Degree + RL + 1. //! Warning: the method used to do that interpolation is gauss elimination WITHOUT pivoting. Thus if the diagonal is not dominant there is no guarantee that the algorithm will work. Nevertheless for Cubic interpolation at knots or interpolation at Scheonberg points the method will work. The InversionProblem will report 0 if there was no problem else it will give the index of the faulty pivot

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param UFlatKnots

    type UFlatKnots

    TColStd_Array1OfReal

    param VFlatKnots

    type VFlatKnots

    TColStd_Array1OfReal

    param UParameters

    type UParameters

    TColStd_Array1OfReal

    param VParameters

    type VParameters

    TColStd_Array1OfReal

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param InversionProblem

    type InversionProblem

    int

    rtype

    void

static IsRational()
  • Returns False if all the weights of the array <Weights> in the area [I1,I2] * [J1,J2] are identic. Epsilon is used for comparing weights. If Epsilon is 0. the Epsilon of the first weight is used.
    param Weights

    type Weights

    TColStd_Array2OfReal

    param I1

    type I1

    int

    param I2

    type I2

    int

    param J1

    type J1

    int

    param J2

    type J2

    int

    param Epsilon

    default value is 0.0

    type Epsilon

    float

    rtype

    bool

static Iso()
  • Computes the poles and weights of an isoparametric curve at parameter <Param> (UIso if <IsU> is True, VIso else).
    param Param

    type Param

    float

    param IsU

    type IsU

    bool

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param Knots

    type Knots

    TColStd_Array1OfReal

    param Mults

    type Mults

    TColStd_Array1OfInteger *

    param Degree

    type Degree

    int

    param Periodic

    type Periodic

    bool

    param CPoles

    type CPoles

    TColgp_Array1OfPnt

    param CWeights

    type CWeights

    TColStd_Array1OfReal *

    rtype

    void

static MovePoint()
  • Find the new poles which allows an old point (with a given u,v as parameters) to reach a new position UIndex1,UIndex2 indicate the range of poles we can move for U (1, UNbPoles-1) or (2, UNbPoles) -> no constraint for one side in U (2, UNbPoles-1) -> the ends are enforced for U don’t enter (1,NbPoles) and (1,VNbPoles) -> error: rigid move if problem in BSplineBasis calculation, no change for the curve and UFirstIndex, VLastIndex = 0 VFirstIndex, VLastIndex = 0
    param U

    type U

    float

    param V

    type V

    float

    param Displ

    type Displ

    gp_Vec

    param UIndex1

    type UIndex1

    int

    param UIndex2

    type UIndex2

    int

    param VIndex1

    type VIndex1

    int

    param VIndex2

    type VIndex2

    int

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param Rational

    type Rational

    bool

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal

    param UFlatKnots

    type UFlatKnots

    TColStd_Array1OfReal

    param VFlatKnots

    type VFlatKnots

    TColStd_Array1OfReal

    param UFirstIndex

    type UFirstIndex

    int

    param ULastIndex

    type ULastIndex

    int

    param VFirstIndex

    type VFirstIndex

    int

    param VLastIndex

    type VLastIndex

    int

    param NewPoles

    type NewPoles

    TColgp_Array2OfPnt

    rtype

    void

static NoWeights()
  • Used as argument for a non rational curve.
    rtype

    TColStd_Array2OfReal *

static PolesCoefficients()
  • Warning! To be used for BezierSurfaces ONLY!!!
    param Poles

    type Poles

    TColgp_Array2OfPnt

    param CachePoles

    type CachePoles

    TColgp_Array2OfPnt

    rtype

    None* Encapsulation of BuildCache to perform the evaluation of the Taylor expansion for beziersurfaces at parameters 0.,0.; Warning: To be used for BezierSurfaces ONLY!!!

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param CachePoles

    type CachePoles

    TColgp_Array2OfPnt

    param CacheWeights

    type CacheWeights

    TColStd_Array2OfReal *

    rtype

    void

static RationalDerivative()
  • this is a one dimensional function typedef void (*EvaluatorFunction) ( Standard_Integer // Derivative Request Standard_Real * // StartEnd[2][2] // [0] = U // [1] = V // [0] = start // [1] = end Standard_Real // UParameter Standard_Real // VParamerer Standard_Real & // Result Standard_Integer &) ;// Error Code serves to multiply a given vectorial BSpline by a function Computes the derivatives of a ratio of two-variables functions x(u,v) / w(u,v) at orders <N,M>, x(u,v) is a vector in dimension <3>. //! <Ders> is an array containing the values of the input derivatives from 0 to Min(<N>,<UDeg>), 0 to Min(<M>,<VDeg>). For orders higher than <UDeg,VDeg> the input derivatives are assumed to be 0. //! The <Ders> is a 2d array and the dimension of the lines is always (<VDeg>+1) * (<3>+1), even if <N> is smaller than <Udeg> (the derivatives higher than <N> are not used). //! Content of <Ders>//! x(i,j)[k] meansthe composant k of x derivated (i) times in u and (j) times in v. //! … First line … //! x[1],x[2],…,x[3],w x(0,1)[1],…,x(0,1)[3],w(1,0) … x(0,VDeg)[1],…,x(0,VDeg)[3],w(0,VDeg) //! … Then second line … //! x(1,0)[1],…,x(1,0)[3],w(1,0) x(1,1)[1],…,x(1,1)[3],w(1,1) … x(1,VDeg)[1],…,x(1,VDeg)[3],w(1,VDeg) //! … //! … Last line … //! x(UDeg,0)[1],…,x(UDeg,0)[3],w(UDeg,0) x(UDeg,1)[1],…,x(UDeg,1)[3],w(UDeg,1) … x(Udeg,VDeg)[1],…,x(UDeg,VDeg)[3],w(Udeg,VDeg) //! If <All> is false, only the derivative at order <N,M> is computed. <RDers> is an array of length 3 which will contain the result//! x(1)/w , x(2)/w , … derivated <N> <M> times //! If <All> is true multiples derivatives are computed. All the derivatives (i,j) with 0 <= i+j <= Max(N,M) are computed. <RDers> is an array of length 3 * (<N>+1) * (<M>+1) which will contains//! x(1)/w , x(2)/w , … x(1)/w , x(2)/w , … derivated <0,1> times x(1)/w , x(2)/w , … derivated <0,2> times … x(1)/w , x(2)/w , … derivated <0,N> times //! x(1)/w , x(2)/w , … derivated <1,0> times x(1)/w , x(2)/w , … derivated <1,1> times … x(1)/w , x(2)/w , … derivated <1,N> times //! x(1)/w , x(2)/w , … derivated <N,0> times …. Warning: <RDers> must be dimensionned properly.
    param UDeg

    type UDeg

    int

    param VDeg

    type VDeg

    int

    param N

    type N

    int

    param M

    type M

    int

    param Ders

    type Ders

    float

    param RDers

    type RDers

    float

    param All

    default value is Standard_True

    type All

    bool

    rtype

    void

static RemoveKnot()
Parameters

UDirection

type UDirection

bool

param Index

type Index

int

param Mult

type Mult

int

param Degree

type Degree

int

param Periodic

type Periodic

bool

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param Knots

type Knots

TColStd_Array1OfReal

param Mults

type Mults

TColStd_Array1OfInteger

param NewPoles

type NewPoles

TColgp_Array2OfPnt

param NewWeights

type NewWeights

TColStd_Array2OfReal *

param NewKnots

type NewKnots

TColStd_Array1OfReal

param NewMults

type NewMults

TColStd_Array1OfInteger

param Tolerance

type Tolerance

float

rtype

bool

static Resolution()
  • Given a tolerance in 3D space returns two tolerances, one in U one in V such that for all (u1,v1) and (u0,v0) in the domain of the surface f(u,v) we have| u1 - u0 | < UTolerance and | v1 - v0 | < VTolerance we have |f (u1,v1) - f (u0,v0)| < Tolerance3D
    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal *

    param UKnots

    type UKnots

    TColStd_Array1OfReal

    param VKnots

    type VKnots

    TColStd_Array1OfReal

    param UMults

    type UMults

    TColStd_Array1OfInteger

    param VMults

    type VMults

    TColStd_Array1OfInteger

    param UDegree

    type UDegree

    int

    param VDegree

    type VDegree

    int

    param URat

    type URat

    bool

    param VRat

    type VRat

    bool

    param UPer

    type UPer

    bool

    param VPer

    type VPer

    bool

    param Tolerance3D

    type Tolerance3D

    float

    param UTolerance

    type UTolerance

    float

    param VTolerance

    type VTolerance

    float

    rtype

    void

static Reverse()
  • Reverses the array of poles. Last is the Index of the new first Row( Col) of Poles. On a non periodic surface Last is Poles.Upper(). On a periodic curve last is (number of flat knots - degree - 1) or (sum of multiplicities(but for the last) + degree - 1)
    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Last

    type Last

    int

    param UDirection

    type UDirection

    bool

    rtype

    void* Reverses the array of weights.

    param Weights

    type Weights

    TColStd_Array2OfReal

    param Last

    type Last

    int

    param UDirection

    type UDirection

    bool

    rtype

    void

static SetPoles()
  • Copy in FP the coordinates of the poles.
    param Poles

    type Poles

    TColgp_Array2OfPnt

    param FP

    type FP

    TColStd_Array1OfReal

    param UDirection

    type UDirection

    bool

    rtype

    void* Copy in FP the coordinates of the poles.

    param Poles

    type Poles

    TColgp_Array2OfPnt

    param Weights

    type Weights

    TColStd_Array2OfReal

    param FP

    type FP

    TColStd_Array1OfReal

    param UDirection

    type UDirection

    bool

    rtype

    void

static Unperiodize()
Parameters

UDirection

type UDirection

bool

param Degree

type Degree

int

param Mults

type Mults

TColStd_Array1OfInteger

param Knots

type Knots

TColStd_Array1OfReal

param Poles

type Poles

TColgp_Array2OfPnt

param Weights

type Weights

TColStd_Array2OfReal *

param NewMults

type NewMults

TColStd_Array1OfInteger

param NewKnots

type NewKnots

TColStd_Array1OfReal

param NewPoles

type NewPoles

TColgp_Array2OfPnt

param NewWeights

type NewWeights

TColStd_Array2OfReal *

rtype

void

property thisown

The membership flag