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

This commit is contained in:
eap 2019-11-05 15:02:59 +03:00
parent f67cc2cf76
commit 4cb88409b2
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,12 +1103,18 @@ 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 )
aServerLib.toUtf8().data(), hyp = SMESHGUI::GetSMESHGen()->CreateHypothesisByAverageLength( aHypType.toUtf8().data(),
aMesh, aServerLib.toUtf8().data(),
aGeomVar, initParams.averageLength,
initParams ); initParams.quadDominated );
else
hyp = SMESHGUI::GetSMESHGen()->GetHypothesisParameterValues( aHypType.toUtf8().data(),
aServerLib.toUtf8().data(),
aMesh,
aGeomVar,
initParams );
if ( hyp->_is_nil() && initParams.way == BY_MESH ) if ( hyp->_is_nil() && initParams.way == BY_MESH )
{ {
initParams.way = BY_GEOM; initParams.way = BY_GEOM;
@ -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>
@ -1183,7 +1183,7 @@
<message> <message>
<source>STB_OVERALL_MESH_QUALITY</source> <source>STB_OVERALL_MESH_QUALITY</source>
<translation>Qualité du maillage global</translation> <translation>Qualité du maillage global</translation>
</message> </message>
<message> <message>
<source>STB_SPLIT_TO_TETRA</source> <source>STB_SPLIT_TO_TETRA</source>
<translation>Eclater en tétraèdres</translation> <translation>Eclater en tétraèdres</translation>
@ -1803,7 +1803,7 @@ Voulez-vous continuer ?</translation>
</message> </message>
<message> <message>
<source>SMESH_EXPORT_MED_VERSION_COLLISION</source> <source>SMESH_EXPORT_MED_VERSION_COLLISION</source>
<translation>La version MED du fichier &quot;%1&quot; n&apos;est pas connue <translation>La version MED du fichier &quot;%1&quot; n&apos;est pas connue
ou ne correspond pas à la version choisie. ou ne correspond pas à la version choisie.
Ecraser le fichier ?</translation> Ecraser le fichier ?</translation>
</message> </message>
@ -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>
@ -6556,7 +6579,7 @@ Sélectionnez un maillage ou un sous-maillage et essayez de nouveau</translation
</message> </message>
<message> <message>
<source>CONCURRENT_SUBMESH_APPEARS</source> <source>CONCURRENT_SUBMESH_APPEARS</source>
<translation> <translation>
L&apos;algorithme assigné a la même priorité que celui assigné à un L&apos;algorithme assigné a la même priorité que celui assigné à un
sous-maillage adjacent; ainsi l'algorithme à utiliser pour mailler la sous-maillage adjacent; ainsi l'algorithme à utiliser pour mailler la
frontière partagée par les deux sous-maillages n&apos;est pas défini. frontière partagée par les deux sous-maillages n&apos;est pas défini.
@ -6588,7 +6611,7 @@ Il est probable que le fichier est corrompu ou contient un autre type de motif</
</message> </message>
<message> <message>
<source>ERROR_OF_OPENING</source> <source>ERROR_OF_OPENING</source>
<translation>Il est impossible d&apos;ouvrir le fichier. <translation>Il est impossible d&apos;ouvrir le fichier.
Vérifiez s&apos;il existe et si vous avez l&apos;autorisation</translation> Vérifiez s&apos;il existe et si vous avez l&apos;autorisation</translation>
</message> </message>
<message> <message>
@ -6638,7 +6661,7 @@ Il est impossible de lire les coordonnées des points dans le fichier</translati
</message> </message>
<message> <message>
<source>ERR_READ_TOO_FEW_POINTS</source> <source>ERR_READ_TOO_FEW_POINTS</source>
<translation>Il est impossible de charger le motif. <translation>Il est impossible de charger le motif.
Il y a trop peu de points dans le fichier </translation> Il y a trop peu de points dans le fichier </translation>
</message> </message>
<message> <message>
@ -8144,7 +8167,7 @@ en raison de leurs types incompatibles:
<message> <message>
<source>SUBSHAPES_NOT_FOUND_MSG</source> <source>SUBSHAPES_NOT_FOUND_MSG</source>
<translation> <translation>
Some sub-shapes not found in the new geometry. They are listed Some sub-shapes not found in the new geometry. They are listed
below along with dependent mesh objects that are marked with below along with dependent mesh objects that are marked with
with red in the Object Browser.</translation> with red in the Object Browser.</translation>
</message> </message>

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,12 +163,19 @@ 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
const char* theLibName, GetHypothesisParameterValues (const char* theHypType,
SMESH::SMESH_Mesh_ptr theMesh, const char* theLibName,
GEOM::GEOM_Object_ptr theGeom, SMESH::SMESH_Mesh_ptr theMesh,
const SMESH::HypInitParams& theWay) GEOM::GEOM_Object_ptr theGeom,
const SMESH::HypInitParams& theWay)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
/* /*