#include <StdMeshers_Distribution.hxx>

Public Member Functions | |
| FunctionTable (const std::vector< double > &, const int) | |
| virtual | ~FunctionTable () |
| virtual bool | value (const double, double &) const |
| virtual double | integral (const double, const double) const |
Private Member Functions | |
| bool | findBounds (const double, int &, int &) const |
| double | integral (const int i) const |
| double | integral (const int i, const double d) const |
Private Attributes | |
| std::vector< double > | myData |
Definition at line 66 of file StdMeshers_Distribution.hxx.
| FunctionTable::FunctionTable | ( | const std::vector< double > & | data, |
| const int | conv | ||
| ) |
Definition at line 98 of file StdMeshers_Distribution.cxx.
References myData.
| FunctionTable::~FunctionTable | ( | ) | [virtual] |
Definition at line 104 of file StdMeshers_Distribution.cxx.
{
}
Definition at line 164 of file StdMeshers_Distribution.cxx.
References myData.
Referenced by integral(), and value().
| double FunctionTable::integral | ( | const int | i, |
| const double | d | ||
| ) | const [private] |
Definition at line 139 of file StdMeshers_Distribution.cxx.
References ex19_sphereINcube.f1, ex19_sphereINcube.f2, myData, SMESH_AdvancedEditor.res, and value().
| double FunctionTable::integral | ( | const int | i | ) | const [private] |
Definition at line 131 of file StdMeshers_Distribution.cxx.
References integral(), and myData.
| double FunctionTable::integral | ( | const double | a, |
| const double | b | ||
| ) | const [virtual] |
Implements Function.
Definition at line 151 of file StdMeshers_Distribution.cxx.
References findBounds(), and myData.
Referenced by integral().
{
int x1s, x1f, x2s, x2f;
findBounds( a, x1s, x1f );
findBounds( b, x2s, x2f );
double J = 0;
for( int i=x1s; i<x2s; i++ )
J+=integral( i );
J-=integral( x1s, a-myData[2*x1s] );
J+=integral( x2s, b-myData[2*x2s] );
return J;
}
| bool FunctionTable::value | ( | const double | t, |
| double & | f | ||
| ) | const [virtual] |
Reimplemented from Function.
Definition at line 108 of file StdMeshers_Distribution.cxx.
References findBounds(), SMESH_test.i1, SMESH_test.i2, myData, ex29_refine.x1, ex29_refine.x2, SMESH_fixation.y1, and SMESH_fixation.y2.
Referenced by integral().
{
int i1, i2;
if( !findBounds( t, i1, i2 ) )
return false;
if( i1==i2 ) {
f = myData[ 2*i1+1 ];
Function::value( t, f );
return true;
}
double
x1 = myData[2*i1], y1 = myData[2*i1+1],
x2 = myData[2*i2], y2 = myData[2*i2+1];
Function::value( x1, y1 );
Function::value( x2, y2 );
f = y1 + ( y2-y1 ) * ( t-x1 ) / ( x2-x1 );
return true;
}
std::vector<double> FunctionTable.myData [private] |
Definition at line 86 of file StdMeshers_Distribution.hxx.
Referenced by findBounds(), FunctionTable(), integral(), and value().