Open CASCADE Technology
7.7.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_Real *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 combination 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 GaussKronrod 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_Real *  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 combination 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 GaussKronrod method.
Implements math_Function.