Merge from BR_V5_IMP_P8

This commit is contained in:
eap 2009-01-22 14:13:43 +00:00
parent ceb1effa03
commit 001def51fb
5 changed files with 66 additions and 13 deletions

View File

@ -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();

View File

@ -24,8 +24,6 @@
// Author : Michael Sazonov (OCN)
// Date : 28/03/2006
// Project : SALOME
// $Header$
//=============================================================================
//
#include <NETGENPlugin_Hypothesis.hxx>
#include <utilities.h>
@ -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 );
}
//=============================================================================
/*!
*

View File

@ -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;

View File

@ -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 );
}

View File

@ -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;