From: eap Date: Thu, 22 Jan 2009 14:13:43 +0000 (+0000) Subject: Merge from BR_V5_IMP_P8 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=001def51fbffac3e6c8a44d76f0e88e24d60ad1c;p=plugins%2Fnetgenplugin.git Merge from BR_V5_IMP_P8 --- diff --git a/src/GUI/NETGENPluginGUI_SimpleCreator.cxx b/src/GUI/NETGENPluginGUI_SimpleCreator.cxx index 5a7b231..030c00a 100644 --- a/src/GUI/NETGENPluginGUI_SimpleCreator.cxx +++ b/src/GUI/NETGENPluginGUI_SimpleCreator.cxx @@ -54,6 +54,8 @@ #define SPACING 6 #define MARGIN 11 +using namespace NETGENPlugin; + // copied from StdMeshersGUI_StdHypothesisCreator.cxx const double VALUE_MAX = 1.0e+15, // COORD_MAX VALUE_MAX_2 = VALUE_MAX * VALUE_MAX, @@ -215,8 +217,25 @@ void NETGENPluginGUI_SimpleCreator::retrieveParams() const if ( isCreation() ) myName->setText( hypName() ); - NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D_var h = - NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D::_narrow( initParamsHypothesis() ); + // set default real values + + NETGENPlugin_SimpleHypothesis_2D_var h = + NETGENPlugin_SimpleHypothesis_2D::_narrow( initParamsHypothesis( hasInitParamsHypothesis() )); + + if ( double len = h->GetLocalLength() ) + myLength->setValue( len ); + if ( double area = h->GetMaxElementArea() ) + myArea->setValue( area ); + if ( myVolume ) { + NETGENPlugin_SimpleHypothesis_3D_var h3d = + NETGENPlugin_SimpleHypothesis_3D::_narrow( initParamsHypothesis( hasInitParamsHypothesis()) ); + if ( double volume = (double) h3d->GetMaxElementVolume() ) + myVolume->setValue( volume ); + } + + h = NETGENPlugin_SimpleHypothesis_2D::_narrow( hypothesis() ); + + // set values of hypothesis // 1D int nbSeg = (int) h->GetNumberOfSegments(); @@ -246,8 +265,7 @@ void NETGENPluginGUI_SimpleCreator::retrieveParams() const // 3D if ( myVolume ) { - NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D_var h = - NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D::_narrow( initParamsHypothesis() ); + NETGENPlugin_SimpleHypothesis_3D_var h = NETGENPlugin_SimpleHypothesis_3D::_narrow( hypothesis() ); if ( double volume = (double) h->GetMaxElementVolume() ) { myLenFromFacesCheckBox->setChecked( false ); myVolume->setEnabled( true ); @@ -265,8 +283,8 @@ QString NETGENPluginGUI_SimpleCreator::storeParams() const QString valStr; try { - NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D_var h = - NETGENPlugin::NETGENPlugin_SimpleHypothesis_2D::_narrow( initParamsHypothesis() ); + NETGENPlugin_SimpleHypothesis_2D_var h = + NETGENPlugin_SimpleHypothesis_2D::_narrow( hypothesis() ); if( isCreation() ) SMESH::SetName( SMESH::FindSObject( h ), myName->text().toLatin1().data() ); @@ -293,8 +311,8 @@ QString NETGENPluginGUI_SimpleCreator::storeParams() const // 3D if ( myVolume ) { - NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D_var h = - NETGENPlugin::NETGENPlugin_SimpleHypothesis_3D::_narrow( initParamsHypothesis() ); + NETGENPlugin_SimpleHypothesis_3D_var h = + NETGENPlugin_SimpleHypothesis_3D::_narrow( hypothesis() ); if ( myVolume->isEnabled() ) { h->SetMaxElementVolume( myVolume->value() ); valStr += "; vol=" + myVolume->text(); diff --git a/src/NETGENPlugin/NETGENPlugin_Hypothesis.cxx b/src/NETGENPlugin/NETGENPlugin_Hypothesis.cxx index 4b7d217..1ed64ee 100644 --- a/src/NETGENPlugin/NETGENPlugin_Hypothesis.cxx +++ b/src/NETGENPlugin/NETGENPlugin_Hypothesis.cxx @@ -24,8 +24,6 @@ // Author : Michael Sazonov (OCN) // Date : 28/03/2006 // Project : SALOME -// $Header$ -//============================================================================= // #include #include @@ -290,11 +288,24 @@ istream & operator >>(istream & load, NETGENPlugin_Hypothesis & hyp) */ //================================================================================ bool NETGENPlugin_Hypothesis::SetParametersByMesh(const SMESH_Mesh* theMesh, - const TopoDS_Shape& theShape) + const TopoDS_Shape& theShape) { return false; } +//================================================================================ +/*! + * \brief Initialize my parameter values by linear size of mesh element. + * \retval bool - true if parameter values have been successfully defined + */ +//================================================================================ + +bool NETGENPlugin_Hypothesis::SetParametersByElementSize(double elemLenght, + const SMESH_Mesh* /*theMesh*/) +{ + return bool( _maxSize = elemLenght ); +} + //============================================================================= /*! * diff --git a/src/NETGENPlugin/NETGENPlugin_Hypothesis.hxx b/src/NETGENPlugin/NETGENPlugin_Hypothesis.hxx index 4ee439a..3cf75a4 100644 --- a/src/NETGENPlugin/NETGENPlugin_Hypothesis.hxx +++ b/src/NETGENPlugin/NETGENPlugin_Hypothesis.hxx @@ -24,8 +24,6 @@ // Author : Michael Sazonov (OCN) // Date : 27/03/2006 // Project : SALOME -// $Header$ -//============================================================================= // #ifndef _NETGENPlugin_Hypothesis_HXX_ #define _NETGENPlugin_Hypothesis_HXX_ @@ -103,6 +101,12 @@ public: */ virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape); + /*! + * \brief Initialize my parameter values by linear size of mesh element. + * \retval bool - true if parameter values have been successfully defined + */ + virtual bool SetParametersByElementSize( double elemLenght, const SMESH_Mesh* theMesh=0); + private: double _maxSize; double _growthRate; diff --git a/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.cxx b/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.cxx index df35387..4ccef3b 100644 --- a/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.cxx +++ b/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.cxx @@ -206,3 +206,17 @@ bool NETGENPlugin_SimpleHypothesis_2D::SetParametersByMesh(const SMESH_Mesh* t } return nbEdges; } + +//================================================================================ +/*! + * \brief Initialize my parameter values by linear size of mesh element. + * \retval bool - true if parameter values have been successfully defined + */ +//================================================================================ + +bool NETGENPlugin_SimpleHypothesis_2D::SetParametersByElementSize(double elemLenght, + const SMESH_Mesh* /*theMesh*/) +{ + return bool( _segmentLength = elemLenght ); +} + diff --git a/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx b/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx index 267bbac..545f92e 100644 --- a/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx +++ b/src/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx @@ -92,6 +92,12 @@ public: */ virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape); + /*! + * \brief Initialize my parameter values by linear size of mesh element. + * \retval bool - true if parameter values have been successfully defined + */ + virtual bool SetParametersByElementSize( double elemLenght, const SMESH_Mesh* theMesh=0); + private: int _nbSegments; double _segmentLength, _area;