Salome HOME
0023102: [CEA 1486 ] Add the parameters for defining the boundary layers (edited)
authormpa <mpa@opencascade.com>
Wed, 24 Jun 2015 10:28:02 +0000 (13:28 +0300)
committermpa <mpa@opencascade.com>
Wed, 24 Jun 2015 10:28:02 +0000 (13:28 +0300)
src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx

index c008e274c4f9bba678bb60e2e5e317efad40e676..bb54f930adcb0be83902468b55ee8c60735004b5 100644 (file)
@@ -2934,31 +2934,30 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh&         aMesh,
     mesh_get_triangle_vertices(msh, it, vtx);
     mesh_get_triangle_extra_vertices(msh, it, &type, evtri);
     mesh_get_triangle_tag(msh, it, &tag);
-    TopoDS_Face face = TopoDS::Face(meshDS->IndexToShape(tag));
     if (tags[vtx[0]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[0]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[0]], tag);
       tags[vtx[0]] = false;
     };
     if (tags[vtx[1]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[1]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[1]], tag);
       tags[vtx[1]] = false;
     };
     if (tags[vtx[2]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[2]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[2]], tag);
       tags[vtx[2]] = false;
     };
     if (type == MESHGEMS_MESH_ELEMENT_TYPE_TRIA6) {
       // QUADRATIC TRIANGLE
       if (tags[evtri[0]]) {
-        meshDS->SetNodeOnFace(nodes[evtri[0]], face);
+        meshDS->SetNodeOnFace(nodes[evtri[0]], tag);
         tags[evtri[0]] = false;
       }
       if (tags[evtri[1]]) {
-        meshDS->SetNodeOnFace(nodes[evtri[1]], face);
+        meshDS->SetNodeOnFace(nodes[evtri[1]], tag);
         tags[evtri[1]] = false;
       }
       if (tags[evtri[2]]) {
-        meshDS->SetNodeOnFace(nodes[evtri[2]], face);
+        meshDS->SetNodeOnFace(nodes[evtri[2]], tag);
         tags[evtri[2]] = false;
       }
       tri = meshDS->AddFace(nodes[vtx[0]], nodes[vtx[1]], nodes[vtx[2]],
@@ -2967,7 +2966,7 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh&         aMesh,
     else {
       tri = helper.AddFace(nodes[vtx[0]], nodes[vtx[1]], nodes[vtx[2]]);
     }
-    meshDS->SetMeshElementOnShape(tri, face);
+    meshDS->SetMeshElementOnShape(tri, tag);
   }
 
   /* enumerate quadrangles */
@@ -2976,44 +2975,43 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh&         aMesh,
     mesh_get_quadrangle_vertices(msh, it, vtx);
     mesh_get_quadrangle_extra_vertices(msh, it, &type, evquad);
     mesh_get_quadrangle_tag(msh, it, &tag);
-    TopoDS_Face face = TopoDS::Face(meshDS->IndexToShape(tag));
     if (tags[vtx[0]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[0]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[0]], tag);
       tags[vtx[0]] = false;
     };
     if (tags[vtx[1]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[1]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[1]], tag);
       tags[vtx[1]] = false;
     };
     if (tags[vtx[2]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[2]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[2]], tag);
       tags[vtx[2]] = false;
     };
     if (tags[vtx[3]]) {
-      meshDS->SetNodeOnFace(nodes[vtx[3]], face);
+      meshDS->SetNodeOnFace(nodes[vtx[3]], tag);
       tags[vtx[3]] = false;
     };
     if (type == MESHGEMS_MESH_ELEMENT_TYPE_QUAD9) {
       // QUADRATIC QUADRANGLE
       std::cout << "This is a quadratic quadrangle" << std::endl;
       if (tags[evquad[0]]) {
-        meshDS->SetNodeOnFace(nodes[evquad[0]], face);
+        meshDS->SetNodeOnFace(nodes[evquad[0]], tag);
         tags[evquad[0]] = false;
       }
       if (tags[evquad[1]]) {
-        meshDS->SetNodeOnFace(nodes[evquad[1]], face);
+        meshDS->SetNodeOnFace(nodes[evquad[1]], tag);
         tags[evquad[1]] = false;
       }
       if (tags[evquad[2]]) {
-        meshDS->SetNodeOnFace(nodes[evquad[2]], face);
+        meshDS->SetNodeOnFace(nodes[evquad[2]], tag);
         tags[evquad[2]] = false;
       }
       if (tags[evquad[3]]) {
-        meshDS->SetNodeOnFace(nodes[evquad[3]], face);
+        meshDS->SetNodeOnFace(nodes[evquad[3]], tag);
         tags[evquad[3]] = false;
       }
       if (tags[evquad[4]]) {
-        meshDS->SetNodeOnFace(nodes[evquad[4]], face);
+        meshDS->SetNodeOnFace(nodes[evquad[4]], tag);
         tags[evquad[4]] = false;
       }
       quad = meshDS->AddFace(nodes[vtx[0]], nodes[vtx[1]], nodes[vtx[2]], nodes[vtx[3]],
@@ -3023,7 +3021,7 @@ bool BLSURFPlugin_BLSURF::compute(SMESH_Mesh&         aMesh,
     else {
       quad = helper.AddFace(nodes[vtx[0]], nodes[vtx[1]], nodes[vtx[2]], nodes[vtx[3]]);
     }
-    meshDS->SetMeshElementOnShape(quad, face);
+    meshDS->SetMeshElementOnShape(quad, tag);
   }
 
   /* release the mesh object, the rest is released by cleaner */