diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 28862787d..5704acc4d 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -3018,6 +3018,17 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) break; } case SMESHOp::OpSplitBiQuadratic: + + case SMESHOp::OpUniformRefinement: + case SMESHOp::OpHONewCase: + case SMESHOp::OpHOCaseFollow: + case SMESHOp::OpHONewIter: + case SMESHOp::OpHOIterCompute: + case SMESHOp::OpHOIterComputePublish: + case SMESHOp::OpHOEdit: + case SMESHOp::OpHODelete: + case SMESHOp::OpMGAdapt: + case SMESHOp::OpConvertMeshToQuadratic: case SMESHOp::OpCreateBoundaryElements: // create 2D mesh from 3D case SMESHOp::OpReorientFaces: @@ -4252,6 +4263,17 @@ void SMESHGUI::initialize( CAM_Application* app ) createSMESHAction( SMESHOp::OpAutoColor, "AUTO_COLOR" ); createSMESHAction( SMESHOp::OpDisableAutoColor, "DISABLE_AUTO_COLOR" ); +// Mesh adaptation + createSMESHAction( SMESHOp::OpUniformRefinement, "REF_ALL", "ICON_REF_ALL" ); + createSMESHAction( SMESHOp::OpHONewCase, "HOMARD_CREATE_CASE", "ICON_HOMARD_CREATE_CASE" ); + createSMESHAction( SMESHOp::OpHOCaseFollow, "HOMARD_FOLLOW_ITERATION", "ICON_HOMARD_FOLLOW_ITERATION" ); + createSMESHAction( SMESHOp::OpHONewIter, "HOMARD_NEW_ITERATION", "ICON_HOMARD_NEW_ITERATION" ); + createSMESHAction( SMESHOp::OpHOIterCompute, "HOMARD_COMPUTE", "ICON_HOMARD_COMPUTE" ); + createSMESHAction( SMESHOp::OpHOIterComputePublish, "HOMARD_COMPUTE_PUBLISH", "ICON_HOMARD_COMPUTE_PUBLISH" ); + createSMESHAction( SMESHOp::OpHOEdit, "EDIT", "ICON_DLG_EDIT_MESH" ); + createSMESHAction( SMESHOp::OpHODelete, "DELETE", "ICON_DELETE" ); + createSMESHAction( SMESHOp::OpMGAdapt, "MG_ADAPT", "ICON_MG_ADAPT" ); + createSMESHAction( SMESHOp::OpMinimumDistance, "MEASURE_MIN_DIST", "ICON_MEASURE_MIN_DIST" ); createSMESHAction( SMESHOp::OpBoundingBox, "MEASURE_BND_BOX", "ICON_MEASURE_BND_BOX" ); createSMESHAction( SMESHOp::OpPropertiesLength, "MEASURE_LENGTH", "ICON_MEASURE_LENGTH" ); @@ -4293,6 +4315,7 @@ void SMESHGUI::initialize( CAM_Application* app ) meshId = createMenu( tr( "MEN_MESH" ), -1, 70, 10 ), ctrlId = createMenu( tr( "MEN_CTRL" ), -1, 60, 10 ), modifyId = createMenu( tr( "MEN_MODIFY" ), -1, 40, 10 ), + adaptId = createMenu( tr( "MEN_ADAPT" ), -1, 80, 10 ), measureId = createMenu( tr( "MEN_MEASURE" ), -1, 50, 10 ), viewId = createMenu( tr( "MEN_VIEW" ), -1, 2 ); @@ -4310,6 +4333,7 @@ void SMESHGUI::initialize( CAM_Application* app ) removeId = createMenu( tr( "MEN_REMOVE" ), modifyId, 403 ), //renumId = createMenu( tr( "MEN_RENUM" ), modifyId, 404 ), transfId = createMenu( tr( "MEN_TRANSF" ), modifyId, 405 ), + refHomardId = createMenu( tr( "MEN_REF_HOMARD" ), adaptId, -1, 10 ), basicPropId = createMenu( tr( "MEN_BASIC_PROPERTIES" ), measureId, -1, 10 ); //createMenu( SMESHOp::OpImportDAT, importId, -1 ); @@ -4465,6 +4489,18 @@ void SMESHGUI::initialize( CAM_Application* app ) createMenu( SMESHOp::OpSmoothing, modifyId, -1 ); createMenu( SMESHOp::OpPatternMapping, modifyId, -1 ); + createMenu( SMESHOp::OpUniformRefinement, adaptId, -1 ); + createMenu( SMESHOp::OpHONewCase, refHomardId, -1 ); + createMenu( SMESHOp::OpHOCaseFollow, refHomardId, -1 ); + createMenu( separator(), refHomardId, -1 ); + createMenu( SMESHOp::OpHONewIter, refHomardId, -1 ); + createMenu( SMESHOp::OpHOIterCompute, refHomardId, -1 ); + createMenu( SMESHOp::OpHOIterComputePublish, refHomardId, -1 ); + createMenu( separator(), refHomardId, -1 ); + createMenu( SMESHOp::OpHOEdit, refHomardId, -1 ); + createMenu( SMESHOp::OpHODelete, refHomardId, -1 ); + createMenu( SMESHOp::OpMGAdapt, adaptId, -1 ); + createMenu( SMESHOp::OpMinimumDistance, measureId, -1 ); createMenu( SMESHOp::OpBoundingBox, measureId, -1 ); createMenu( SMESHOp::OpAngle, measureId, -1 ); @@ -4492,6 +4528,7 @@ void SMESHGUI::initialize( CAM_Application* app ) //renumbTb = createTool( tr( "TB_RENUMBER" ), QString( "SMESHRenumberingToolbar" ) ), transformTb = createTool( tr( "TB_TRANSFORM" ), QString( "SMESHTransformationToolbar" ) ), modifyTb = createTool( tr( "TB_MODIFY" ), QString( "SMESHModificationToolbar" ) ), +// adaptTb = createTool( tr( "TB_ADAPTATION" ),QString( "SMESHAdaptationToolbar" ) ), measuremTb = createTool( tr( "TB_MEASUREM" ), QString( "SMESHMeasurementsToolbar" ) ), dispModeTb = createTool( tr( "TB_DISP_MODE" ), QString( "SMESHDisplayModeToolbar" ) ); @@ -4611,6 +4648,10 @@ void SMESHGUI::initialize( CAM_Application* app ) createTool( SMESHOp::OpSmoothing, modifyTb ); createTool( SMESHOp::OpPatternMapping, modifyTb ); +// createTool( SMESHOp::OpUniformRefinement, adaptTb ); +// createTool( SMESHOp::OpHOMARDRefinement, adaptTb ); +// createTool( SMESHOp::OpMGAdapt, adaptTb ); + createTool( SMESHOp::OpMinimumDistance, measuremTb ); createTool( SMESHOp::OpUpdate, dispModeTb ); @@ -4689,6 +4730,9 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); createPopupItem( SMESHOp::OpClearMesh, OB, mesh ); //popupMgr()->insert( separator(), -1, 0 ); +// createPopupItem( SMESHOp::OpUniformRefinement, OB, mesh ); +// createPopupItem( SMESHOp::OpHOMARDRefinement, OB, mesh ); +// createPopupItem( SMESHOp::OpMGAdapt, OB, mesh ); QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc ); QString multiple_non_empty = QString( " && %1>0 && numberOfNodes>0" ).arg( dc ); @@ -5834,6 +5878,24 @@ LightApp_Operation* SMESHGUI::createOperation( const int id ) const case SMESHOp::OpSplitBiQuadratic: op = new SMESHGUI_SplitBiQuadOp(); break; + case SMESHOp::OpUniformRefinement: + break; + case SMESHOp::OpHONewCase: + break; + case SMESHOp::OpHOCaseFollow: + break; + case SMESHOp::OpHONewIter: + break; + case SMESHOp::OpHOIterCompute: + break; + case SMESHOp::OpHOIterComputePublish: + break; + case SMESHOp::OpHOEdit: + break; + case SMESHOp::OpHODelete: + break; + case SMESHOp::OpMGAdapt: + break; case SMESHOp::OpConvertMeshToQuadratic: op = new SMESHGUI_ConvToQuadOp(); break; diff --git a/src/SMESHGUI/SMESHGUI_Operations.h b/src/SMESHGUI/SMESHGUI_Operations.h index b81781593..75d22b7ff 100644 --- a/src/SMESHGUI/SMESHGUI_Operations.h +++ b/src/SMESHGUI/SMESHGUI_Operations.h @@ -184,6 +184,16 @@ namespace SMESHOp { OpConvertMeshToQuadratic = 4513, // MENU MODIFICATION - CONVERT TO/FROM QUADRATIC OpCreateBoundaryElements = 4514, // MENU MODIFICATION - CREATE BOUNDARY ELEMENTS OpSplitBiQuadratic = 4515, // MENU MODIFICATION - SPLIT BI-QUADRATIC TO LINEAR + // Adaptation ---------------------//-------------------------------- + OpUniformRefinement = 8000, // MENU ADAPTATION - HOMARD - UNIFORM REFINEMENT + OpHONewCase = 8011, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - New Case + OpHOCaseFollow = 8012, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - New Case Follow + OpHONewIter = 8013, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - New Iteration + OpHOIterCompute = 8014, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - Compute Iteration + OpHOIterComputePublish = 8015, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - Compute Iteration and Publish + OpHOEdit = 8016, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - Edit objects + OpHODelete = 8017, // MENU ADAPTATION - HOMARD - FREE REFINEMENT - Delete objects + OpMGAdapt = 8020, // MENU ADAPTATION - MG-ADAPT // Measurements -------------------//-------------------------------- OpPropertiesLength = 5000, // MENU MEASUREMENTS - BASIC PROPERTIES - LENGTH OpPropertiesArea = 5001, // MENU MEASUREMENTS - BASIC PROPERTIES - AREA diff --git a/src/SMESHGUI/SMESH_images.ts b/src/SMESHGUI/SMESH_images.ts index 9f0e4a777..44f701e94 100644 --- a/src/SMESHGUI/SMESH_images.ts +++ b/src/SMESHGUI/SMESH_images.ts @@ -79,6 +79,34 @@ ICON_CREATE_GEO_GROUP mesh_groups_from_gemetry.png + + ICON_REF_ALL + adapt_ref_all.png + + + ICON_HOMARD_CREATE_CASE + adapt_ref_homard.png + + + ICON_HOMARD_FOLLOW_ITERATION + adapt_hom_iter_poursuite.png + + + ICON_HOMARD_NEW_ITERATION + adapt_hom_iter_next + + + ICON_HOMARD_COMPUTE + mesh_compute.png + + + ICON_HOMARD_COMPUTE_PUBLISH + mesh_compute.png + + + ICON_MG_ADAPT + adapt_mg_adapt.png + ICON_CONV_TO_QUAD mesh_conv_to_quad.png diff --git a/src/SMESHGUI/SMESH_msg_en.ts b/src/SMESHGUI/SMESH_msg_en.ts index eba5718ed..da239a33b 100644 --- a/src/SMESHGUI/SMESH_msg_en.ts +++ b/src/SMESHGUI/SMESH_msg_en.ts @@ -332,6 +332,38 @@ MEN_CONSTRUCT_GROUP Construct Group + + MEN_REF_ALL + Uniform refinement + + + MEN_REF_HOMARD + Refinement with HOMARD + + + MEN_HOMARD_CREATE_CASE + New case + + + MEN_HOMARD_FOLLOW_ITERATION + Existing case + + + MEN_HOMARD_NEW_ITERATION + New iteration + + + MEN_HOMARD_COMPUTE + Compute + + + MEN_HOMARD_COMPUTE_PUBLISH + Compute and publish + + + MEN_MG_ADAPT + Remesh with MG_Adapt + MEN_CONV_TO_QUAD Convert to/from quadratic @@ -780,6 +812,10 @@ MEN_MODIFY Modification + + MEN_ADAPT + Adaptation + MEN_MEASURE Measurements @@ -1494,6 +1530,10 @@ Please enter correct values and try again SMESH_AVAILABLE Available + + SMESH_NOT_AVAILABLE + Not available + SMESH_AVAILABLE_ALGORITHMS Available algorithms @@ -3104,6 +3144,18 @@ Use Display Entity menu command to show them. STB_CONSTRUCT_GROUP Construct Group + + STB_REF_ALL + Uniform refinement + + + STB_REF_HOMARD + Refinement with HOMARD + + + STB_MG_ADAPT + Remesh with MG_Adapt + STB_CONV_TO_QUAD Convert to/from quadratic @@ -3700,6 +3752,10 @@ Use Display Entity menu command to show them. TB_CTRL3D Volume Controls Toolbar + + TB_ADAPTATION + Adaptation Toolbar + TB_MEASUREM Measurements Toolbar @@ -3804,6 +3860,18 @@ Use Display Entity menu command to show them. TOP_CONSTRUCT_GROUP Construct Group + + TOP_REF_ALL + Uniform refinement + + + TOP_REF_HOMARD + Refinement with HOMARD + + + TOP_MG_ADAPT + Remesh with MG_Adapt + TOP_CONV_TO_QUAD Convert to/from quadratic diff --git a/src/SMESHGUI/SMESH_msg_fr.ts b/src/SMESHGUI/SMESH_msg_fr.ts index f3ecad3be..4cfbce422 100644 --- a/src/SMESHGUI/SMESH_msg_fr.ts +++ b/src/SMESHGUI/SMESH_msg_fr.ts @@ -474,7 +474,7 @@ MEN_EDIT - Edition + Editer MEN_EDIT_GROUP @@ -780,6 +780,10 @@ MEN_MODIFY Modification + + MEN_ADAPT + Adaptation + MEN_MEASURE Outils de mesure @@ -1108,6 +1112,38 @@ MEN_TRANSF Transformation + + MEN_REF_ALL + Raffinement uniforme + + + MEN_REF_HOMARD + Raffinement avec HOMARD + + + MEN_HOMARD_CREATE_CASE + Création d'un cas + + + MEN_HOMARD_FOLLOW_ITERATION + Poursuite d'une itération. + + + MEN_HOMARD_NEW_ITERATION + Création d'une itération + + + MEN_HOMARD_COMPUTE + Calculer + + + MEN_HOMARD_COMPUTE_PUBLISH + Calculer et publier + + + MEN_MG_ADAPT + Remaillage avec MG_Adapt + MEN_TRANSP Transparence @@ -3079,6 +3115,18 @@ Utilisez le menu "Visualiser une entité" pour les afficher. STB_CONSTRUCT_GROUP Construire un groupe + + STB_REF_ALL + Raffinement uniforme + + + STB_REF_HOMARD + Raffinement avec HOMARD + + + STB_MG_ADAPT + Remaillage avec MG_Adapt + STB_CONV_TO_QUAD Convertir vers/de quadratique @@ -3671,6 +3719,10 @@ Utilisez le menu "Visualiser une entité" pour les afficher. TB_CTRL3D Barre des contrôles des volumes + + TB_ADAPTATION + Barre de l'adaptation + TB_MEASUREM Barre des mesures @@ -3775,6 +3827,18 @@ Utilisez le menu "Visualiser une entité" pour les afficher. TOP_CONSTRUCT_GROUP Construire un groupe + + TOP_REF_ALL + Raffinement uniforme + + + TOP_REF_HOMARD + Raffinement avec HOMARD + + + TOP_MG_ADAPT + Remaillage avec MG_Adapt + TOP_CONV_TO_QUAD Convertir vers/de quadratique