Open CASCADE Technology
7.5.0
|
This class represents the integrand function for the outer integral computation. The returned value represents the integral of UFunction. It depends on the value type and the flag IsByPoint. More...
#include <BRepGProp_TFunction.hxx>
Public Member Functions | |
BRepGProp_TFunction (const BRepGProp_Face &theSurface, const gp_Pnt &theVertex, const Standard_Boolean IsByPoint, const Standard_Address theCoeffs, const Standard_Real theUMin, const Standard_Real theTolerance) | |
Constructor. Initializes the function with the face, the location point, the flag IsByPoint, the coefficients theCoeff that have different meaning depending on the value of IsByPoint. The last two parameters are theUMin - the lower bound of the inner integral. This value is fixed for any integral. And the value of tolerance of inner integral computation. If IsByPoint is equal to Standard_True, the number of the coefficients is equal to 3 and they represent X, Y and Z coordinates (theCoeff[0], theCoeff[1] and theCoeff[2] correspondingly) of the shift if the inertia is computed with respect to the point different then the location. If IsByPoint is equal to Standard_False, the number of the coefficients is 4 and they represent the compbination of plane parameters and shift values. More... | |
void | Init () |
void | SetNbKronrodPoints (const Standard_Integer theNbPoints) |
Setting the expected number of Kronrod points for the outer integral computation. This number is required for computation of a value of tolerance for inner integral computation. After GetStateNumber method call, this number is recomputed by the same law as in math_KronrodSingleIntegration, i.e. next number of points is equal to the current number plus a square root of the current number. If the law in math_KronrodSingleIntegration is changed, the modification algo should be modified accordingly. More... | |
void | SetValueType (const GProp_ValueType aType) |
Setting the type of the value to be returned. This parameter is directly passed to the UFunction. More... | |
void | SetTolerance (const Standard_Real aTol) |
Setting the tolerance for inner integration. More... | |
Standard_Real | ErrorReached () const |
Returns the relative reached error of all values computation since the last call of GetStateNumber method. More... | |
Standard_Real | AbsolutError () const |
Returns the absolut reached error of all values computation since the last call of GetStateNumber method. More... | |
virtual Standard_Boolean | Value (const Standard_Real X, Standard_Real &F) override |
Returns a value of the function. The value represents an integral of UFunction. It is computed with the predefined tolerance using the adaptive Gauss-Kronrod method. More... | |
virtual Standard_Integer | GetStateNumber () override |
Redefined method. Remembers the error reached during computation of integral values since the object creation or the last call of GetStateNumber. It is invoked in each algorithm from the package math. Particularly in the algorithm math_KronrodSingleIntegration that is used to compute the integral of TFunction. More... | |
Public Member Functions inherited from math_Function | |
virtual | ~math_Function () |
Virtual destructor, for safe inheritance. More... | |
This class represents the integrand function for the outer integral computation. The returned value represents the integral of UFunction. It depends on the value type and the flag IsByPoint.
BRepGProp_TFunction::BRepGProp_TFunction | ( | const BRepGProp_Face & | theSurface, |
const gp_Pnt & | theVertex, | ||
const Standard_Boolean | IsByPoint, | ||
const Standard_Address | theCoeffs, | ||
const Standard_Real | theUMin, | ||
const Standard_Real | theTolerance | ||
) |
Constructor. Initializes the function with the face, the location point, the flag IsByPoint, the coefficients theCoeff that have different meaning depending on the value of IsByPoint. The last two parameters are theUMin - the lower bound of the inner integral. This value is fixed for any integral. And the value of tolerance of inner integral computation. If IsByPoint is equal to Standard_True, the number of the coefficients is equal to 3 and they represent X, Y and Z coordinates (theCoeff[0], theCoeff[1] and theCoeff[2] correspondingly) of the shift if the inertia is computed with respect to the point different then the location. If IsByPoint is equal to Standard_False, the number of the coefficients is 4 and they represent the compbination of plane parameters and shift values.
Standard_Real BRepGProp_TFunction::AbsolutError | ( | ) | const |
Returns the absolut reached error of all values computation since the last call of GetStateNumber method.
Standard_Real BRepGProp_TFunction::ErrorReached | ( | ) | const |
Returns the relative reached error of all values computation since the last call of GetStateNumber method.
|
overridevirtual |
Redefined method. Remembers the error reached during computation of integral values since the object creation or the last call of GetStateNumber. It is invoked in each algorithm from the package math. Particularly in the algorithm math_KronrodSingleIntegration that is used to compute the integral of TFunction.
Reimplemented from math_Function.
void BRepGProp_TFunction::Init | ( | ) |
void BRepGProp_TFunction::SetNbKronrodPoints | ( | const Standard_Integer | theNbPoints | ) |
Setting the expected number of Kronrod points for the outer integral computation. This number is required for computation of a value of tolerance for inner integral computation. After GetStateNumber method call, this number is recomputed by the same law as in math_KronrodSingleIntegration, i.e. next number of points is equal to the current number plus a square root of the current number. If the law in math_KronrodSingleIntegration is changed, the modification algo should be modified accordingly.
void BRepGProp_TFunction::SetTolerance | ( | const Standard_Real | aTol | ) |
Setting the tolerance for inner integration.
void BRepGProp_TFunction::SetValueType | ( | const GProp_ValueType | aType | ) |
Setting the type of the value to be returned. This parameter is directly passed to the UFunction.
|
overridevirtual |
Returns a value of the function. The value represents an integral of UFunction. It is computed with the predefined tolerance using the adaptive Gauss-Kronrod method.
Implements math_Function.