Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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 bool IsByPoint, const double *theCoeffs, const double theUMin, const double 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 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 false, the number of the coefficients is 4 and they represent the combination of plane parameters and shift values.
 
void Init ()
 
void SetNbKronrodPoints (const int 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 double aTol)
 Setting the tolerance for inner integration.
 
double ErrorReached () const
 Returns the relative reached error of all values computation since the last call of GetStateNumber method.
 
double AbsolutError () const
 Returns the absolut reached error of all values computation since the last call of GetStateNumber method.
 
bool Value (const double X, double &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.
 
int 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 ()=default
 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 bool IsByPoint,
const double * theCoeffs,
const double theUMin,
const double 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 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 false, the number of the coefficients is 4 and they represent the combination of plane parameters and shift values.

Member Function Documentation

◆ AbsolutError()

double BRepGProp_TFunction::AbsolutError ( ) const

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

◆ ErrorReached()

double BRepGProp_TFunction::ErrorReached ( ) const

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

◆ GetStateNumber()

int 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 int 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 double 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()

bool BRepGProp_TFunction::Value ( const double X,
double & 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: