X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_NumberOfSegments_i.cxx;h=edc817e3bd453a5c6386911d3dba80cf49db9c4d;hp=88149b400ade44cc43857b202959b0d8caf5131e;hb=refs%2Ftags%2FT_OCC_development_generic_2006_start;hpb=e884fc2507d46c805b15dfa633f4326c821c2d8c diff --git a/src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx b/src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx index 88149b400..edc817e3b 100644 --- a/src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx +++ b/src/StdMeshers_I/StdMeshers_NumberOfSegments_i.cxx @@ -71,6 +71,59 @@ StdMeshers_NumberOfSegments_i::~StdMeshers_NumberOfSegments_i() MESSAGE( "StdMeshers_NumberOfSegments_i::~StdMeshers_NumberOfSegments_i" ); } +//============================================================================= +/*! + * StdMeshers_NumberOfSegments_i::BuildDistribution + * + * Builds point distribution according to passed function + */ +//============================================================================= +SMESH::double_array* StdMeshers_NumberOfSegments_i::BuildDistributionExpr( const char* func, long nbSeg, long conv ) +throw ( SALOME::SALOME_Exception ) +{ + MESSAGE( "StdMeshers_NumberOfSegments_i::BuildDistribution" ); + ASSERT( myBaseImpl ); + try + { + SMESH::double_array_var aRes = new SMESH::double_array(); + const std::vector& res = this->GetImpl()->BuildDistributionExpr( func, nbSeg, conv ); + aRes->length( res.size() ); + for (int i = 0; i < res.size(); i++) + aRes[i] = res[i]; + return aRes._retn(); + } + catch( SALOME_Exception& S_ex ) + { + THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM ); + } +} + +SMESH::double_array* StdMeshers_NumberOfSegments_i::BuildDistributionTab( const SMESH::double_array& func, + long nbSeg, long conv ) +throw ( SALOME::SALOME_Exception ) +{ + MESSAGE( "StdMeshers_NumberOfSegments_i::BuildDistribution" ); + ASSERT( myBaseImpl ); + + std::vector tbl( func.length() ); + for (int i = 0; i < func.length(); i++) + tbl[i] = func[i]; + + try + { + SMESH::double_array_var aRes = new SMESH::double_array(); + const std::vector& res = this->GetImpl()->BuildDistributionTab( tbl, nbSeg, conv ); + aRes->length( res.size() ); + for (int i = 0; i < res.size(); i++) + aRes[i] = res[i]; + return aRes._retn(); + } + catch( SALOME_Exception& S_ex ) + { + THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM ); + } +} + //============================================================================= /*! * StdMeshers_NumberOfSegments_i::SetNumberOfSegments @@ -289,15 +342,15 @@ char* StdMeshers_NumberOfSegments_i::GetExpressionFunction() */ //============================================================================= -void StdMeshers_NumberOfSegments_i::SetExponentMode(CORBA::Boolean isExp) +void StdMeshers_NumberOfSegments_i::SetConversionMode(CORBA::Long conv ) throw ( SALOME::SALOME_Exception ) { - MESSAGE( "StdMeshers_NumberOfSegments_i::SetExponentMode" ); + MESSAGE( "StdMeshers_NumberOfSegments_i::SetConversionMode" ); ASSERT( myBaseImpl ); try { - this->GetImpl()->SetExponentMode( isExp ); + this->GetImpl()->SetConversionMode( conv ); // Update Python script - SMESH::TPythonDump() << _this() << ".SetExponentMode( " << isExp << " )"; + SMESH::TPythonDump() << _this() << ".SetConversionMode( " << conv << " )"; } catch ( SALOME_Exception& S_ex ) { THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), @@ -310,20 +363,20 @@ void StdMeshers_NumberOfSegments_i::SetExponentMode(CORBA::Boolean isExp) */ //============================================================================= -CORBA::Boolean StdMeshers_NumberOfSegments_i::IsExponentMode() +CORBA::Long StdMeshers_NumberOfSegments_i::ConversionMode() throw ( SALOME::SALOME_Exception ) { - MESSAGE( "StdMeshers_NumberOfSegments_i::IsExponentMode" ); + MESSAGE( "StdMeshers_NumberOfSegments_i::ConversionMode" ); ASSERT( myBaseImpl ); - bool isExp; + int conv; try { - isExp = this->GetImpl()->IsExponentMode(); + conv = this->GetImpl()->ConversionMode(); } catch ( SALOME_Exception& S_ex ) { THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM ); } - return isExp; + return conv; } //=============================================================================