From 8354f15e748be116c291106a53ece4d28c87c355 Mon Sep 17 00:00:00 2001 From: vsr Date: Wed, 18 Dec 2013 14:16:24 +0000 Subject: [PATCH] Merge from V7_3_BR branch 18/12/2013 --- CMakeLists.txt | 8 ++- src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx | 17 +++++- src/GUI/BLSURFPlugin_msg_ja.ts | 74 ++++++++++++------------ 3 files changed, 58 insertions(+), 41 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 26fdf9a..31388ac 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ CMAKE_POLICY(SET CMP0003 NEW) STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7) -SET(${PROJECT_NAME_UC}_MINOR_VERSION 2) +SET(${PROJECT_NAME_UC}_MINOR_VERSION 3) SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) SET(${PROJECT_NAME_UC}_VERSION ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) @@ -138,6 +138,12 @@ IF(EXISTS ${SMESH_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH with GUI, please set SALOME_BUILD_GUI=ON in SMESH module") ENDIF(NOT SALOME_SMESH_BUILD_GUI) ENDIF(SALOME_BUILD_GUI) + IF(SALOME_BUILD_DOC) + IF(NOT SALOME_SMESH_BUILD_DOC) + MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH documentation to build BLSURFPLUGIN documentation. " + "So, you should either set SALOME_BUILD_DOC=OFF in BLSURFPLUGIN or set SALOME_BUILD_DOC=ON in SMESH module.") + ENDIF(NOT SALOME_SMESH_BUILD_DOC) + ENDIF(SALOME_BUILD_DOC) ELSE(EXISTS ${SMESH_ROOT_DIR}) MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH, please define SMESH_ROOT_DIR") ENDIF(EXISTS ${SMESH_ROOT_DIR}) diff --git a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx index a8abc9b..a146e6a 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx +++ b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx @@ -1645,7 +1645,11 @@ namespace } if ( u2node.size() < 2 ) return; - double tol = (( u2node.rbegin()->first - u2node.begin()->first ) / 20.) / u2node.size(); + //double tol = (( u2node.rbegin()->first - u2node.begin()->first ) / 20.) / u2node.size(); + Standard_Real f,l; + BRep_Tool::Range( TopoDS::Edge( shape ), f,l ); + double tol = (( l - f ) / 20.) / u2node.size(); + std::multimap< double, const SMDS_MeshNode* >::iterator un2, un1; for ( un2 = u2node.begin(), un1 = un2++; un2 != u2node.end(); un1 = un2++ ) { @@ -2407,6 +2411,7 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh& aMesh, if (theSizeMapStr.find(bad_end) == (theSizeMapStr.size()-bad_end.size()-1)) continue; // Expr To Python function, verification is performed at validation in GUI + gstate = PyGILState_Ensure(); PyObject * obj = NULL; obj= PyRun_String(theSizeMapStr.c_str(), Py_file_input, main_dict, NULL); Py_DECREF(obj); @@ -2414,6 +2419,7 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh& aMesh, func = PyObject_GetAttrString(main_mod, "f"); VertexId2PythonSmp[*ip]=func; VertexId2SizeMap.erase(vertexKey); // do not erase if using a vector + PyGILState_Release(gstate); } } } @@ -3066,12 +3072,17 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh& aMesh, sm->SetIsAlwaysComputed( true ); // Set error to FACE's w/o elements + SMESH_ComputeErrorName err = COMPERR_ALGO_FAILED; + if ( _comment.empty() ) + { + err = COMPERR_WARNING; + _comment = "No mesh elements assigned to a face"; + } for ( int i = 1; i <= fmap.Extent(); ++i ) { SMESH_subMesh* sm = aMesh.GetSubMesh( fmap(i) ); if ( !sm->GetSubMeshDS() || sm->GetSubMeshDS()->NbElements() == 0 ) - sm->GetComputeError().reset - ( new SMESH_ComputeError( COMPERR_ALGO_FAILED, _comment, this )); + sm->GetComputeError().reset( new SMESH_ComputeError( err, _comment, this )); } // Issue 0019864. On DebianSarge, FE signals do not obey to OSD::SetSignal(false) diff --git a/src/GUI/BLSURFPlugin_msg_ja.ts b/src/GUI/BLSURFPlugin_msg_ja.ts index b003064..e7f3806 100644 --- a/src/GUI/BLSURFPlugin_msg_ja.ts +++ b/src/GUI/BLSURFPlugin_msg_ja.ts @@ -13,7 +13,7 @@ BLSURF_PHY_MESH_TOOLTIP - <b><u>物理的なサイズ モード</u></b><br><br>\n 'サイズ' グローバル: 物理的なサイズは、グローバル、メッシュ作成された全体的な物理的なサイズを使用します。<br>\n ローカル 'サイズ': サイズ ローカル カーブとサーフェスのサイズのマップ機能を使用して計算されます。<br>'非アクティブ' \n: 物理的なサイズは計算されません。 + <b><u>物理サイズ モード</u></b><br><br>-「全体的なサイズ」: 物理的なサイズはグローバルで、メッシャーは、提供されている全体的な物理的なサイズが使用されます。<br>-'ローカル サイズ': サイズ マップ関数を使用してサイズのカーブおよびサーフェス上にローカルに計算できます。<br>-「非アクティブ」: 物理的なサイズが計算されなくなります。 BLSURF_GEOM_MESH @@ -21,7 +21,7 @@ BLSURF_GEOM_MESH_TOOLTIP - <b><u>幾何学的なサイズ モード</u></b><br><br>\n 'サイズ' グローバル: 幾何学的なサイズはグローバルであり、幾何学的パラメーターによって指定された幾何学的な近似、メッシュ作成を使用します。<br>'非アクティブ' \n: 幾何学的なサイズは計算されません。 + <b><u>幾何学的サイズ モード</u></b><br><br>-「全体的なサイズ」: 全体的な幾何学的サイズとメッシャーは、幾何学的パラメーターによって提供される幾何学的な近似を使用します。<br>-「非アクティブ」: 幾何学的なサイズが計算されなくなります。 BLSURF_DEFAULT_USER @@ -45,7 +45,7 @@ BLSURF_HPHYDEF_TOOLTIP - 定義済み定数全体のサイズを物理的なメッシュ。<br>\nThe 既定値は、 <em>diag</em>によって計算されます/<em>比</em><em>の比率</em>が環境設定で定義されています。 + 物理的メッシュの定義済み定数全体的なサイズです。<br><em>Diag</em>によって既定値が計算されます/<em>比率</em>、<em>比率</em>は環境設定で定義されます。 BLSURF_MINSIZE @@ -53,7 +53,7 @@ BLSURF_MINSIZE_TOOLTIP - 目的のセルの最小の全体的なサイズを定義します。<br><em>diag</em>によって 1000年 \nThe デフォルト値が計算されます。 + それは最小の全体目的セルのサイズを定義します。<br>既定値は、 <em>diag</em>1000 で計算されます。 BLSURF_MAXSIZE @@ -61,7 +61,7 @@ BLSURF_MAXSIZE_TOOLTIP - 目的のセルの最大の全体的なサイズを設定します。<br><em>diag</em>によって 5 \nThe デフォルト値が計算されます。 + 目的セルの最大の全体的なサイズを定義します。<br>既定値は、 <em>diag</em>5 によって計算されます。 BLSURF_SIZE_REL @@ -93,7 +93,7 @@ BLSURF_ANGLE_MESH_TOOLTIP - 頂上に、メッシュの三角形の平面と面の接線方向の角度に制限されます。<br>own\nand 角は小さく、メッシュ上で高密度に近いジオメトリにあります。 + 頂上への接線方向の平面の各メッシュの三角形の平面と角度に制限されます。<br>角度が小さい、メッシュが緻密で、ジオメトリの近くにあります。 BLSURF_CHORDAL_ERROR @@ -101,7 +101,7 @@ BLSURF_CHORDAL_TOOLTIP - 三角形とその CAD 表面間の最大距離。<br>own\nand 距離は小さくより多くメッシュ (等方性モードでのみ使用可能) の表面の近くになります。 + 三角形とその CAD 表面間の最大距離。<br>距離が小さい、メッシュが (等方性モードでのみ使用可能) の表面に近いことになります。 BLSURF_OTHER_PARAMETERS @@ -113,7 +113,7 @@ BLSURF_ANISOTROPIC_TOOLTIP - 有効な場合、このパラメーターは最大異方性異方性メッシュ比のプロセスを駆動するメトリックの設定。<br>\n デフォルト値の 0 は、メトリック (とこれから生成された各要素) 任意の拡張することができます。 + 有効な場合、このパラメーターは異方性メッシュ比のプロセス運転メトリックの最大異方性を設定します。<br>メトリック (およびこうして生成要素) することができます任意引き伸ばされること 0 の既定値。 BLSURF_REMOVE_TINY_EDGES @@ -421,119 +421,119 @@ ZERO_VALUE_OF - ZERO_VALUE_OF + "%1"の無効な値 (0) BLSURF_PERIODICITY - BLSURF_PERIODICITY + Periodicité BLSURF_PRECAD_PERIODICITY - BLSURF_PRECAD_PERIODICITY + 定期的な協会 (PreCAD を使用) BLSURF_PERIODICITY_ON_FACE - BLSURF_PERIODICITY_ON_FACE + 両側 BLSURF_PERIODICITY_ON_EDGE - BLSURF_PERIODICITY_ON_EDGE + エッジのみで BLSURF_PERIODICITY_OBJ_SOURCE_COLUMN - BLSURF_PERIODICITY_OBJ_SOURCE_COLUMN + ソース BLSURF_PERIODICITY_OBJ_TARGET_COLUMN - BLSURF_PERIODICITY_OBJ_TARGET_COLUMN + ターゲット BLSURF_PERIODICITY_P1_SOURCE_COLUMN - BLSURF_PERIODICITY_P1_SOURCE_COLUMN + P1 BLSURF_PERIODICITY_P2_SOURCE_COLUMN - BLSURF_PERIODICITY_P2_SOURCE_COLUMN + P2 BLSURF_PERIODICITY_P3_SOURCE_COLUMN - BLSURF_PERIODICITY_P3_SOURCE_COLUMN + P3 BLSURF_PERIODICITY_P1_TARGET_COLUMN - BLSURF_PERIODICITY_P1_TARGET_COLUMN + P1 BLSURF_PERIODICITY_P2_TARGET_COLUMN - BLSURF_PERIODICITY_P2_TARGET_COLUMN + P2 BLSURF_PERIODICITY_P3_TARGET_COLUMN - BLSURF_PERIODICITY_P3_TARGET_COLUMN + P3 BLSURF_PERIODICITY_MAIN_SOURCE - BLSURF_PERIODICITY_MAIN_SOURCE + ソース BLSURF_PERIODICITY_MAIN_TARGET - BLSURF_PERIODICITY_MAIN_TARGET + ターゲット BLSURF_PERIODICITY_SOURCE - BLSURF_PERIODICITY_SOURCE + ソース BLSURF_PERIODICITY_TARGET - BLSURF_PERIODICITY_TARGET + ターゲット BLSURF_PERIODICITY_WITH_VERTICES - BLSURF_PERIODICITY_WITH_VERTICES + 変換を定義する点。 BLSURF_PERIODICITY_P1_SOURCE - BLSURF_PERIODICITY_P1_SOURCE + P1 BLSURF_PERIODICITY_P2_SOURCE - BLSURF_PERIODICITY_P2_SOURCE + P2 BLSURF_PERIODICITY_P3_SOURCE - BLSURF_PERIODICITY_P3_SOURCE + P3 BLSURF_PERIODICITY_P1_TARGET - BLSURF_PERIODICITY_P1_TARGET + P1 BLSURF_PERIODICITY_P2_TARGET - BLSURF_PERIODICITY_P2_TARGET + P2 BLSURF_PERIODICITY_P3_TARGET - BLSURF_PERIODICITY_P3_TARGET + P3 BLSURF_PERIODICITY_ADD - BLSURF_PERIODICITY_ADD + 追加 BLSURF_PERIODICITY_REMOVE - BLSURF_PERIODICITY_REMOVE + 削除 BLSURF_PERIODICITY_WRONG_NUMBER_OF_VERTICES - BLSURF_PERIODICITY_WRONG_NUMBER_OF_VERTICES + 提供されるポイントの数が正しくありません。 BLSURF_PERIODICITY_SELECT_FACE - BLSURF_PERIODICITY_SELECT_FACE + Face BLSURF_PERIODICITY_SELECT_EDGE - BLSURF_PERIODICITY_SELECT_EDGE + Edge -- 2.39.2