From: vsr Date: Wed, 3 Jun 2015 08:06:53 +0000 (+0300) Subject: Merge branch V7_6_BR X-Git-Tag: V7_7_0a1~25 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=b46831ede78cc6a4c84d76c7ddf46c3f270bc45c;p=modules%2Fgeom.git Merge branch V7_6_BR --- b46831ede78cc6a4c84d76c7ddf46c3f270bc45c diff --cc CMakeLists.txt index 6b8e90fac,6431c2161..dbf940714 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@@ -30,11 -30,11 +30,11 @@@ 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 5) - SET(${PROJECT_NAME_UC}_PATCH_VERSION 1) + SET(${PROJECT_NAME_UC}_MINOR_VERSION 6) + 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}) -SET(${PROJECT_NAME_UC}_VERSION_DEV 0) +SET(${PROJECT_NAME_UC}_VERSION_DEV 1) # Find KERNEL # =========== diff --cc doc/salome/gui/GEOM/input/working_with_groups.doc index df36fd6a2,2ca5154dc..852047dfb --- a/doc/salome/gui/GEOM/input/working_with_groups.doc +++ b/doc/salome/gui/GEOM/input/working_with_groups.doc @@@ -91,21 -91,16 +91,21 @@@ threshold value(s) is computed accordin Filtering capabilities are not available for vertices. In order to filter out some entities: - - Activate one or two filtering controls by switching on corresponding check boxes; - - Select required threshold comparator type; the following choices are available: + - Activate one or two filtering controls by switching on the corresponding check boxes; + - Select the required threshold comparator type; the following choices are available: - Less Than or Equal or Less Than for the first comparator; - Greater Than or Equal or Greater Than for the second comparator; - - Enter required threshold value (values); + - Enter the required threshold value (values); - Press \b Apply button in the \b Filter group. - The entities which satisfy entered filtering parameters will be automatically highlighted + The entities, which satisfy the entered filtering parameters, will be automatically highlighted in the 3D viewer. +\b Plot button into "Filter" group box provides an access +to the \ref shape_statistics_operation_page "Shape Statistics" functionality with simplified look-n-feel: + +\image html shape_statistics_simple.png + \n TUI Command: geompy.CreateGroup(MainShape, ShapeType), where MainShape is a shape for which the group is created, ShapeType is a type of shapes in the created group. diff --cc src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller_1.cxx index 785ceb416,77fb5e0c6..f5f509496 --- a/src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller_1.cxx +++ b/src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller_1.cxx @@@ -408,83 -393,94 +408,90 @@@ void GEOMAlgo_ShapeInfoFiller::FillDeta // aInfo.SetLocation(aPc); aInfo.SetPosition(aAx3); - // - return; - } + } // if (aNbV==3 && aNbE==3) { // - if (!(aNbV==4 && aNbE==4)) { - return; - } - // - // aNbV==4 && aNbE==4 and all edges are segments - aIt.Initialize(aF); - for (; aIt.More(); aIt.Next()){ - aW=TopoDS::Wire(aIt.Value()); - break; - } - // - aWExp.Init(aW, aF); - for (i=0; aWExp.More(); aWExp.Next(), ++i) { - aEx=aWExp.Current(); - const GEOMAlgo_ShapeInfo& aInfoEx=myMapInfo.FindFromKey(aEx); - aDx[i]=aInfoEx.Direction(); - aPx[i]=aInfoEx.Location(); - } - // - Standard_Boolean isRectangle = Standard_True; - for (i=0; i<4; ++i) { - j=(i==3) ? 0 : i+1; - aDot=aDx[i]*aDx[j]; - if (fabs (aDot) > myTolerance) { - isRectangle = Standard_False; - break; + if (aNbV==4 && aNbE==4) { + aIt.Initialize(aF); + if (aIt.More()) { + aW=*((TopoDS_Wire*)&aIt.Value()); + } + // + aWExp.Init(aW, aF); + for (i=0; aWExp.More(); aWExp.Next(), ++i) { + aEx=aWExp.Current(); + const GEOMAlgo_ShapeInfo& aInfoEx=myMapInfo.FindFromKey(aEx); + aDx[i]=aInfoEx.Direction(); + aPx[i]=aInfoEx.Location(); } - } - // - // rectangle - // shift location to the center - aXYZc.SetCoord(0.,0.,0.); - TopExp::MapShapes(aF, TopAbs_VERTEX, aMV); - for (i=1; i<=aNbV; ++i) { - const TopoDS_Vertex& aV=TopoDS::Vertex(aMV(i)); - aP=BRep_Tool::Pnt(aV); - const gp_XYZ& aXYZ=aP.XYZ(); - aXYZc=aXYZc+aXYZ; - } - // - // Location : aPc in center of rectangle - // Position : 0z is plane normal - // 0x is along the first edge (quadrangle) or - // along length (rectangle) - // - aXYZc.Divide(4.); - aPc.SetXYZ(aXYZc); - aDX=aDx[0]; - aInfo.SetLocation(aPc); - - if (isRectangle) { - // Calculate sizes - gp_Lin aL0(aPx[0], aDx[0]); - gp_Lin aL1(aPx[1], aDx[1]); // - aD0=aL0.Distance(aPc); - aD1=aL1.Distance(aPc); ++ Standard_Boolean isRectangle = Standard_True; + for (i=0; i<4; ++i) { + j=(i==3) ? 0 : i+1; + aDot=aDx[i]*aDx[j]; + if (fabs (aDot) > myTolerance) { - aInfo.SetKindOfName(GEOMAlgo_KN_QUADRANGLE); - return; ++ isRectangle = Standard_False; ++ break; + } + } // - aLength=aD1; - aWidth =aD0; - - if (aD0>aD1) { - aLength=aD0; - aWidth =aD1; - aDX=aDx[1]; + // rectangle - aInfo.SetKindOfName(GEOMAlgo_KN_RECTANGLE); - // - // shift location to the center and calc. sizes ++ // shift location to the center + aXYZc.SetCoord(0.,0.,0.); + TopExp::MapShapes(aF, TopAbs_VERTEX, aMV); + for (i=1; i<=aNbV; ++i) { + const TopoDS_Vertex& aV=TopoDS::Vertex(aMV(i)); + aP=BRep_Tool::Pnt(aV); + const gp_XYZ& aXYZ=aP.XYZ(); + aXYZc=aXYZc+aXYZ; } // - aLength=2.*aLength; - aWidth =2.*aWidth; + // Location : aPc in center of rectangle + // Position : 0z is plane normal - // 0x is along length ++ // 0x is along the first edge (quadrangle) or ++ // along length (rectangle) // - aInfo.SetLength(aLength); - aInfo.SetWidth(aWidth); - aInfo.SetKindOfName(GEOMAlgo_KN_RECTANGLE); - } else { - aInfo.SetKindOfName(GEOMAlgo_KN_QUADRANGLE); - } - // - const gp_Dir& aDZ=aPln.Axis().Direction(); - gp_Ax2 aAx2(aPc, aDZ, aDX); - gp_Ax3 aAx3(aAx2); - aInfo.SetPosition(aAx3); - } + aXYZc.Divide(4.); + aPc.SetXYZ(aXYZc); - // - gp_Lin aL0(aPx[0], aDx[0]); - gp_Lin aL1(aPx[1], aDx[1]); - // - aD0=aL0.Distance(aPc); - aD1=aL1.Distance(aPc); - // - aLength=aD0; - aWidth =aD1; - aDX=aL1.Direction(); - if (aD0aD1) { ++ aLength=aD0; ++ aWidth =aD1; ++ aDX=aDx[1]; ++ } ++ // ++ aLength=2.*aLength; ++ aWidth =2.*aWidth; ++ // ++ aInfo.SetLength(aLength); ++ aInfo.SetWidth(aWidth); ++ aInfo.SetKindOfName(GEOMAlgo_KN_RECTANGLE); ++ } else { ++ aInfo.SetKindOfName(GEOMAlgo_KN_QUADRANGLE); + } + // - aLength=2.*aLength; - aWidth =2.*aWidth; - // - aInfo.SetLocation(aPc); - aInfo.SetLength(aLength); - aInfo.SetWidth(aWidth); - // + const gp_Dir& aDZ=aPln.Axis().Direction(); + gp_Ax2 aAx2(aPc, aDZ, aDX); + gp_Ax3 aAx3(aAx2); + aInfo.SetPosition(aAx3); + // + }// if (aNbV==4 && aNbE==4) { + return; + }// if (bSegment) { + // + //aInfo.SetKindOfName(GEOMAlgo_KN_PLANE); } //======================================================================= //function : FillDetails diff --cc src/GEOMGUI/GEOM_msg_fr.ts index 54b86aee7,203e4d6aa..0d8d4623c --- a/src/GEOMGUI/GEOM_msg_fr.ts +++ b/src/GEOMGUI/GEOM_msg_fr.ts @@@ -3424,13 -3468,9 +3476,13 @@@ Choisissez une face, une coque ou un so PREF_DIMENSIONS_SHOW_UNITS Afficher les unités + + PREF_DIMENSIONS_USE_TEXT3D + Use 3D text + PREF_HIDE_INPUT_OBJECT - Hide input objects from the viewer + Cacher dans la vue les objets en entrée PREF_ISOS diff --cc src/GEOMGUI/GEOM_msg_ja.ts index 5f181fa6e,fc01a2b0a..6efba76e0 --- a/src/GEOMGUI/GEOM_msg_ja.ts +++ b/src/GEOMGUI/GEOM_msg_ja.ts @@@ -412,29 -424,9 +424,29 @@@ 自己交差の検出 - GEOM_FAST_CHECK_INTERSECTIONS - Fast intersection + GEOM_FAST_CHECK_INTERSECTIONS + クイック交点 + - GEOM_SHAPE_STATISTICS - Shape Statistics ++ GEOM_SHAPE_STATISTICS ++ Shape Statistics + + + GEOM_CHECK_SELF_INTERSECTIONS_FAILED + 自己交差の検出に失敗しました + + + GEOM_NO_SELF_INTERSECTIONS + 自己交差は検出されませんでした。 + + + GEOM_SELF_INTERSECTIONS_FOUND + 自己交差が検出されました。 + + + GEOM_CHECK_SELF_INTERSECTIONS_ERRORS + 警告: 操作中にエラーがあったので、リストが不完全かもしれない + GEOM_CIRCLE Circle @@@ -2468,13 -2548,9 +2568,13 @@@ 自己交差の確認 - MEN_FAST_CHECK_INTERSECTIONS - Fast intersection + MEN_FAST_CHECK_INTERSECTIONS + クイック交点 + + MEN_SHAPE_STATISTICS + Shape Statistics + MEN_CHECK_FREE_BNDS 自由境界の確認 @@@ -3367,13 -3463,9 +3487,13 @@@ PREF_DIMENSIONS_SHOW_UNITS 測定単位の表示 + + PREF_DIMENSIONS_USE_TEXT3D + Use 3D text + PREF_HIDE_INPUT_OBJECT - Hide input objects from the viewer + ビューワから入力したオブジェクトの非表示 PREF_ISOS @@@ -3492,13 -3584,9 +3612,13 @@@ 自己交差の確認 - STB_FAST_CHECK_INTERSECTIONS - Fast intersection + STB_FAST_CHECK_INTERSECTIONS + クイック交点 + - STB_SHAPE_STATISTICS - Shape Statistics ++ STB_SHAPE_STATISTICS ++ Shape Statistics + STB_CHECK_FREE_BNDS 自由境界をチェック @@@ -4117,12 -4217,8 +4249,12 @@@ TOP_FAST_CHECK_INTERSECTIONS - Fast intersection + クイック交点 + + TOP_SHAPE_STATISTICS + Shape Statistics + TOP_CHECK_FREE_BNDS 自由境界を確認 @@@ -5201,40 -5333,48 +5369,52 @@@ CC_PNT_ITEM_X_Y_Z - X=%1, Y=%2, Z=%3 + X=%1, Y=%2, Z=%3 - GEOM_FILTER - Filter + GEOM_FILTER + フィルタ - GEOM_LESS_THAN - Less Than + GEOM_LESS_THAN + 未満 - GEOM_LESSOREQUAL_THAN - Equal or Less Than + GEOM_LESSOREQUAL_THAN + 以下 - GEOM_GREAT_THAN - Greater Than + GEOM_GREAT_THAN + 超える - GEOM_GREATOREQUAL_THAN - Equal or Greater Than + GEOM_GREATOREQUAL_THAN + 以上 - GEOM_SOME_SHAPES_SELECTED - %1 shape(s) has(have) been selected + GEOM_SOME_SHAPES_SELECTED + %1 個選択済み - GEOM_NO_SHAPES_SELECTED - There are no shapes that meet filtering parameters + GEOM_NO_SHAPES_SELECTED + フィルタリングパラメータに適合する形状はありません + + + GEOM_HEALING_STATS_TITLE + 行われた変更 + + + GEOM_HEALING_STATS_COL_1 + カウント + + + GEOM_HEALING_STATS_COL_2 + 修正 + + GEOM_PLOT_DISTRIBUTION + Plot + GeometryGUI @@@ -7090,223 -7218,230 +7269,293 @@@ V-Isoline - + MeasureGUI_CheckSelfIntersectionsDlg - GEOM_CHECK_INTE_INTERSECTIONS - Self-intersections + GEOM_CHECK_INTE_INTERSECTIONS + 自己交差 - GEOM_CHECK_INTE_SUBSHAPES - Sub-shapes + GEOM_CHECK_INTE_SUBSHAPES + サブ形状 - GEOM_CHECK_INTE_CHECK_LEVEL - Level of check + GEOM_CHECK_INTE_CHECK_LEVEL + チェックのレベル - GEOM_CHECK_INTE_SUMMARY - Summary + GEOM_CHECK_INTE_SUMMARY + サマリ - GEOM_CHECK_INTE_COMPUTE - Compute self-intersections + GEOM_CHECK_INTE_COMPUTE + 自己交差の計算 - GEOM_SELF_INTERSECTION_NAME - Self_intersection + GEOM_SELF_INTERSECTION_NAME + 自己交差 - GEOM_NO_SELF_INTERSECTIONS - There are no self-intersections in the shape + GEOM_NO_SELF_INTERSECTIONS + 形状内に自己交差はありません。 - GEOM_SELF_INTERSECTIONS_FOUND - Some self-intersections detected + GEOM_SELF_INTERSECTIONS_FOUND + いくつかの自己交差が検出されました - GEOM_CHECK_SELF_INTERSECTIONS_FAILED - Detection of self-intersections failed + GEOM_CHECK_SELF_INTERSECTIONS_FAILED + 自己交差の検出に失敗しました + + + GEOM_CHECK_SELF_INTERSECTIONS_ERRORS + 警告: 操作中にエラーが発生したため、リストは完成されません。 + + + GEOM_CHECK_INTE_V_V + 頂点から頂点 + + + GEOM_CHECK_INTE_V_E + 頂点からエッジ と上記すべて + + + GEOM_CHECK_INTE_E_E + エッジからエッジと上記すべて - GEOM_CHECK_SELF_INTERSECTIONS_ERRORS - Warning: there were errors during the operation, so the list may be incomplete. + GEOM_CHECK_INTE_V_F + 頂点から面と上記すべて - GEOM_CHECK_INTE_V_V - Vertex to Vertex + GEOM_CHECK_INTE_E_F + エッジから面と上記すべて - GEOM_CHECK_INTE_V_E - Vertex to Edge + all above + GEOM_CHECK_INTE_ALL + 面から面と上記すべて - - GEOM_CHECK_INTE_E_E - Edge to Edge + all above - - - GEOM_CHECK_INTE_V_F - Vertex to Face + all above - - - GEOM_CHECK_INTE_E_F - Edge to Face + all above - - - GEOM_CHECK_INTE_ALL - Face to Face + all above - - - + + MeasureGUI_FastCheckIntersectionsDlg - GEOM_FAST_CHECK_INT_DEFLECT - Deflection coefficient + GEOM_FAST_CHECK_INT_DEFLECT + たわみ係数 - GEOM_FAST_CHECK_INT_DETECT_GAPS - Detect gaps with tolerance + GEOM_FAST_CHECK_INT_DETECT_GAPS + トレランスによるギャップ検出 - GEOM_FAST_CHECK_INT_SUBSHAPES - Sub-shapes of Object %1: + GEOM_FAST_CHECK_INT_SUBSHAPES + オブジェクト %1 のサブ形状: - GEOM_FAST_CHECK_INT_COMPUTE - Compute intersections + GEOM_FAST_CHECK_INT_COMPUTE + 交点の計算 - GEOM_FAST_INTERSECTION_NAME - Fast_intersection + GEOM_FAST_INTERSECTION_NAME + クイック交点 - GEOM_FAST_INTERSECTION_FAILS - No intersections + GEOM_FAST_INTERSECTION_FAILS + 交点はない - GEOM_FAST_CHECK_OBJ - Objects And Results + GEOM_FAST_CHECK_OBJ + オブジェクトと結果 - - + + + MeasureGUI_ShapeStatisticsDlg + + GEOM_SHAPE_STATISTICS_TYPE + Type + + + GEOM_SHAPE_STATISTICS_LENGTH + Edges length + + + GEOM_SHAPE_STATISTICS_AREA + Faces area + + + GEOM_SHAPE_STATISTICS_VOLUME + Solids volume + + + GEOM_SHAPE_STATISTICS_NB_INTERVALS + Number of intervals + + + GEOM_SHAPE_STATISTICS_SCALAR_RANGE + Scalar range + + + GEOM_SHAPE_STATISTICS_COMPUTE + Compute + + + GEOM_SHAPE_STATISTICS_MIN + Min + + + GEOM_SHAPE_STATISTICS_MAX + Max + + + GEOM_SHAPE_STATISTICS_CREATE_GROUPS + Create Groups + + + GEOM_SHAPE_STATISTICS_DISTRIBUTION_NB_ENT + Number of entities + + + GEOM_SHAPE_STATISTICS_MIN_ERROR + Set minimal range value or switch-off Scalar range + + + GEOM_SHAPE_STATISTICS_MAX_ERROR + Set maximal range value or switch-off Scalar range + + + GEOM_SHAPE_STATISTICS_MIN_MAX_ERROR + Minimal range value can not be more than maximal + + + GEOM_MSG_GROUPS_CREATED + %1 groups created + - - ++ ++ TransformationGUI_ExtensionDlg - GEOM_EXTENSION_TITLE - Extension of Edge or Face + GEOM_EXTENSION_TITLE + エッジまたは面の拡張 - GEOM_EXTENSION - Extension + GEOM_EXTENSION + 拡張 - GEOM_EXTENSION_MIN - First Parameter + GEOM_EXTENSION_MIN + 第1パラメータ - GEOM_EXTENSION_MAX - Last Parameter + GEOM_EXTENSION_MAX + 最後のパラメータ - GEOM_EXTENSION_MIN_U - First U-Parameter + GEOM_EXTENSION_MIN_U + 第1U-パラメータ - GEOM_EXTENSION_MAX_U - Last U-Parameter + GEOM_EXTENSION_MAX_U + 最後のU-パラメータ - GEOM_EXTENSION_MIN_V - First V-Parameter + GEOM_EXTENSION_MIN_V + 第1V-パラメータ - GEOM_EXTENSION_MAX_V - Last V-Parameter + GEOM_EXTENSION_MAX_V + 最後のV-パラメータ - GEOM_EXTENSION_EDGE_NAME - ExtendedEdge + GEOM_EXTENSION_EDGE_NAME + ExtendedEdge - GEOM_EXTENSION_FACE_NAME - ExtendedFace + GEOM_EXTENSION_FACE_NAME + 拡張面 - - + + EntityGUI_SurfFromFaceDlg - GEOM_SURF_FROM_FACE_TITLE - Surface From Face Construction + GEOM_SURF_FROM_FACE_TITLE + 面から表面の作成 + + + GEOM_SURF_FROM_FACE + 面から表面 + + + GEOM_SURF_FROM_FACE_NAME + SurfaceFromFace + + + + OperationGUI_TransferDataDlg + + GEOM_TRANSFER_DATA_TITLE + データ転送 + + + GEOM_TRANSFER_DATA + データ転送 + + + GEOM_TRANSFER_DATA_FROM + ソース形状 + + + GEOM_TRANSFER_DATA_TO + 行き先形状 + + + GEOM_TRANSFER_DATA_METHOD + 検出操作のタイプ + + + GEOM_TD_METHOD_GETINPLACE + 場所の中で取得 + + + GEOM_TD_METHOD_GETINPLACE_OLD + 場所(旧)の中で取得 + + + GEOM_TD_METHOD_GETINPLACE_HISTORY + 履歴より場所の中で取得 + + + GEOM_TRANSFER_DATA_INFO + データ転送: 情報 + + + GEOM_TRANSFER_DATA_NOT_COPIED + コピーされたものはありません。 + + + GEOM_TRANSFER_DATA_COPIED + 以下のデータがコピーされます: + + + GEOM_TRANSFER_DATA_NAMES + 名前: %2 の %1 - GEOM_SURF_FROM_FACE - Surface From Face + GEOM_TRANSFER_DATA_MATERIALS + 材料: %2 の %1 + + + + TransformationGUI_ProjectionOnCylDlg + + GEOM_PROJ_ON_CYL_TITLE + 円筒上に投影 - GEOM_SURF_FROM_FACE_NAME - SurfaceFromFace + GEOM_PROJ_ON_CYL_START_ANGLE + Starting angle - + + GEOM_PROJ_ON_CYL_LENGTH_ANGLE + Length angle + + diff --cc src/MeasureGUI/MeasureGUI_ManageDimensionsDlg.cxx index 370204f94,b8954462a..4618f9c80 --- a/src/MeasureGUI/MeasureGUI_ManageDimensionsDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_ManageDimensionsDlg.cxx @@@ -808,10 -805,9 +808,12 @@@ void MeasureGUI_ManageDimensionsDlg::On myEditObject->GetStudyEntry(), GEOM::propertyName( GEOM::Dimensions ), QVariant() ); + - redisplay( myEditObject.get() ); + if ( myIsNeedRedisplay ) { - redisplay( myEditObject.get()); ++ redisplay( myEditObject.get() ); + } + + myGeomGUI->emitDimensionsUpdated( QString( myEditObject->GetStudyEntry() ) ); } //=================================================================================