PLib
OCCT package PLib: PLib, PLib_HermitJacobi, PLib_JacobiPolynomial.
PLib
PLib means Polynomial functions library. This pk provides basic computation functions for polynomial functions. Note: weight arrays can be passed by pointer for some functions so that NULL pointer is valid. That means no weights passed.
Constructors(1)
- constructor(): PLib
Static methods(36)
Used as argument for a non rational functions.
Used as argument for a non rational functions.
- SetPoles(Poles: NCollection_Array1_gp_Pnt, FP: NCollection_Array1_double): void
Copy in FP the coordinates of the poles.
Parameters (2)PolesFP—Mutated in place; read the updated value from this argument after the call.
- SetPoles(Poles: NCollection_Array1_gp_Pnt2d, FP: NCollection_Array1_double): void
Copy in FP the coordinates of the poles.
Parameters (2)PolesFP—Mutated in place; read the updated value from this argument after the call.
- SetPoles(Poles: NCollection_Array1_gp_Pnt, Weights: NCollection_Array1_double, FP: NCollection_Array1_double): void
Copy in FP the coordinates of the poles.
Parameters (3)PolesWeightsFP—Mutated in place; read the updated value from this argument after the call.
- SetPoles(Poles: NCollection_Array1_gp_Pnt2d, Weights: NCollection_Array1_double, FP: NCollection_Array1_double): void
Copy in FP the coordinates of the poles.
Parameters (3)PolesWeightsFP—Mutated in place; read the updated value from this argument after the call.
- GetPoles(FP: NCollection_Array1_double, Poles: NCollection_Array1_gp_Pnt): void
Get from FP the coordinates of the poles.
Parameters (2)FPPoles—Mutated in place; read the updated value from this argument after the call.
- GetPoles(FP: NCollection_Array1_double, Poles: NCollection_Array1_gp_Pnt2d): void
Get from FP the coordinates of the poles.
Parameters (2)FPPoles—Mutated in place; read the updated value from this argument after the call.
- GetPoles(FP: NCollection_Array1_double, Poles: NCollection_Array1_gp_Pnt, Weights: NCollection_Array1_double): void
Get from FP the coordinates of the poles.
Parameters (3)FPPoles—Mutated in place; read the updated value from this argument after the call.Weights—Mutated in place; read the updated value from this argument after the call.
- GetPoles(FP: NCollection_Array1_double, Poles: NCollection_Array1_gp_Pnt2d, Weights: NCollection_Array1_double): void
Get from FP the coordinates of the poles.
Parameters (3)FPPoles—Mutated in place; read the updated value from this argument after the call.Weights—Mutated in place; read the updated value from this argument after the call.
- Bin(N: number, P: number): number
Returns the Binomial Cnp. N should be <=
BSplCLib::MaxDegree().Parameters (2)NP
- RationalDerivative(Degree: number, N: number, Dimension: number, Ders: number, RDers: number, All: boolean): { Ders: number; RDers: number }
Computes the derivatives of a ratio at order <N> in dimension <Dimension>.
<Ders> is an array containing the values of the input derivatives from 0 to std::min(<N>,<Degree>). For orders higher than <Degree> the inputcd /s2d1/BMDL/ derivatives are assumed to be 0.
Content of <Ders>:
x(1),x(2),...,x(Dimension),w x'(1),x'(2),...,x'(Dimension),w' x''(1),x''(2),...,x''(Dimension),w''
If <All> is false, only the derivative at order <N> is computed. <RDers> is an array of length Dimension which will contain the result:
x(1)/w , x(2)/w , ... derivated <N> times
If <All> is true all the derivatives up to order <N> are computed. <RDers> is an array of length Dimension * (N+1) which will contains:
x(1)/w , x(2)/w , ... x(1)/w , x(2)/w , ... derivated <1> times x(1)/w , x(2)/w , ... derivated <2> times ... x(1)/w , x(2)/w , ... derivated <N> times
Warning: <RDers> must be dimensioned properly.Parameters (6)DegreeNDimensionDersRDersAll
ReturnsA result object with fields:
Ders: updated value from the call.RDers: updated value from the call.
- RationalDerivatives(DerivativesRequest: number, Dimension: number, PolesDerivatives: number, WeightsDerivatives: number, RationalDerivates: number): { PolesDerivatives: number; WeightsDerivatives: number; RationalDerivates: number }
Computes DerivativesRequest derivatives of a ratio at of a BSpline function of degree <Degree> dimension <Dimension>.
<PolesDerivatives> is an array containing the values of the input derivatives from 0 to <DerivativeRequest> For orders higher than <Degree> the input derivatives are assumed to be 0.
Content of <PoleasDerivatives> :
x(1),x(2),...,x(Dimension) x'(1),x'(2),...,x'(Dimension) x''(1),x''(2),...,x''(Dimension)
WeightsDerivatives is an array that contains derivatives from 0 to <DerivativeRequest> After returning from the routine the array RationalDerivatives contains the following x(1)/w , x(2)/w , ... x(1)/w , x(2)/w , ... derivated once x(1)/w , x(2)/w , ... twice x(1)/w , x(2)/w , ... derivated <DerivativeRequest> times
The array RationalDerivatives and PolesDerivatives can be same since the overwrite is non destructive within the algorithm
Warning: <RationalDerivates> must be dimensioned properly.Parameters (5)DerivativesRequestDimensionPolesDerivativesWeightsDerivativesRationalDerivates
ReturnsA result object with fields:
PolesDerivatives: updated value from the call.WeightsDerivatives: updated value from the call.RationalDerivates: updated value from the call.
- EvalPolynomial(U: number, DerivativeOrder: number, Degree: number, Dimension: number, PolynomialCoeff: number, Results: number): { Results: number }
Performs Horner method with synthetic division for derivatives parameter , with <Degree> and <Dimension>. PolynomialCoeff are stored in the following fashion.
where the polynomial is defined as :
Results stores the result in the following format
this just evaluates the point at parameter U
Warning: <Results> and <PolynomialCoeff> must be dimensioned properlyParameters (6)UDerivativeOrderDegreeDimensionPolynomialCoeffResults
ReturnsA result object with fields:
Results: updated value from the call.
- NoDerivativeEvalPolynomial(U: number, Degree: number, Dimension: number, DegreeDimension: number, PolynomialCoeff: number, Results: number): { Results: number }
Same as above with DerivativeOrder = 0;.
Parameters (6)UDegreeDimensionDegreeDimensionPolynomialCoeffResults
ReturnsA result object with fields:
Results: updated value from the call.
- EvalPoly2Var(U: number, V: number, UDerivativeOrder: number, VDerivativeOrder: number, UDegree: number, VDegree: number, Dimension: number, PolynomialCoeff: number, Results: number): { PolynomialCoeff: number; Results: number }
Applies EvalPolynomial twice to evaluate the derivative of orders UDerivativeOrder in U, VDerivativeOrder in V at parameters U,V.
PolynomialCoeff are stored in the following fashionwhere the polynomial is defined as :
with m = UDegree and n = VDegree
Results stores the result in the following formatWarning: <Results> and <PolynomialCoeff> must be dimensioned properly
Parameters (9)UVUDerivativeOrderVDerivativeOrderUDegreeVDegreeDimensionPolynomialCoeffResults
ReturnsA result object with fields:
PolynomialCoeff: updated value from the call.Results: updated value from the call.
- EvalLagrange(U: number, DerivativeOrder: number, Degree: number, Dimension: number, ValueArray: number, ParameterArray: number, Results: number): { returnValue: number; ValueArray: number; ParameterArray: number; Results: number }
Performs the Lagrange Interpolation of given series of points with given parameters with the requested derivative order Results will store things in the following format with d = DerivativeOrder.
Parameters (7)UDerivativeOrderDegreeDimensionValueArrayParameterArrayResults
ReturnsA result object with fields:
returnValue: the C++ return valueValueArray: updated value from the call.ParameterArray: updated value from the call.Results: updated value from the call.
- EvalCubicHermite(U: number, DerivativeOrder: number, Dimension: number, ValueArray: number, DerivativeArray: number, ParameterArray: number, Results: number): { returnValue: number; ValueArray: number; DerivativeArray: number; ParameterArray: number; Results: number }
Performs the Cubic Hermite Interpolation of given series of points with given parameters with the requested derivative order. ValueArray stores the value at the first and last parameter. It has the following format :
Derivative array stores the value of the derivatives at the first parameter and at the last parameter in the following format
first param
last param
ParameterArray stores the first and last parameter in the following format :Results will store things in the following format with d = DerivativeOrder
Parameters (7)UDerivativeOrderDimensionValueArrayDerivativeArrayParameterArrayResults
ReturnsA result object with fields:
returnValue: the C++ return valueValueArray: updated value from the call.DerivativeArray: updated value from the call.ParameterArray: updated value from the call.Results: updated value from the call.
- HermiteCoefficients(FirstParameter: number, LastParameter: number, FirstOrder: number, LastOrder: number, MatrixCoefs: math_Matrix): boolean
This build the coefficient of Hermite's polynomes on [FirstParameter, LastParameter].
if j <= FirstOrder+1 then
MatrixCoefs[i, j] = ith coefficient of the polynome H0,j-1
else
MatrixCoefs[i, j] = ith coefficient of the polynome H1,k with k = j - FirstOrder - 2
return false if- |FirstParameter| > 100
- |LastParameter| > 100
- |FirstParameter| +|LastParameter| < 1/100
- |LastParameter - FirstParameter| / (|FirstParameter| +|LastParameter|) < 1/100
Parameters (5)FirstParameterLastParameterFirstOrderLastOrderMatrixCoefs
- CoefficientsPoles(Coefs: NCollection_Array1_gp_Pnt, WCoefs: NCollection_Array1_double, Poles: NCollection_Array1_gp_Pnt, WPoles: NCollection_Array1_double): voidParameters (4)
CoefsWCoefsPolesWPoles
- CoefficientsPoles(Coefs: NCollection_Array1_gp_Pnt2d, WCoefs: NCollection_Array1_double, Poles: NCollection_Array1_gp_Pnt2d, WPoles: NCollection_Array1_double): voidParameters (4)
CoefsWCoefsPolesWPoles
- CoefficientsPoles(Coefs: NCollection_Array1_double, WCoefs: NCollection_Array1_double, Poles: NCollection_Array1_double, WPoles: NCollection_Array1_double): voidParameters (4)
CoefsWCoefsPolesWPoles
- CoefficientsPoles(Coefs: NCollection_Array2_gp_Pnt, WCoefs: NCollection_Array2_double, Poles: NCollection_Array2_gp_Pnt, WPoles: NCollection_Array2_double): voidParameters (4)
CoefsWCoefsPolesWPoles
- CoefficientsPoles(dim: number, Coefs: NCollection_Array1_double, WCoefs: NCollection_Array1_double, Poles: NCollection_Array1_double, WPoles: NCollection_Array1_double): voidParameters (5)
dimCoefsWCoefsPolesWPoles
- Trimming(U1: number, U2: number, Coeffs: NCollection_Array1_gp_Pnt, WCoeffs: NCollection_Array1_double): voidParameters (4)
U1U2CoeffsWCoeffs
- Trimming(U1: number, U2: number, Coeffs: NCollection_Array1_gp_Pnt2d, WCoeffs: NCollection_Array1_double): voidParameters (4)
U1U2CoeffsWCoeffs
- Trimming(U1: number, U2: number, Coeffs: NCollection_Array1_double, WCoeffs: NCollection_Array1_double): voidParameters (4)
U1U2CoeffsWCoeffs
- Trimming(U1: number, U2: number, dim: number, Coeffs: NCollection_Array1_double, WCoeffs: NCollection_Array1_double): voidParameters (5)
U1U2dimCoeffsWCoeffs
- UTrimming(U1: number, U2: number, Coeffs: NCollection_Array2_gp_Pnt, WCoeffs: NCollection_Array2_double): voidParameters (4)
U1U2CoeffsWCoeffs
- VTrimming(V1: number, V2: number, Coeffs: NCollection_Array2_gp_Pnt, WCoeffs: NCollection_Array2_double): voidParameters (4)
V1V2CoeffsWCoeffs
- HermiteInterpolate(Dimension: number, FirstParameter: number, LastParameter: number, FirstOrder: number, LastOrder: number, FirstConstr: NCollection_Array2_double, LastConstr: NCollection_Array2_double, Coefficients: NCollection_Array1_double): boolean
Compute the coefficients in the canonical base of the polynomial satisfying the given constraints at the given parameters The array FirstContr(i,j) i=1,Dimension j=0,FirstOrder contains the values of the constraint at parameter FirstParameter idem for LastConstr.
Parameters (8)DimensionFirstParameterLastParameterFirstOrderLastOrderFirstConstrLastConstrCoefficients—Mutated in place; read the updated value from this argument after the call.
- JacobiParameters(ConstraintOrder: GeomAbs_Shape, MaxDegree: number, Code: number, NbGaussPoints: number, WorkDegree: number): { NbGaussPoints: number; WorkDegree: number }
Compute the number of points used for integral computations (NbGaussPoints) and the degree of Jacobi Polynomial (WorkDegree). ConstraintOrder has to be GeomAbs_C0, GeomAbs_C1 or GeomAbs_C2 Code: Code d' init. des parametres de discretisation. = -5 = -4 = -3 = -2 = -1 = 1 calcul rapide avec precision moyenne. = 2 calcul rapide avec meilleure precision. = 3 calcul un peu plus lent avec bonne precision. = 4 calcul lent avec la meilleure precision possible.
Parameters (5)ConstraintOrderMaxDegreeCodeNbGaussPointsWorkDegree
ReturnsA result object with fields:
NbGaussPoints: updated value from the call.WorkDegree: updated value from the call.
- NivConstr(ConstraintOrder: GeomAbs_Shape): number
translates from
GeomAbs_Shapeto IntegerParameters (1)ConstraintOrder
- ConstraintOrder(NivConstr: number): GeomAbs_Shape
translates from Integer to
GeomAbs_ShapeParameters (1)NivConstr
- EvalLength(Degree: number, Dimension: number, PolynomialCoeff: number, U1: number, U2: number, Length: number): { PolynomialCoeff: number; Length: number }Parameters (6)
DegreeDimensionPolynomialCoeffU1U2Length
- EvalLength(Degree: number, Dimension: number, PolynomialCoeff: number, U1: number, U2: number, Tol: number, Length: number, Error: number): { PolynomialCoeff: number; Length: number; Error: number }Parameters (8)
DegreeDimensionPolynomialCoeffU1U2TolLengthError
PLib_HermitJacobi
This class provides method to work with Jacobi Polynomials relatively to an order of constraint q = myWorkDegree-2*(myNivConstr+1) Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weight W(t) iorder is the integer value for the constraints: iorder = 0 <=> ConstraintOrder = GeomAbs_C0 iorder = 1 <=> ConstraintOrder = GeomAbs_C1 iorder = 2 <=> ConstraintOrder = GeomAbs_C2 P(t) = H(t) + W(t) * Q(t) Where W(t) = (1-t2)(2*iordre+2) the coefficients JacCoeff represents P(t) JacCoeff are stored as follow:
The coefficients
represents the part of the polynomial in the Hermit's base: H(t)
The following coefficients represents the part of the polynomial in the Jacobi base ie Q(t)
Constructors(1)
- constructor(WorkDegree: number, ConstraintOrder: GeomAbs_Shape): PLib_HermitJacobi
Initialize the polynomial class Degree has to be <= 30 ConstraintOrder has to be GeomAbs_C0 GeomAbs_C1 GeomAbs_C2.
Parameters (2)WorkDegreeConstraintOrder
Instance methods(10)
- MaxError(Dimension: number, HermJacCoeff: number, NewDegree: number): { returnValue: number; HermJacCoeff: number }
This method computes the maximum error on the polynomial W(t) Q(t) obtained by missing the coefficients of JacCoeff from NewDegree +1 to Degree.
Parameters (3)DimensionHermJacCoeffNewDegree
ReturnsA result object with fields:
returnValue: the C++ return valueHermJacCoeff: updated value from the call.
- ReduceDegree(Dimension: number, MaxDegree: number, Tol: number, HermJacCoeff: number, NewDegree: number, MaxError: number): { HermJacCoeff: number; NewDegree: number; MaxError: number }
Compute NewDegree <= MaxDegree so that MaxError is lower than Tol. MaxError can be greater than Tol if it is not possible to find a NewDegree <= MaxDegree. In this case NewDegree = MaxDegree.
Parameters (6)DimensionMaxDegreeTolHermJacCoeffNewDegreeMaxError
ReturnsA result object with fields:
HermJacCoeff: updated value from the call.NewDegree: updated value from the call.MaxError: updated value from the call.
- AverageError(Dimension: number, HermJacCoeff: number, NewDegree: number): { returnValue: number; HermJacCoeff: number }Parameters (3)
DimensionHermJacCoeffNewDegree
- ToCoefficients(Dimension: number, Degree: number, HermJacCoeff: NCollection_Array1_double, Coefficients: NCollection_Array1_double): void
Convert the polynomial P(t) = H(t) + W(t) Q(t) in the canonical base.
Parameters (4)DimensionDegreeHermJacCoeffCoefficients—Mutated in place; read the updated value from this argument after the call.
- D0(U: number, BasisValue: NCollection_Array1_double): void
Compute the values of the basis functions in u.
Parameters (2)UBasisValue—Mutated in place; read the updated value from this argument after the call.
- D1(U: number, BasisValue: NCollection_Array1_double, BasisD1: NCollection_Array1_double): void
Compute the values and the derivatives values of the basis functions in u.
Parameters (3)UBasisValue—Mutated in place; read the updated value from this argument after the call.BasisD1—Mutated in place; read the updated value from this argument after the call.
- D2(U: number, BasisValue: NCollection_Array1_double, BasisD1: NCollection_Array1_double, BasisD2: NCollection_Array1_double): void
Compute the values and the derivatives values of the basis functions in u.
Parameters (4)UBasisValue—Mutated in place; read the updated value from this argument after the call.BasisD1—Mutated in place; read the updated value from this argument after the call.BasisD2—Mutated in place; read the updated value from this argument after the call.
- D3(U: number, BasisValue: NCollection_Array1_double, BasisD1: NCollection_Array1_double, BasisD2: NCollection_Array1_double, BasisD3: NCollection_Array1_double): void
Compute the values and the derivatives values of the basis functions in u.
Parameters (5)UBasisValue—Mutated in place; read the updated value from this argument after the call.BasisD1—Mutated in place; read the updated value from this argument after the call.BasisD2—Mutated in place; read the updated value from this argument after the call.BasisD3—Mutated in place; read the updated value from this argument after the call.
- WorkDegree(): number
returns WorkDegree
- NivConstr(): number
returns NivConstr
PLib_JacobiPolynomial
This class provides method to work with Jacobi Polynomials relatively to an order of constraint q = myWorkDegree-2*(myNivConstr+1) Jk(t) for k=0,q compose the Jacobi Polynomial base relatively to the weight W(t) iorder is the integer value for the constraints: iorder = 0 <=> ConstraintOrder = GeomAbs_C0 iorder = 1 <=> ConstraintOrder = GeomAbs_C1 iorder = 2 <=> ConstraintOrder = GeomAbs_C2 P(t) = R(t) + W(t) * Q(t) Where W(t) = (1-t2)(2iordre+2) the coefficients JacCoeff represents P(t) JacCoeff are stored as follow:
c0(1) c0(2) .... c0(Dimension) c1(1) c1(2) .... c1(Dimension)
cDegree(1) cDegree(2) .... cDegree(Dimension)
The coefficients c0(1) c0(2) .... c0(Dimension) c2ordre+1(1) ... c2ordre+1(dimension)
represents the part of the polynomial in the canonical base: R(t) R(t) = c0 + c1 t + ...+ c2iordre+1 t**2iordre+1 The following coefficients represents the part of the polynomial in the Jacobi base ie Q(t) Q(t) = c2iordre+2 J0(t) + ...+ cDegree JDegree-2*iordre-2
Constructors(1)
- constructor(theWorkDegree: number, theConstraintOrder: GeomAbs_Shape): PLib_JacobiPolynomial
Initialize the polynomial class Degree has to be <= 30 ConstraintOrder has to be GeomAbs_C0 GeomAbs_C1 GeomAbs_C2.
Parameters (2)theWorkDegreetheConstraintOrder
Instance methods(13)
- Points(theNbGaussPoints: number, theTabPoints: NCollection_Array1_double): void
returns the Jacobi Points for Gauss integration ie the positive values of the Legendre roots by increasing values NbGaussPoints is the number of points chosen for the integral computation. TabPoints (0,NbGaussPoints/2) TabPoints (0) is loaded only for the odd values of NbGaussPoints The possible values for NbGaussPoints are : 8, 10, 15, 20, 25, 30, 35, 40, 50, 61 NbGaussPoints must be greater than Degree
Parameters (2)theNbGaussPointstheTabPoints—Mutated in place; read the updated value from this argument after the call.
- Weights(theNbGaussPoints: number, theTabWeights: NCollection_Array2_double): void
returns the Jacobi weights for Gauss integration only for the positive values of the Legendre roots in the order they are given by the method Points NbGaussPoints is the number of points chosen for the integral computation. TabWeights (0,NbGaussPoints/2,0,Degree) TabWeights (0,.) are only loaded for the odd values of NbGaussPoints The possible values for NbGaussPoints are: 8, 10, 15, 20, 25, 30, 35, 40, 50, 61 NbGaussPoints must be greater than Degree
Parameters (2)theNbGaussPointstheTabWeights—Mutated in place; read the updated value from this argument after the call.
- MaxValue(theTabMax: NCollection_Array1_double): void
this method loads for k=0,q the maximum value of abs ( W(t)Jk(t) ) for t bellonging to [-1,1] This values are loaded is the array TabMax(0,myWorkDegree-2(myNivConst+1)) MaxValue ( me ; TabMaxPointer : in out Real );
Parameters (1)theTabMax—Mutated in place; read the updated value from this argument after the call.
- MaxError(theDimension: number, theJacCoeff: number, theNewDegree: number): { returnValue: number; theJacCoeff: number }
This method computes the maximum error on the polynomial W(t) Q(t) obtained by missing the coefficients of JacCoeff from NewDegree +1 to Degree.
Parameters (3)theDimensiontheJacCoefftheNewDegree
ReturnsA result object with fields:
returnValue: the C++ return valuetheJacCoeff: updated value from the call.
- ReduceDegree(theDimension: number, theMaxDegree: number, theTol: number, theJacCoeff: number, theNewDegree: number, theMaxError: number): { theJacCoeff: number; theNewDegree: number; theMaxError: number }
Compute NewDegree <= MaxDegree so that MaxError is lower than Tol. MaxError can be greater than Tol if it is not possible to find a NewDegree <= MaxDegree. In this case NewDegree = MaxDegree.
Parameters (6)theDimensiontheMaxDegreetheToltheJacCoefftheNewDegreetheMaxError
ReturnsA result object with fields:
theJacCoeff: updated value from the call.theNewDegree: updated value from the call.theMaxError: updated value from the call.
- AverageError(theDimension: number, theJacCoeff: number, theNewDegree: number): { returnValue: number; theJacCoeff: number }Parameters (3)
theDimensiontheJacCoefftheNewDegree
- ToCoefficients(theDimension: number, theDegree: number, theJacCoeff: NCollection_Array1_double, theCoefficients: NCollection_Array1_double): void
Convert the polynomial P(t) = R(t) + W(t) Q(t) in the canonical base.
Parameters (4)theDimensiontheDegreetheJacCoefftheCoefficients—Mutated in place; read the updated value from this argument after the call.
- D0(theU: number, theBasisValue: NCollection_Array1_double): void
Compute the values of the basis functions in u.
Parameters (2)theUtheBasisValue—Mutated in place; read the updated value from this argument after the call.
- D1(theU: number, theBasisValue: NCollection_Array1_double, theBasisD1: NCollection_Array1_double): void
Compute the values and the derivatives values of the basis functions in u.
Parameters (3)theUtheBasisValue—Mutated in place; read the updated value from this argument after the call.theBasisD1—Mutated in place; read the updated value from this argument after the call.
- D2(theU: number, theBasisValue: NCollection_Array1_double, theBasisD1: NCollection_Array1_double, theBasisD2: NCollection_Array1_double): void
Compute the values and the derivatives values of the basis functions in u.
Parameters (4)theUtheBasisValue—Mutated in place; read the updated value from this argument after the call.theBasisD1—Mutated in place; read the updated value from this argument after the call.theBasisD2—Mutated in place; read the updated value from this argument after the call.
- D3(theU: number, theBasisValue: NCollection_Array1_double, theBasisD1: NCollection_Array1_double, theBasisD2: NCollection_Array1_double, theBasisD3: NCollection_Array1_double): void
Compute the values and the derivatives values of the basis functions in u.
Parameters (5)theUtheBasisValue—Mutated in place; read the updated value from this argument after the call.theBasisD1—Mutated in place; read the updated value from this argument after the call.theBasisD2—Mutated in place; read the updated value from this argument after the call.theBasisD3—Mutated in place; read the updated value from this argument after the call.
- WorkDegree(): number
returns WorkDegree
- NivConstr(): number
returns NivConstr