Fix dump for #17845 [EDF] Modifications of Automatic meshing

This commit is contained in:
eap 2019-11-05 15:02:59 +03:00
parent 629146eea3
commit aa510af427
5 changed files with 122 additions and 39 deletions

View File

@ -173,6 +173,15 @@ module SMESH
in string theLibName ) in string theLibName )
raises ( SALOME::SALOME_Exception ); raises ( SALOME::SALOME_Exception );
/*!
* Create a hypothesis and initialize it by average length
*/
SMESH_Hypothesis CreateHypothesisByAverageLength( in string theHypName,
in string theLibName,
in double theAverageLength,
in boolean theQuadDominated)
raises ( SALOME::SALOME_Exception );
/*! /*!
* Return a hypothesis holding parameter values corresponding either to the mesh * Return a hypothesis holding parameter values corresponding either to the mesh
* existing on the given geometry or to size of the geometry. * existing on the given geometry or to size of the geometry.

View File

@ -1103,8 +1103,14 @@ SMESHGUI_MeshOp::getInitParamsHypothesis( const QString& aHypType,
initParams.way = isSubMesh ? BY_MESH : BY_GEOM; initParams.way = isSubMesh ? BY_MESH : BY_GEOM;
} }
SMESH::SMESH_Hypothesis_var hyp = SMESH::SMESH_Hypothesis_var hyp;
SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toUtf8().data(), if ( initParams.way == BY_AVERAGE_LENGTH )
hyp = SMESHGUI::GetSMESHGen()->CreateHypothesisByAverageLength( aHypType.toUtf8().data(),
aServerLib.toUtf8().data(),
initParams.averageLength,
initParams.quadDominated );
else
hyp = SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toUtf8().data(),
aServerLib.toUtf8().data(), aServerLib.toUtf8().data(),
aMesh, aMesh,
aGeomVar, aGeomVar,
@ -1898,7 +1904,7 @@ void SMESHGUI_MeshOp::onHypoSet( const QString& theSetName )
HypothesesSet::SetType setType = aHypoSet->getPreferredHypType(); HypothesesSet::SetType setType = aHypoSet->getPreferredHypType();
if ( !aHypoSet->getAlgoAvailable( setType )) if ( !aHypoSet->getAlgoAvailable( setType ))
{ {
setType = setType == HypothesesSet::ALT ? HypothesesSet::MAIN : HypothesesSet::ALT; setType = ( setType == HypothesesSet::ALT ) ? HypothesesSet::MAIN : HypothesesSet::ALT;
if ( !aHypoSet->getAlgoAvailable( setType )) if ( !aHypoSet->getAlgoAvailable( setType ))
return; return;
} }

View File

@ -53,7 +53,7 @@
</message> </message>
<message> <message>
<source>GMF_BINARY_FILES_FILTER</source> <source>GMF_BINARY_FILES_FILTER</source>
<translation>Fichier GMF binaires</translation> <translation>Fichiers GMF binaires</translation>
</message> </message>
<message> <message>
<source>STL_BIN_FILES_FILTER</source> <source>STL_BIN_FILES_FILTER</source>
@ -109,7 +109,7 @@
</message> </message>
<message> <message>
<source>MIN_ELEM_EDGE</source> <source>MIN_ELEM_EDGE</source>
<translation>Longueur arête Minimum</translation> <translation>Longueur arête minimum</translation>
</message> </message>
<message> <message>
<source>ASPECTRATIO_3D_ELEMENTS</source> <source>ASPECTRATIO_3D_ELEMENTS</source>
@ -189,7 +189,7 @@
</message> </message>
<message> <message>
<source>EDITERR_NO_MEDIUM_ON_GEOM</source> <source>EDITERR_NO_MEDIUM_ON_GEOM</source>
<translation>Certain noeuds milieux (affichés en magenta) ne sont pas placés <translation>Certain nœuds milieux (affichés en magenta) ne sont pas placés
sur la géométrie pour éviter d&apos;obtenir des élements distordus.</translation> sur la géométrie pour éviter d&apos;obtenir des élements distordus.</translation>
</message> </message>
<message> <message>
@ -234,7 +234,7 @@
</message> </message>
<message> <message>
<source>DEFLECTION2D_FACES</source> <source>DEFLECTION2D_FACES</source>
<translation>Deflection 2D</translation> <translation>Déflection 2D</translation>
</message> </message>
<message> <message>
<source>LENGTH_EDGES</source> <source>LENGTH_EDGES</source>
@ -246,15 +246,15 @@
</message> </message>
<message> <message>
<source>MAX_ELEMENT_LENGTH_2D</source> <source>MAX_ELEMENT_LENGTH_2D</source>
<translation>Diamètre d&apos;éléments 2D</translation> <translation>Diamètre des éléments 2D</translation>
</message> </message>
<message> <message>
<source>MAX_ELEMENT_LENGTH_3D</source> <source>MAX_ELEMENT_LENGTH_3D</source>
<translation>Diamètre Element 3D</translation> <translation>Diamètre des éléments 3D</translation>
</message> </message>
<message> <message>
<source>DEFLECTION_2D</source> <source>DEFLECTION_2D</source>
<translation>Deflection 2D</translation> <translation>Déflection 2D</translation>
</message> </message>
<message> <message>
<source>MEN_ADD</source> <source>MEN_ADD</source>
@ -334,7 +334,7 @@
</message> </message>
<message> <message>
<source>MEN_CONV_TO_QUAD</source> <source>MEN_CONV_TO_QUAD</source>
<translation>Convertir vers/de quadratique</translation> <translation>Convertir vers/depuis quadratique</translation>
</message> </message>
<message> <message>
<source>MEN_2D_FROM_3D</source> <source>MEN_2D_FROM_3D</source>
@ -450,7 +450,7 @@
</message> </message>
<message> <message>
<source>MEN_0D_ON_ALL_NODES</source> <source>MEN_0D_ON_ALL_NODES</source>
<translation>Eléments 0D sur des noeuds</translation> <translation>Eléments 0D sur des nœuds</translation>
</message> </message>
<message> <message>
<source>MEN_BALL</source> <source>MEN_BALL</source>
@ -1855,8 +1855,7 @@ Voulez-vous continuer ?</translation>
<message> <message>
<source>SMESH_FILE_EXISTS</source> <source>SMESH_FILE_EXISTS</source>
<translation>Le fichier &quot;%1&quot; existe déjà. <translation>Le fichier &quot;%1&quot; existe déjà.
Voulez-vous le réécrire ou y ajouter Voulez-vous le réécrire ou y ajouter les données exportées ?</translation>
les données exportées ?</translation>
</message> </message>
<message> <message>
<source>SMESH_FONT_ARIAL</source> <source>SMESH_FONT_ARIAL</source>
@ -3154,7 +3153,7 @@ Utilisez le menu &quot;Visualiser une entité&quot; pour les afficher.
</message> </message>
<message> <message>
<source>STB_0D_ON_ALL_NODES</source> <source>STB_0D_ON_ALL_NODES</source>
<translation>Créer des éléments 0D sur des noeuds</translation> <translation>Créer des éléments 0D sur des nœuds</translation>
</message> </message>
<message> <message>
<source>STB_ELEMS0D</source> <source>STB_ELEMS0D</source>
@ -3846,7 +3845,7 @@ Utilisez le menu &quot;Visualiser une entité&quot; pour les afficher.
</message> </message>
<message> <message>
<source>TOP_0D_ON_ALL_NODES</source> <source>TOP_0D_ON_ALL_NODES</source>
<translation>Créer des éléments 0D sur des noeuds</translation> <translation>Créer des éléments 0D sur des nœuds</translation>
</message> </message>
<message> <message>
<source>TOP_ELEM0D</source> <source>TOP_ELEM0D</source>
@ -4964,7 +4963,7 @@ Ouvrez une fenêtre VTK et essayez de nouveau</translation>
<name>SMESHGUI_Add0DElemsOnAllNodesDlg</name> <name>SMESHGUI_Add0DElemsOnAllNodesDlg</name>
<message> <message>
<source>CAPTION</source> <source>CAPTION</source>
<translation>Créer des éléments 0D sur des noeuds</translation> <translation>Créer des éléments 0D sur des nœuds</translation>
</message> </message>
<message> <message>
<source>OBJ_BTN</source> <source>OBJ_BTN</source>
@ -5407,7 +5406,7 @@ Choisissez un groupe et essayez de nouveau</translation>
</message> </message>
<message> <message>
<source>EDIT_SELECTED_NODE_GROUP</source> <source>EDIT_SELECTED_NODE_GROUP</source>
<translation>Editer le groupe sélectionné de noeuds coïncidents</translation> <translation>Editer le groupe sélectionné de nœuds coïncidents</translation>
</message> </message>
<message> <message>
<source>EDIT_SELECTED_ELEM_GROUP</source> <source>EDIT_SELECTED_ELEM_GROUP</source>
@ -5431,7 +5430,7 @@ Choisissez un groupe et essayez de nouveau</translation>
</message> </message>
<message> <message>
<source>SEPARATE_CORNERS_AND_MEDIUM</source> <source>SEPARATE_CORNERS_AND_MEDIUM</source>
<translation>Pas de fusion du coin et des noeuds moyens des cellules quadratiques</translation> <translation>Pas de fusion du coin et des nœuds moyens des cellules quadratiques</translation>
</message> </message>
<message> <message>
<source>AVOID_MAKING_HOLES</source> <source>AVOID_MAKING_HOLES</source>
@ -5439,7 +5438,7 @@ Choisissez un groupe et essayez de nouveau</translation>
</message> </message>
<message> <message>
<source>KEEP_NODES</source> <source>KEEP_NODES</source>
<translation>Les noeuds à conserver pendant la fusion</translation> <translation>Les nœuds à conserver pendant la fusion</translation>
</message> </message>
<message> <message>
<source>GROUP_SUBMESH</source> <source>GROUP_SUBMESH</source>
@ -5533,7 +5532,7 @@ Choisissez un groupe et essayez de nouveau</translation>
<name>SMESHGUI_ExtrusionDlg</name> <name>SMESHGUI_ExtrusionDlg</name>
<message> <message>
<source>EXTRUSION_0D</source> <source>EXTRUSION_0D</source>
<translation>Extrusion de noeuds</translation> <translation>Extrusion de nœuds</translation>
</message> </message>
<message> <message>
<source>EXTRUSION_1D</source> <source>EXTRUSION_1D</source>
@ -5877,7 +5876,7 @@ Vérifiez la validité des informations données</translation>
</message> </message>
<message> <message>
<source>NUMBEROFNODESINELEMENT</source> <source>NUMBEROFNODESINELEMENT</source>
<translation>Nombre de noeuds dans l&apos;élément</translation> <translation>Nombre de nœuds dans l&apos;élément</translation>
</message> </message>
<message> <message>
<source>COPY_FROM</source> <source>COPY_FROM</source>
@ -6463,6 +6462,30 @@ Indiquez-les et essayez de nouveau</translation>
<source>CREATE_ALL_GROUPS</source> <source>CREATE_ALL_GROUPS</source>
<translation>Créer tous les groupes définis dans la géométrie</translation> <translation>Créer tous les groupes définis dans la géométrie</translation>
</message> </message>
<message>
<source>3D: Tetrahedralization</source>
<translation>3D : Tétraèdres</translation>
</message>
<message>
<source>3D: Mapped Hexahedralization</source>
<translation>3D : Hexaèdres réglés</translation>
</message>
<message>
<source>3D: Free Hexahedralization</source>
<translation>3D : Hexaèdres libres</translation>
</message>
<message>
<source>2D: Triangulation</source>
<translation>2D : Triangles</translation>
</message>
<message>
<source>2D: Mapped Quadrangulation</source>
<translation>2D : Quadrangles réglés</translation>
</message>
<message>
<source>2D: Free Quadrangulation</source>
<translation>2D : Quadrangles libres</translation>
</message>
</context> </context>
<context> <context>
<name>SMESHGUI_MeshOp</name> <name>SMESHGUI_MeshOp</name>
@ -6525,7 +6548,7 @@ Spécifiez-le et essayez de nouveau</translation>
</message> </message>
<message> <message>
<source>MT_HEXAHEDRAL</source> <source>MT_HEXAHEDRAL</source>
<translation>Hexahèdre</translation> <translation>Hexaèdre</translation>
</message> </message>
<message> <message>
<source>MT_TETRAHEDRAL</source> <source>MT_TETRAHEDRAL</source>

View File

@ -749,6 +749,43 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::CreateHypothesis( const char* theHypNam
return hyp._retn(); return hyp._retn();
} }
//================================================================================
/*!
* \brief Return a hypothesis initialized by given average length.
* \param theHypType - hypothesis type name
* \param theLibName - plugin library name
* \param theAverageLength - average length
* \param theQuadDominated - is quad-dominated flag
* \retval SMESH::SMESH_Hypothesis_ptr - the new hypothesis
*/
//================================================================================
SMESH::SMESH_Hypothesis_ptr
SMESH_Gen_i::CreateHypothesisByAverageLength( const char* theHypType,
const char* theLibName,
CORBA::Double theAverageLength,
CORBA::Boolean theQuadDominated)
throw ( SALOME::SALOME_Exception )
{
SMESH::HypInitParams initParams = { ::SMESH_Hypothesis::BY_AVERAGE_LENGTH,
theAverageLength, theQuadDominated };
SMESH::SMESH_Hypothesis_var hyp =
GetHypothesisParameterValues( theHypType, theLibName,
SMESH::SMESH_Mesh::_nil(),
GEOM::GEOM_Object::_nil(),
initParams );
SALOMEDS::SObject_wrap so = PublishHypothesis( hyp );
TPythonDump() << hyp << " = " << this << ".CreateHypothesisByAverageLength( '"
<< theHypType << "', '"
<< theLibName << "', "
<< theAverageLength << ", "
<< theQuadDominated << " )";
return hyp._retn();
}
//================================================================================ //================================================================================
/*! /*!
* \brief Return a hypothesis holding parameter values corresponding either to the mesh * \brief Return a hypothesis holding parameter values corresponding either to the mesh
@ -764,7 +801,7 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::CreateHypothesis( const char* theHypNam
//================================================================================ //================================================================================
SMESH::SMESH_Hypothesis_ptr SMESH::SMESH_Hypothesis_ptr
SMESH_Gen_i::GetHypothesisParameterValues (const char* theHypType, SMESH_Gen_i::GetHypothesisParameterValues( const char* theHypType,
const char* theLibName, const char* theLibName,
SMESH::SMESH_Mesh_ptr theMesh, SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theGeom, GEOM::GEOM_Object_ptr theGeom,
@ -844,6 +881,7 @@ SMESH_Gen_i::GetHypothesisParameterValues (const char* theHypTyp
dflts._elemLength = dflts._diagonal / myGen.GetBoundaryBoxSegmentation(); dflts._elemLength = dflts._diagonal / myGen.GetBoundaryBoxSegmentation();
dflts._shape = &shape; dflts._shape = &shape;
} }
// let the hypothesis initialize it's values // let the hypothesis initialize it's values
if ( hyp->SetParametersByDefaults( dflts, mesh )) if ( hyp->SetParametersByDefaults( dflts, mesh ))
return SMESH::SMESH_Hypothesis::_duplicate( tmpHyp ); return SMESH::SMESH_Hypothesis::_duplicate( tmpHyp );

View File

@ -163,8 +163,15 @@ public:
const char* theLibName) const char* theLibName)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
SMESH::SMESH_Hypothesis_ptr CreateHypothesisByAverageLength( const char* theHypType,
const char* theLibName,
CORBA::Double theAverageLength,
CORBA::Boolean theQuadDominated)
throw ( SALOME::SALOME_Exception );
// Return hypothesis of given type holding parameter values of the existing mesh // Return hypothesis of given type holding parameter values of the existing mesh
SMESH::SMESH_Hypothesis_ptr GetHypothesisParameterValues (const char* theHypType, SMESH::SMESH_Hypothesis_ptr
GetHypothesisParameterValues (const char* theHypType,
const char* theLibName, const char* theLibName,
SMESH::SMESH_Mesh_ptr theMesh, SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theGeom, GEOM::GEOM_Object_ptr theGeom,