From: gdd Date: Fri, 29 Jul 2011 10:14:08 +0000 (+0000) Subject: Fix enforced vertives badly created with BLSurf V3 X-Git-Tag: V6_3_1p1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=7a5bb93dedb356ff0671c0f4c194436833bbc681;p=plugins%2Fblsurfplugin.git Fix enforced vertives badly created with BLSurf V3 --- diff --git a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx index 0c971a4..f019081 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx +++ b/src/BLSURFPlugin/BLSURFPlugin_BLSURF.cxx @@ -1071,7 +1071,9 @@ bool BLSURFPlugin_BLSURF::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape) int iface = 0; string bad_end = "return"; int faceKey = -1; - int ienf = 0; + TopTools_IndexedMapOfShape _map; + TopExp::MapShapes(aShape,TopAbs_VERTEX,_map); + int ienf = _map.Extent(); BLSURFPlugin_Attractor myAttractor; for (TopExp_Explorer face_iter(aShape,TopAbs_FACE);face_iter.More();face_iter.Next()) { TopoDS_Face f=TopoDS::Face(face_iter.Current()); @@ -1130,7 +1132,6 @@ bool BLSURFPlugin_BLSURF::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape) // Specific size map = Attractor std::map >::iterator attractor_iter = FaceId2AttractorCoords.begin(); - int iatt=0; for (; attractor_iter != FaceId2AttractorCoords.end(); ++attractor_iter) { if (attractor_iter->first == faceKey) { MESSAGE("Face indice: " << iface); @@ -1159,10 +1160,10 @@ bool BLSURFPlugin_BLSURF::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape) // Point is inside face and not on border MESSAGE("Point is in face: node is created"); double uvCoords[2] = {attractor_iter->second[0],attractor_iter->second[1]}; - iatt++; - MESSAGE("Add cad point on (u,v)=(" << uvCoords[0] << "," << uvCoords[1] << ") with id = " << iatt); - cad_point_t* point_p = cad_point_new(fce, iatt, uvCoords); - cad_point_set_tag(point_p, iatt); + ienf++; + MESSAGE("Add cad point on (u,v)=(" << uvCoords[0] << "," << uvCoords[1] << ") with id = " << ienf); + cad_point_t* point_p = cad_point_new(fce, ienf, uvCoords); + cad_point_set_tag(point_p, ienf); } FaceId2AttractorCoords.erase(faceKey); }