From db6f1785f59eaa5f2d813dc89a83f9739fcf60ef Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 23 Aug 2019 16:16:29 +0300 Subject: [PATCH 1/1] 54416: Extrusion 3D algo is not applicable to a prismatic shape Fix for the case of non-manifold internal faces + 1) Fix SMESH_Actor for coloring using custom 1D functor 2) Improve some doc images --- .../gui/SMESH/images/hypo_quad_params_1.png | Bin 1029 -> 2315 bytes .../gui/SMESH/images/hypo_quad_params_2.png | Bin 2115 -> 74214 bytes .../images/hypo_quad_params_dialog_enf.png | Bin 22819 -> 22900 bytes .../images/hypo_quad_params_dialog_vert.png | Bin 17141 -> 17645 bytes .../gui/SMESH/input/2d_meshing_hypo.rst | 55 +++-- resources/StdMeshers.xml.in | 2 +- src/OBJECT/SMESH_Actor.cxx | 20 +- src/SMESH_I/SMESH_Mesh_i.cxx | 2 +- src/StdMeshers/StdMeshers_Prism_3D.cxx | 207 +++++++++++++----- 9 files changed, 209 insertions(+), 77 deletions(-) mode change 100755 => 100644 doc/salome/gui/SMESH/images/hypo_quad_params_1.png diff --git a/doc/salome/gui/SMESH/images/hypo_quad_params_1.png b/doc/salome/gui/SMESH/images/hypo_quad_params_1.png old mode 100755 new mode 100644 index 44233b23e432d1194159b53dacfd169ba0715ce1..eca876738404b12e043587a330534809f1571416 GIT binary patch literal 2315 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 literal 2115 zcma);X;@QN8plJd$TgM5=m=y)MGcFJpj6pW0tkdHY_fzU6d^^>kqUxrfzAc1Odx0o zAQnnlEKdRi*)mWFTm-=)t1KPJ!$gD>kYxnIVj^==+L;eCANoA+%{~9$dEfs%_sw~7 za-ZyMyKgUkFA9a)XK!cihC(TvkzYz^KqN=ij)NO?%g*OEm>-p23PkPvSQKi{n!UB9 zN9>b@3G=TGit%Y8l^pihC)odF=H9^0d1Q4tBtQ4Wp1P(-gRD*B2O!@gj5LL?D?_q` zOQW71)c$d?Qlhdc&iTu1{8U?8XT}DL-EG(^jc{>+?^@OJZ&5)C=kS7@zMgu-2nhITU#^-zckCHoE7 zWK`J8D8j+Zz6M?ZD>``)F(pp!tbPq9n-NI7cNuRO3%G>g2RNpk-H)E_$R*TXHaSm) zbeS!Gy9%(WRW`r_Msj??4&WpP8Q^eX4#57C04w%K0(@@Omx#Hh>JLoR?CEkm6aodE z{5G4csOI7VblPhtkmkDP3eu=T7WT@pB^1J}t_uJehDwhjR{ z+G)-B4{%26r}NQ!5I5pCJ00XLkbd#*N)AXoc4jASycRC7Q+r7$u=&ld{%nz!n_^@U zZD6N}cNsFz8f^Z_Je`dr`pr0Mr$xQ{UQJ#NUd@{es%HmF3+2^k?`j^jGN~ad%E!{V zA5;e!(dWHMN|BoaEil3J{dFP`!CB!OLgnMi`#84hAUE4Uo>al&J!dLb6t-QjfbZB@ zUG$+|@FeDfy?Ewa$$m-*4>auY>7e@>k$(>5J=QH!$JH#LIj?Yt2VNJ@{rNN=Uav^~ zS^0A`XBvl`e0&zrd?wbiY299X}km*o9Lm(Ayo+U9EEJ6)XG+Sa*h7-Ra@k)g{o(G?-e#y;^FZju9^ zXXV`g7R{NL`>2FPrwqr-eGKpc)O}_AG~#y&o2-+s0v`yBTjo>Z==IE3`7d1hhJhb+;S5Cmi1vv z@x9hv?oXi4jE+lge7C7vc3PBiQbOaR7JIxAb^CYS->gu2C}0#J{7zvauMswVI96FC zZXhGJ569R8yZFVhiPli_>I7X4g@Upr-Oiz~!NY6ghNGsT&TnR; z!iUW0N65(JzoHtmx(hCSW^}-!@1WP`>(WD{4Y#t`pqX_&f*C_6AbHcg6c+1u801Z! zBgM98xt|G_*3kolB=*rPT+7Jf0SDDgW{V0LN#EaTI~cQ<@FTBXf5b7owz)=Iofk9_j9nke<+xw*%Uzn;J}!HoP=UfemH-_LI=q+DOC VeC1!&0sa-B>}{N_D~Z&v{|yi6z`Ote diff --git a/doc/salome/gui/SMESH/images/hypo_quad_params_dialog_enf.png b/doc/salome/gui/SMESH/images/hypo_quad_params_dialog_enf.png index a3e7cfa3993107691a6e875dd9149dc6c535bc82..cc1be665bfd0fc85c55a7d2bdf67dc0a58987375 100644 GIT binary patch literal 22900 zcmce;1yq#ZyFZGeA|fp%B_T+6mja5k(%m85LxT#^A>E*KHw-Y85(IfS%yH_ZGu z-`_ds-n)MHod3Fa-F01S7S79_{qA?~XFvNB&k*`fNe27T(?@7%XxOrErB%?-?sS6J z&xa4d6{iP{cfpT)E|Rip55Yg5hh`z*J*MMZZ5Pm9`1W-NotEkg8rm~7S?O159_ib2 z?yhR%Gw_4G6xp|u1d_5Je@SwD3N*-tKBFys_<1h;{;RH^>Q8+4h={PJ@TC{Cr(WH8 z{qD)Duk*R?4_ofXqHWNm2<=gGNfC@9=oinlZHQB9hUc%Qy?=T-Z<4wNi<{EY(mH3j z+#wZS!?uLe(9$kFL9pvFxDMsU2R__CYkX+gO?P{d*hY@om0ns`vUKb-K0dw^ad-jl zS9Y3iBAsPT_FzKq&1d;+LT7gx8&p~~==#+6*=hx)rE~w%>*FvoNFXj#BVVj9ZyjG2 z>G3c~k0r)$J#Zm#=YJAyeMik|o-DjXH);zJOVHTh&30fJC3u$*KPHy#)b_<{3C24i z&S=DCjf~^Tp_A851O+C3N35x7qs3>#qam&SRf=aH>(a^n*qR(oR?ohW2Zw|_p(OM{ z$EqxIhul1-z#OU6W8+ouZc2EJ&Ki{Ae0s0cf*>>qqqo5*^+7VEk4&@Dh_2U>ZrZWK zq;6>~5r#%NtFoCFDJ3l}SN_?4D??u*N8t>w#OW?NVF#zvkIq4p4me+Eabmbfa#ecO zl?(sGmwi$~9-6Qj1Fq!N=1?AH=W0FG$KhBS9S!+47Xn^_epH9v*LL9lgl&ew=VC;Wsju*!kLT8f%poW%0|H#q(RPs7dTJrLgrgPwLG{DU5x1c}S)A zwsS6`pxWtElflUEq9v(3xf4#k62~>47imLOMq^0FCDWY3--S;}igCYzR;q7!Ds`NC zjiZ{jQ-->UbH+Gob;i14tWP?AxLz#`Q6v$mS=d<+D;qSQ&3ls)U9MTrrIBl{MG?3D zE`Ara-(c1{Mb#Y}K!Ww#U+0UEB^jcxU+{HqL{C?}c!^h#@k)_jQ+kZl4R|(AA1hIp zD^D{+iGULC5Gx3Ev@Uv8YH!0#b^}F5h|KYOpPdmk$BL*=8HGpdg8tWdT<`JL)w4_! zFQ;q`IvcJ&KIgMB+*v_x_02DEDlBYkKKfp3 zRT-8~!0N2bg9HxN&dlXQaYR0qXqq=cc6(zxzKC}JOt0a!TZN?4szA(UC)V=}EE?~s zARC5W@EPWor>Wn-P$BLsX|=tab%PNnJaRR`9(DW8Hp}tU3giV=?J!~CpZ)(;Z z6@}k?h`@l0c@a|1KCE%}Wsg5@}U`>1hAp~MP3-7A;+7Zy7N~^W)BX=U5I2!&yzs?i*I}cd@{{_$6I6Ici;wo}Zr0vlEo&JpRpU=mUjI2?K68@T)}p=q z%06`omuLVQcjU$2E@_R(hh`J?Sd*Q}Rc&fkaHzHPv!k=u&Ngv!$4HYbx(T(Sy)AWT zQ@y08yyZ(#C0#w$Ww#x>fNAwIuPYl?Y}s~x-7Ol!>^8T(xzNU%$#G?n_85v04WVx? zbyhspOnFLdyISHjGMDt1u-I`6Y~`56Gy4ta~kDxpgy}22AQK zJaL@HL)sOVMO;o8~IN6*M8GSgmZrhgh;OeCt6s1^5? z!~xBOt=#s+dgH|~>sqkCP>OlP74Ib!$CdqPhg7oproU1COHY59nVWqlcBcDCTRXSeR+C zdNee>N8BecS*p_2`$x$pV&E4Eg9@HgCXo#zGymQwVhGvw? z5Y+XvdbQtbCZBMw>C9*zDNiawOL3H>u3g-p#G%?X8C@B|k`g6RldQVVTtmupdUg>N zG5~ky4I@;y|9NgHYn?_6w>0@~|J;3E>`B+BFq$b@rs2}E(lve<$SKEt4P{x=B3t1m zR2Muq8(ehZQu!|vgN=FC!nQA!=XyWI)2C>o$jrUoE52Ec)VkZhQ;-M8#7PYQaWYF> z9$yim-AENwr^oQ#Fs%-^PN@xR*7nL3&Yi@2QXRHz+4gEWSkxufz>P&^ z67grO=a96V$^6q`nu{oJ>Y8FeNJvOK=VNdTKD5Q}45b^n#|LW?6%ry_I4qa$H1ys4 z@%{`=;W2xB$!2oF(fV+W%{mSamFQb%XKscEK?^U}(jhtXi}!g;RWf10*yg80Z)Gw{ z`&8_vs)E-=pr(gGjyQ%2ozP~iv-|26qfMM2SxtwSy9X}&ZG9N~$M4cTr|jlM1)$npOtg7gRHt}j_D40a7YsX5s&As) zTp9`)+%T+L%6(G}DvVvn&Pl9Rou<=1xqz zge-)GZ6~JitB5T#Z^UcjVAne)dd=DmCuqY9WIy*x1PBa<7OLdv&OF{=+r0E}WtBj- zQbZ85p1V*&zZ@I8!iv*FBi7&&$a{1lb|R4dLAx?1_o`n^TfI$vBw1l30NwY2*Q=c!JmY2$B}#Mu z{2udJe{xM2R}GSz(lE8<+Pq})$YeOPL5q!b&hzm;ddJV})h$xI(X{tF#U^}@z5FOs zt#nBfMd4s_G`sD5yX}156m40!A*78bBu3Y`O34zsNl9aBAlu=P3NQ2t7*SzVl>3i_yrYGAvphkbqp5f5m8!K)ybGbpcZ*i39 z?Duk&GKne&f4m@xa{Wc^YPI}ppICN$iaKluUEUE52grFXOg4I>x}K4$(sC95!Ym2nEu!CD7@YWMGI9Fd0)%7*-P8NTi9TpSY1kVd@-i`ncEF^}N7=?*`d%?t@yVKvv?lj>-~KCHV1 zRcaH?yBlq|Rh+}?4eI4`E2|IrcV<(!ghA?P>{CA?f_v|^1P@joy04OR≈?i-P1V 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 aeUMEP^M^*3;o#b2mg|Nl21QpMJo^uzzlz8J literal 22819 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 diff --git a/doc/salome/gui/SMESH/images/hypo_quad_params_dialog_vert.png b/doc/salome/gui/SMESH/images/hypo_quad_params_dialog_vert.png index 5c75853368846670c3abc2a566741d7e00c6a1e9..c819144969c0d34236d61d0cce01ef933bb179c4 100644 GIT binary patch literal 17645 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 KmCC;V_&)&2G6!$~ literal 17141 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 A3jhEB diff --git a/doc/salome/gui/SMESH/input/2d_meshing_hypo.rst b/doc/salome/gui/SMESH/input/2d_meshing_hypo.rst index 0e5f10899..f3987d74b 100644 --- a/doc/salome/gui/SMESH/input/2d_meshing_hypo.rst +++ b/doc/salome/gui/SMESH/input/2d_meshing_hypo.rst @@ -42,14 +42,26 @@ Length from Edges Quadrangle parameters ##################### +**Quadrangle parameters** is a hypothesis for :ref:`quad_ijk_algo_page`. + +Quadrangle parameters dialog includes four tab pages: + +- :ref:`Transition ` +- :ref:`Base vertex ` +- :ref:`Corner Vertices ` +- :ref:`Enforced nodes ` + +.. _transition_anchor: + +Transition tab +-------------- + .. image:: ../images/ hypo_quad_params_dialog.png :align: center .. centered:: Quadrangle parameters: Transition -**Quadrangle parameters** is a hypothesis for :ref:`quad_ijk_algo_page`. - **Transition** tab is used to define the algorithm of transition between opposite sides of the face with a different number of segments on them. The following types of transition algorithms are available: * **Standard** is the default case, when both triangles and quadrangles are possible in the transition area along the finer meshed sides. @@ -70,7 +82,10 @@ Quadrangle parameters .. centered:: The fastest transition pattern: 3 to 1 -**Base vertex** tab allows using Quadrangle: Mapping algorithm for meshing of trilateral faces. In this case it is necessary to select the vertex, which will be used as the forth degenerated side of quadrangle. +.. _base_vertex_anchor: + +Base vertex tab +--------------- .. image:: ../images/ hypo_quad_params_dialog_vert.png :align: center @@ -78,33 +93,41 @@ Quadrangle parameters .. centered:: Quadrangle parameters: Base Vertex -.. image:: ../images/ hypo_quad_params_1.png - :align: center - -.. centered:: - A face built from 3 edges +**Base vertex** tab allows using Quadrangle: Mapping algorithm for meshing of trilateral faces. In this case it is necessary to select the vertex, which will be used as the forth degenerated side of quadrangle. -.. image:: ../images/ hypo_quad_params_res.png +.. image:: ../images/hypo_quad_params_1.png :align: center .. centered:: - The resulting mesh + A face built from 3 edges and the resulting mesh -This parameter can be also used to mesh a segment of a circular face. Please, consider that there is a limitation on the selection of the vertex for the faces built with the angle > 180 degrees (see the picture). +This parameter can be also used to mesh a segment of a circular face. Please, consider that there is a limitation on the selection of the vertex for the faces built with the angle > 180 degrees (see the picture). In this case, selection of a wrong vertex for the **Base vertex** parameter will generate a wrong mesh. The picture below shows the good (left) and the bad (right) results of meshing. -.. image:: ../images/ hypo_quad_params_2.png +.. image:: ../images/hypo_quad_params_2.png :align: center .. centered:: - 3/4 of a circular face + 3/4 of a circular face and the resulting meshes + -In this case, selection of a wrong vertex for the **Base vertex** parameter will generate a wrong mesh. The picture below shows the good (left) and the bad (right) results of meshing. +.. _corner_vertices_anchor: -.. image:: ../images/ hypo_quad_params_res_2.png +Corner Vertices tab +------------------- + +.. image:: ../images/hypo_quad_params_dialog_corners.png :align: center .. centered:: - The resulting meshes + Quadrangle parameters: Corner Vertices + +**Corner Vertices** tab page allows specifying vertices that should be used as quadrangle corners. This can be useful for faces with more than four vertices, since in some cases Quadrangle Mapping algorithm chooses corner vertices differently than it is desired. **Quadrangle parameters** hypothesis can be global and define corners for all CAD faces that require it, but be sure that each specified vertex is a corner in all faces the hypothesis will be applied to. + + +.. _enforced_nodes_anchor: + +Enforced nodes tab +------------------ .. image:: ../images/ hypo_quad_params_dialog_enf.png :align: center diff --git a/resources/StdMeshers.xml.in b/resources/StdMeshers.xml.in index a765bbc7a..14ed93a0c 100644 --- a/resources/StdMeshers.xml.in +++ b/resources/StdMeshers.xml.in @@ -484,7 +484,7 @@ icon-id ="mesh_algo_hexa.png" group-id="2" priority="10" - input ="QUAD,TRIA" + input ="EDGE" output ="HEXA,PENTA,OCTA,POLYHEDRON" dim ="3"> diff --git a/src/OBJECT/SMESH_Actor.cxx b/src/OBJECT/SMESH_Actor.cxx index ebf91b879..4344b89a4 100644 --- a/src/OBJECT/SMESH_Actor.cxx +++ b/src/OBJECT/SMESH_Actor.cxx @@ -1546,7 +1546,8 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation) myScalarBarActor->VisibilityOn(); } - myPickableActor->VisibilityOn(); + if ( GetPickable( )) + myPickableActor->VisibilityOn(); if ( GetRepresentation() != ePoint ) { @@ -1556,7 +1557,8 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation) if(myEntityMode & eBallElem ){ myBallActor->VisibilityOn(); } - if(myEntityMode & eEdges && GetCellsLabeled() ){ // my1DActor shows labels only + if(myEntityMode & eEdges && ( GetCellsLabeled() || // my1DActor shows labels only + ( myControlActor == my1DActor && myControlMode != eNone ))){ my1DActor->VisibilityOn(); } if(myEntityMode & eFaces ){ @@ -1760,6 +1762,12 @@ void SMESH_ActorDef::SetRepresentation (int theMode) if ( myRepresentation != ePoint ) aReperesent = SMESH_DeviceActor::eInsideframe; break; + case eCustomControl: + if ( myControlActor == my1DActor ) + aProp = aBackProp = my1DProp; + if ( myRepresentation != ePoint ) + aReperesent = SMESH_DeviceActor::eInsideframe; + break; default:; } @@ -2485,8 +2493,8 @@ void SMESH_ActorDef::UpdateDistribution() std::vector nbEvents; std::vector funValues; SMESH_VisualObjDef::TEntityList elems; - if ( ! dynamic_cast(myVisualObj.get())) - dynamic_cast(myVisualObj.get())->GetEntities( fun->GetType(), elems ); + if ( dynamic_cast(myVisualObj.get())) + dynamic_cast(myVisualObj.get())->GetEntities( fun->GetType(), elems ); std::vector elemIds; elemIds.reserve( elems.size() ); for ( SMESH_VisualObjDef::TEntityList::iterator e = elems.begin(); e != elems.end(); ++e) elemIds.push_back( (*e)->GetID()); @@ -2671,8 +2679,8 @@ SPlot2d_Histogram* SMESH_ActorDef::UpdatePlot2Histogram() std::vector nbEvents; std::vector funValues; SMESH_VisualObjDef::TEntityList elems; - if ( ! dynamic_cast(myVisualObj.get())) - dynamic_cast(myVisualObj.get())->GetEntities( fun->GetType(), elems ); + if ( dynamic_cast(myVisualObj.get())) + dynamic_cast(myVisualObj.get())->GetEntities( fun->GetType(), elems ); std::vector elemIds; for ( SMESH_VisualObjDef::TEntityList::iterator e = elems.begin(); e != elems.end(); ++e) diff --git a/src/SMESH_I/SMESH_Mesh_i.cxx b/src/SMESH_I/SMESH_Mesh_i.cxx index 5eabbaea3..082f2914a 100644 --- a/src/SMESH_I/SMESH_Mesh_i.cxx +++ b/src/SMESH_I/SMESH_Mesh_i.cxx @@ -5068,7 +5068,7 @@ SMESH::long_array* SMESH_Mesh_i::GetElemFaceNodes(CORBA::Long elemId, } //======================================================================= -//function : GetElemFaceNodes +//function : GetFaceNormal //purpose : Returns three components of normal of given mesh face. //======================================================================= diff --git a/src/StdMeshers/StdMeshers_Prism_3D.cxx b/src/StdMeshers/StdMeshers_Prism_3D.cxx index 2db5afa7b..07666af9f 100644 --- a/src/StdMeshers/StdMeshers_Prism_3D.cxx +++ b/src/StdMeshers/StdMeshers_Prism_3D.cxx @@ -2771,19 +2771,50 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() { struct EdgeWithNeighbors { - TopoDS_Edge _edge; - int _iBase; /* index in a WIRE with non-base EDGEs excluded */ - int _iL, _iR; /* used to connect edges in a base FACE */ - bool _isBase; /* is used in a base FACE */ - EdgeWithNeighbors(const TopoDS_Edge& E, int iE, int nbE, int shift, bool isBase ): - _edge( E ), _iBase( iE + shift ), - _iL( SMESH_MesherHelper::WrapIndex( iE-1, Max( 1, nbE )) + shift ), - _iR( SMESH_MesherHelper::WrapIndex( iE+1, Max( 1, nbE )) + shift ), + TopoDS_Edge _edge; + int _iBase; // index in a WIRE with non-base EDGEs excluded + int _iL, _iR; // used to connect PrismSide's + int _iE; // index in a WIRE + int _iLE, _iRE; // used to connect EdgeWithNeighbors's + bool _isBase; // is used in a base FACE + TopoDS_Vertex _vv[2]; // end VERTEXes + EdgeWithNeighbors(const TopoDS_Edge& E, + int iE, int nbE, int shift, + int iEE, int nbEE, int shiftE, + bool isBase, bool setVV ): + _edge( E ), + _iBase( iE + shift ), + _iL ( SMESH_MesherHelper::WrapIndex( iE-1, Max( 1, nbE )) + shift ), + _iR ( SMESH_MesherHelper::WrapIndex( iE+1, Max( 1, nbE )) + shift ), + _iE ( iEE + shiftE ), + _iLE( SMESH_MesherHelper::WrapIndex( iEE-1, Max( 1, nbEE )) + shiftE ), + _iRE( SMESH_MesherHelper::WrapIndex( iEE+1, Max( 1, nbEE )) + shiftE ), _isBase( isBase ) { + if ( setVV ) + { + Vertex( 0 ); + Vertex( 1 ); + } } EdgeWithNeighbors() {} bool IsInternal() const { return !_edge.IsNull() && _edge.Orientation() == TopAbs_INTERNAL; } + bool IsConnected( const EdgeWithNeighbors& edge, int iEnd ) const + { + return (( _vv[ iEnd ].IsSame( edge._vv[ 1 - iEnd ])) || + ( IsInternal() && _vv[ iEnd ].IsSame( edge._vv[ iEnd ]))); + } + bool IsConnected( const std::vector< EdgeWithNeighbors > & edges, int iEnd ) const + { + int iEdge = iEnd ? _iRE : _iLE; + return iEdge == _iE ? false : IsConnected( edges[ iEdge ], iEnd ); + } + const TopoDS_Vertex& Vertex( int iEnd ) + { + if ( _vv[ iEnd ].IsNull() ) + _vv[ iEnd ] = SMESH_MesherHelper::IthVertex( iEnd, _edge ); + return _vv[ iEnd ]; + } }; // PrismSide contains all FACEs linking a bottom EDGE with a top one. struct PrismSide @@ -2798,8 +2829,8 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() PrismSide *_leftSide; // neighbor sides PrismSide *_rightSide; bool _isInternal; // whether this side raises from an INTERNAL EDGE - void SetExcluded() { _leftSide = _rightSide = NULL; } - bool IsExcluded() const { return !_leftSide; } + //void SetExcluded() { _leftSide = _rightSide = NULL; } + //bool IsExcluded() const { return !_leftSide; } const TopoDS_Edge& Edge( int i ) const { return (*_edges)[ i ]._edge; @@ -2810,14 +2841,33 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() if ( E.IsSame( Edge( i ))) return i; return -1; } - bool IsSideFace( const TopoDS_Shape& face, const bool checkNeighbors ) const + const TopoDS_Vertex& Vertex( int iE, int iEnd ) const { - if ( _faces->Contains( face )) // avoid returning true for a prism top FACE - return ( !_face.IsNull() || !( face.IsSame( _faces->FindKey( _faces->Extent() )))); - + return (*_edges)[ iE ].Vertex( iEnd ); + } + bool HasVertex( const TopoDS_Vertex& V ) const + { + for ( size_t i = 0; i < _edges->size(); ++i ) + if ( V.IsSame( Vertex( i, 0 ))) return true; + return false; + } + bool IsSideFace( const TopTools_ListOfShape& faces, + const TopoDS_Face& avoidFace, + const bool checkNeighbors ) const + { + TopTools_ListIteratorOfListOfShape faceIt( faces ); + for ( ; faceIt.More(); faceIt.Next() ) + { + const TopoDS_Shape& face = faceIt.Value(); + if ( !face.IsSame( avoidFace )) + { + if ( _faces->Contains( face )) // avoid returning true for a prism top FACE + return ( !_face.IsNull() || !( face.IsSame( _faces->FindKey( _faces->Extent() )))); + } + } if ( checkNeighbors ) - return (( _leftSide && _leftSide->IsSideFace ( face, false )) || - ( _rightSide && _rightSide->IsSideFace( face, false ))); + return (( _leftSide && _leftSide->IsSideFace ( faces, avoidFace, false )) || + ( _rightSide && _rightSide->IsSideFace( faces, avoidFace, false ))); return false; } @@ -2827,20 +2877,39 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() * \brief Return another faces sharing an edge */ const TopoDS_Face & getAnotherFace( const TopoDS_Face& face, - const TopoDS_Edge& edge, - TopTools_IndexedDataMapOfShapeListOfShape& facesOfEdge) + const TopTools_ListOfShape& faces) { - TopTools_ListIteratorOfListOfShape faceIt( facesOfEdge.FindFromKey( edge )); + TopTools_ListIteratorOfListOfShape faceIt( faces ); for ( ; faceIt.More(); faceIt.Next() ) if ( !face.IsSame( faceIt.Value() )) return TopoDS::Face( faceIt.Value() ); return face; } + //-------------------------------------------------------------------------------- + /*! + * \brief Return another faces sharing an edge + */ + const TopoDS_Face & getAnotherFace( const TopoDS_Face& face, + const TopoDS_Edge& edge, + TopTools_IndexedDataMapOfShapeListOfShape& facesOfEdge) + { + return getAnotherFace( face, facesOfEdge.FindFromKey( edge )); + } //-------------------------------------------------------------------------------- /*! * \brief Return ordered edges of a face */ + //================================================================================ + /*! + * \brief Return ordered edges of a face + * \param [in] face - the face + * \param [out] edges - return edge (edges from which no vertical faces raise excluded) + * \param [in] facesOfEdge - faces of each edge + * \param [in] noHolesAllowed - are multiple wires allowed + */ + //================================================================================ + bool getEdges( const TopoDS_Face& face, vector< EdgeWithNeighbors > & edges, TopTools_IndexedDataMapOfShapeListOfShape& facesOfEdge, @@ -2856,11 +2925,10 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() if ( nbW > 1 && noHolesAllowed ) return false; - int iE, nbTot = 0, nbBase, iBase; list< TopoDS_Edge >::iterator e = ee.begin(); list< int >::iterator nbE = nbEdgesInWires.begin(); for ( ; nbE != nbEdgesInWires.end(); ++nbE ) - for ( iE = 0; iE < *nbE; ++e, ++iE ) + for ( int iE = 0; iE < *nbE; ++e, ++iE ) if ( SMESH_Algo::isDegenerated( *e )) // degenerated EDGE is never used { e = --ee.erase( e ); @@ -2868,6 +2936,7 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() --iE; } + int iE, nbTot = 0, iBase, nbBase, nbTotBase = 0; vector isBase; edges.clear(); e = ee.begin(); @@ -2883,40 +2952,51 @@ namespace // utils used by StdMeshers_Prism_3D::IsApplicable() } for ( iBase = 0, iE = 0; iE < *nbE; ++e, ++iE ) { - edges.push_back( EdgeWithNeighbors( *e, iBase, nbBase, nbTot, isBase[ iE ] )); + edges.push_back( EdgeWithNeighbors( *e, + iBase, nbBase, nbTotBase, + iE, *nbE, nbTot, + isBase[ iE ], nbW > 1 )); iBase += isBase[ iE ]; } - nbTot += nbBase; + nbTot += *nbE; + nbTotBase += nbBase; } - if ( nbTot == 0 ) + if ( nbTotBase == 0 ) return false; - // IPAL53099. Set correct neighbors to INTERNAL EDGEs, which can be connected to - // EDGEs of the outer WIRE but this fact can't be detected by their order. + // IPAL53099, 54416. Set correct neighbors to INTERNAL EDGEs if ( nbW > 1 ) { int iFirst = 0, iLast; for ( nbE = nbEdgesInWires.begin(); nbE != nbEdgesInWires.end(); ++nbE ) { iLast = iFirst + *nbE - 1; - TopoDS_Vertex vv[2] = { SMESH_MesherHelper::IthVertex( 0, edges[ iFirst ]._edge ), - SMESH_MesherHelper::IthVertex( 1, edges[ iLast ]._edge ) }; - bool isConnectOk = ( vv[0].IsSame( vv[1] )); + bool isConnectOk = ( edges[ iFirst ].IsConnected( edges, 0 ) && + edges[ iFirst ].IsConnected( edges, 1 )); if ( !isConnectOk ) { - edges[ iFirst ]._iL = edges[ iFirst ]._iBase; // connect to self - edges[ iLast ]._iR = edges[ iLast ]._iBase; - - // look for an EDGE of the outer WIREs connected to vv - TopoDS_Vertex v0, v1; - for ( iE = 0; iE < iFirst; ++iE ) + for ( iE = iFirst; iE <= iLast; ++iE ) { - v0 = SMESH_MesherHelper::IthVertex( 0, edges[ iE ]._edge ); - v1 = SMESH_MesherHelper::IthVertex( 1, edges[ iE ]._edge ); - if ( vv[0].IsSame( v0 ) || vv[0].IsSame( v1 )) - edges[ iFirst ]._iL = edges[ iE ]._iBase; - if ( vv[1].IsSame( v0 ) || vv[1].IsSame( v1 )) - edges[ iLast ]._iR = edges[ iE ]._iBase; + if ( !edges[ iE ]._isBase ) + continue; + int* iNei[] = { & edges[ iE ]._iL, + & edges[ iE ]._iR }; + for ( int iV = 0; iV < 2; ++iV ) + { + if ( edges[ iE ].IsConnected( edges, iV )) + continue; // Ok - connected to a neighbor EDGE + + // look for a connected EDGE + bool found = false; + for ( int iE2 = 0, nbE = edges.size(); iE2 < nbE && !found; ++iE2 ) + if (( iE2 != iE ) && + ( found = edges[ iE ].IsConnected( edges[ iE2 ], iV ))) + { + *iNei[ iV ] = edges[ iE2 ]._iBase; + } + if ( !found ) + *iNei[ iV ] = edges[ iE ]._iBase; // connect to self + } } } iFirst += *nbE; @@ -3049,11 +3129,11 @@ bool StdMeshers_Prism_3D::IsApplicable(const TopoDS_Shape & shape, bool toCheckA } bool isOK = true; // ok for a current botF - bool isAdvanced = true; // is new data found in a current loop + bool hasAdvanced = true; // is new data found in a current loop int nbFoundSideFaces = 0; - for ( int iLoop = 0; isOK && isAdvanced; ++iLoop ) + for ( int iLoop = 0; isOK && hasAdvanced; ++iLoop ) { - isAdvanced = false; + hasAdvanced = false; for ( size_t iS = 0; iS < sides.size() && isOK; ++iS ) { PrismSide& side = sides[ iS ]; @@ -3065,19 +3145,32 @@ bool StdMeshers_Prism_3D::IsApplicable(const TopoDS_Shape & shape, bool toCheckA // find vertical EDGEs --- EDGEs shared with neighbor side FACEs for ( int is2nd = 0; is2nd < 2 && isOK; ++is2nd ) // 2 adjacent neighbors { - int di = is2nd ? 1 : -1; const PrismSide* adjSide = is2nd ? side._rightSide : side._leftSide; + if ( side._isInternal ) + { + const TopoDS_Vertex& V = side.Vertex( side._iBotEdge, is2nd ); + bool lHasV = side._leftSide ->HasVertex( V ); + bool rHasV = side._rightSide->HasVertex( V ); + if ( lHasV == rHasV ) + adjSide = ( &side == side._leftSide ) ? side._rightSide : side._leftSide; + else + adjSide = ( rHasV ) ? side._rightSide : side._leftSide; + } + int di = is2nd ? 1 : -1; for ( size_t i = 1; i < side._edges->size(); ++i ) { int iE = SMESH_MesherHelper::WrapIndex( i*di + side._iBotEdge, side._edges->size()); if ( side._isCheckedEdge[ iE ] ) continue; - const TopoDS_Edge& vertE = side.Edge( iE ); - const TopoDS_Shape& neighborF = getAnotherFace( side._face, vertE, facesOfEdge ); - bool isEdgeShared = (( adjSide->IsSideFace( neighborF, side._isInternal )) || - ( adjSide == &side && neighborF.IsSame( side._face )) ); + const TopoDS_Edge& vertE = side.Edge( iE ); + const TopTools_ListOfShape& neighborFF = facesOfEdge.FindFromKey( vertE ); + bool isEdgeShared = (( adjSide->IsSideFace( neighborFF, side._face, + side._isInternal )) || + ( adjSide == &side && + side._face.IsSame( getAnotherFace( side._face, + neighborFF )))); if ( isEdgeShared ) // vertE is shared with adjSide { - isAdvanced = true; + hasAdvanced = true; side._isCheckedEdge[ iE ] = true; side._nbCheckedEdges++; int nbNotCheckedE = side._edges->size() - side._nbCheckedEdges; @@ -3145,7 +3238,7 @@ bool StdMeshers_Prism_3D::IsApplicable(const TopoDS_Shape & shape, bool toCheckA const int nbE = side._edges->size(); if ( nbE >= 4 ) { - isAdvanced = true; + hasAdvanced = true; ++nbFoundSideFaces; side._iBotEdge = side.FindEdge( side._topEdge ); side._isCheckedEdge.clear(); @@ -3175,7 +3268,7 @@ bool StdMeshers_Prism_3D::IsApplicable(const TopoDS_Shape & shape, bool toCheckA cerr << "BUG: infinite loop in StdMeshers_Prism_3D::IsApplicable()" << endl; #endif } - } // while isAdvanced + } // while hasAdvanced if ( isOK && sides[0]._faces->Extent() > 1 ) { @@ -3186,12 +3279,20 @@ bool StdMeshers_Prism_3D::IsApplicable(const TopoDS_Shape & shape, bool toCheckA } else { + // check that all face columns end up at the same top face const TopoDS_Shape& topFace = sides[0]._faces->FindKey( nbFaces ); size_t iS; for ( iS = 1; iS < sides.size(); ++iS ) if ( ! sides[ iS ]._faces->Contains( topFace )) break; - prismDetected = ( iS == sides.size() ); + if (( prismDetected = ( iS == sides.size() ))) + { + // check that bottom and top faces has equal nb of edges + TEdgeWithNeighborsVec& topEdges = faceEdgesVec[ allFaces.FindIndex( topFace )]; + if ( topEdges.empty() ) + getEdges( TopoDS::Face( topFace ), topEdges, facesOfEdge, /*noHoles=*/false ); + prismDetected = ( botEdges.size() == topEdges.size() ); + } } } } // loop on allFaces -- 2.30.2