//=============================================================================
const vector<double>&
StdMeshers_NumberOfSegments::BuildDistributionExpr( const char* expr,int nbSeg,int conv )
-
{
if( !buildDistribution( TCollection_AsciiString( ( Standard_CString )expr ), conv, 0.0, 1.0, nbSeg, _distr, 1E-4 ) )
_distr.resize( 0 );
StdMeshers_NumberOfSegments::BuildDistributionTab( const vector<double>& tab,
int nbSeg,
int conv )
-
{
if( !buildDistribution( tab, conv, 0.0, 1.0, nbSeg, _distr, 1E-4 ) )
_distr.resize( 0 );
//=============================================================================
void StdMeshers_NumberOfSegments::SetNumberOfSegments(int segmentsNumber)
-
{
int oldNumberOfSegments = _numberOfSegments;
if (segmentsNumber <= 0)
//================================================================================
void StdMeshers_NumberOfSegments::SetDistrType(DistrType typ)
-
{
if (typ < DT_Regular || typ > DT_ExprFunc)
throw SALOME_Exception(LOCALIZED("distribution type is out of range"));
//================================================================================
void StdMeshers_NumberOfSegments::SetScaleFactor(double scaleFactor)
-
{
if (scaleFactor < PRECISION)
throw SALOME_Exception(LOCALIZED("scale factor must be positive"));
//================================================================================
double StdMeshers_NumberOfSegments::GetScaleFactor() const
-
{
if (_distrType != DT_Scale)
throw SALOME_Exception(LOCALIZED("not a scale distribution"));
//================================================================================
void StdMeshers_NumberOfSegments::SetTableFunction(const vector<double>& table)
-
{
if (_distrType != DT_TabFunc)
_distrType = DT_TabFunc;
//================================================================================
const vector<double>& StdMeshers_NumberOfSegments::GetTableFunction() const
-
{
if (_distrType != DT_TabFunc)
throw SALOME_Exception(LOCALIZED("not a table function distribution"));
//================================================================================
void StdMeshers_NumberOfSegments::SetExpressionFunction(const char* expr)
-
{
if (_distrType != DT_ExprFunc)
_distrType = DT_ExprFunc;
std::string
StdMeshers_NumberOfSegments::CheckExpressionFunction( const std::string& expr,
const int convMode)
-
{
// remove white spaces
TCollection_AsciiString str((Standard_CString)expr.c_str());
//================================================================================
const char* StdMeshers_NumberOfSegments::GetExpressionFunction() const
-
{
if (_distrType != DT_ExprFunc)
throw SALOME_Exception(LOCALIZED("not an expression function distribution"));
//================================================================================
void StdMeshers_NumberOfSegments::SetConversionMode( int conv )
-
{
// if (_distrType != DT_TabFunc && _distrType != DT_ExprFunc)
// throw SALOME_Exception(LOCALIZED("not a functional distribution"));
//================================================================================
int StdMeshers_NumberOfSegments::ConversionMode() const
-
{
// if (_distrType != DT_TabFunc && _distrType != DT_ExprFunc)
// throw SALOME_Exception(LOCALIZED("not a functional distribution"));