Salome HOME
0022103: EDF 2550 SMESH : Allow viscous layer with 3D extrusion
authoreap <eap@opencascade.com>
Tue, 4 Jun 2013 15:03:15 +0000 (15:03 +0000)
committereap <eap@opencascade.com>
Tue, 4 Jun 2013 15:03:15 +0000 (15:03 +0000)
 = Allow viscous layers on boundary EDGEs of a 2D sub-mesh

In GetUVPtStruct(), update normParam when reloading points from a proxy
mesh in a reversed order

src/StdMeshers/StdMeshers_FaceSide.cxx

index d832081670d420b822ac0cd080b2d6dd19fa9306..a0e7f00342543867dfb2441498094ccd199caaae 100644 (file)
@@ -362,7 +362,11 @@ const vector<UVPtStruct>& StdMeshers_FaceSide::GetUVPtStruct(bool   isXConst,
         double du1 = edgeUVPtStruct.back().param - edgeUVPtStruct[0].param;
         double du2 = myLast[iE] - myFirst[iE];
         if ( du1 * du2 < 0 )
+        {
           std::reverse( & points[iPt], & points[iPt + edgeUVPtStruct.size()]);
+          for ( size_t i = 0; i < edgeUVPtStruct.size(); ++i )
+            points[iPt+i].normParam = 1. - points[iPt+i].normParam;
+        }
         // update normalized params
         if ( myEdge.size() > 1 ) {
           for ( size_t i = 0; i < edgeUVPtStruct.size(); ++i, ++iPt )