mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-30 19:30:35 +05:00
PAL14419 (IMP: a filter predicate to find nodes/elements lying on any
kind of geom surface needed) fix by ASV for instable work of TableDistribution in PLEIADES project
This commit is contained in:
parent
23d8425cf8
commit
78d8c9474d
@ -117,6 +117,11 @@ bool FunctionTable::value( const double t, double& f ) const
|
|||||||
if( !findBounds( t, i1, i2 ) )
|
if( !findBounds( t, i1, i2 ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if( i1==i2 ) {
|
||||||
|
f = myData[ 2*i1+1 ];
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
double
|
double
|
||||||
x1 = myData[2*i1], y1 = myData[2*i1+1],
|
x1 = myData[2*i1], y1 = myData[2*i1+1],
|
||||||
x2 = myData[2*i2], y2 = myData[2*i2+1];
|
x2 = myData[2*i2], y2 = myData[2*i2+1];
|
||||||
@ -169,7 +174,7 @@ bool FunctionTable::findBounds( const double x, int& x_ind_1, int& x_ind_2 ) con
|
|||||||
}
|
}
|
||||||
|
|
||||||
for( int i=0; i<n-1; i++ )
|
for( int i=0; i<n-1; i++ )
|
||||||
if( myData[2*i]<=x && x<=myData[2*(i+1)] )
|
if( myData[2*i]<=x && x<myData[2*(i+1)] )
|
||||||
{
|
{
|
||||||
x_ind_1 = i;
|
x_ind_1 = i;
|
||||||
x_ind_2 = i+1;
|
x_ind_2 = i+1;
|
||||||
@ -177,7 +182,7 @@ bool FunctionTable::findBounds( const double x, int& x_ind_1, int& x_ind_2 ) con
|
|||||||
}
|
}
|
||||||
x_ind_1 = n-1;
|
x_ind_1 = n-1;
|
||||||
x_ind_2 = n-1;
|
x_ind_2 = n-1;
|
||||||
return false;
|
return ( fabs( x - myData[2*x_ind_2] ) < 1.e-10 );
|
||||||
}
|
}
|
||||||
|
|
||||||
FunctionExpr::FunctionExpr( const char* str, const int conv )
|
FunctionExpr::FunctionExpr( const char* str, const int conv )
|
||||||
|
Loading…
Reference in New Issue
Block a user