Open CASCADE Technology 7.8.0
Public Member Functions
BRepGProp_TFunction Class Reference

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>

Inheritance diagram for BRepGProp_TFunction:
Inheritance graph
[legend]

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.
 
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.
 
void SetValueType (const GProp_ValueType aType)
 Setting the type of the value to be returned. This parameter is directly passed to the UFunction.
 
void SetTolerance (const Standard_Real aTol)
 Setting the tolerance for inner integration.
 
Standard_Real ErrorReached () const
 Returns the relative reached error of all values computation since the last call of GetStateNumber method.
 
Standard_Real AbsolutError () const
 Returns the absolut reached error of all values computation since the last call of GetStateNumber method.
 
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.
 
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.
 
- Public Member Functions inherited from math_Function
virtual ~math_Function ()
 Virtual destructor, for safe inheritance.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ BRepGProp_TFunction()

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.

Member Function Documentation

◆ AbsolutError()

Standard_Real BRepGProp_TFunction::AbsolutError ( ) const

Returns the absolut reached error of all values computation since the last call of GetStateNumber method.

◆ ErrorReached()

Standard_Real BRepGProp_TFunction::ErrorReached ( ) const

Returns the relative reached error of all values computation since the last call of GetStateNumber method.

◆ GetStateNumber()

virtual Standard_Integer BRepGProp_TFunction::GetStateNumber ( )
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.

◆ Init()

void BRepGProp_TFunction::Init ( )

◆ SetNbKronrodPoints()

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.

◆ SetTolerance()

void BRepGProp_TFunction::SetTolerance ( const Standard_Real  aTol)

Setting the tolerance for inner integration.

◆ SetValueType()

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.

◆ Value()

virtual Standard_Boolean BRepGProp_TFunction::Value ( const Standard_Real  X,
Standard_Real F 
)
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.


The documentation for this class was generated from the following file: