X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_RadialQuadrangle_1D2D.cxx;h=526d1ec35cd64ada6cc0b6ad56bb286c4f5b1e35;hb=00971639b056986c27607c1ca20579e5664a7ff7;hp=e9aab2b2953c5c9b5c73083bb234042592aa457f;hpb=7a65c9fad427b1ccba6b9ccae612296e5092a324;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx index e9aab2b29..526d1ec35 100644 --- a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -29,6 +29,7 @@ #include "StdMeshers_NumberOfSegments.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_Gen.hxx" #include "SMESH_HypoFilter.hxx" @@ -537,8 +538,8 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, gp_Vec2d aVec2d(PC,p2dV); Nodes1.resize( myLayerPositions.size()+1 ); Nodes2.resize( myLayerPositions.size()+1 ); - int i = 0; - for(; iSetNodeOnEdge(NC, edgeID, cp); Nodes1.resize( myLayerPositions.size()+1 ); Nodes2.resize( myLayerPositions.size()+1 ); - int i = 0; + size_t i = 0; for(; isecond == NF ); NC = const_cast ( nodesFromP0ToP1 ? theNodes.begin()->second : theNodes.rbegin()->second ); - int i = 0, ir = Nodes1.size()-1; - int * pi = nodesFromP0ToP1 ? &i : &ir; + size_t i = 0, ir = Nodes1.size()-1; + size_t * pi = nodesFromP0ToP1 ? &i : &ir; itn = theNodes.begin(); if ( nodesFromP0ToP1 ) ++itn; for ( ; i < Nodes1.size(); ++i, --ir, ++itn ) @@ -817,8 +818,8 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, meshDS->SetNodeOnVertex(NC, vertID); } double dp = lp-fp; - int i = 0; - for(; iAddNode(P.X(), P.Y(), P.Z()); Nodes1[i] = node; double param; - if(!ori) + if ( !ori ) param = fp + dp*(1-myLayerPositions[i]); else param = fp + dp*myLayerPositions[i]; @@ -840,11 +841,11 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, // create 1D elements on edge SMDS_MeshEdge* ME = myHelper->AddEdge( NC, Nodes1[0] ); if(ME) meshDS->SetMeshElementOnShape(ME, edgeID); - for(i=1; iAddEdge( Nodes1[i-1], Nodes1[i] ); if(ME) meshDS->SetMeshElementOnShape(ME, edgeID); } - if (nbe==2 && LinEdge1.Orientation() == TopAbs_INTERNAL ) + if ( nbe == 2 && LinEdge1.Orientation() == TopAbs_INTERNAL ) Nodes2 = Nodes1; } markEdgeAsComputedByMe( LinEdge1, aMesh.GetSubMesh( F )); @@ -856,8 +857,8 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, return error("Invalid mesh on a straight edge"); bool nodesFromP0ToP2 = ( theNodes.rbegin()->second == NL ); - int i = 0, ir = Nodes1.size()-1; - int * pi = nodesFromP0ToP2 ? &i : &ir; + size_t i = 0, ir = Nodes1.size()-1; + size_t * pi = nodesFromP0ToP2 ? &i : &ir; itn = theNodes.begin(); if ( nodesFromP0ToP2 ) ++itn; for ( ; i < Nodes2.size(); ++i, --ir, ++itn ) @@ -886,7 +887,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, PC = PL; } double dp = lp-fp; - for(int i=0; iAddEdge( NC, Nodes2[0] ); - if(ME) meshDS->SetMeshElementOnShape(ME, edgeID); - for(int i=1; iSetMeshElementOnShape(ME, edgeID); + for ( size_t i = 1; i < Nodes2.size(); i++ ) { ME = myHelper->AddEdge( Nodes2[i-1], Nodes2[i] ); if(ME) meshDS->SetMeshElementOnShape(ME, edgeID); } @@ -953,7 +954,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, // create faces tmpNodes.push_back( CNodes[i] ); // quad - for(j=0; jAddFace( tmpNodes[j], Nodes1[j], @@ -969,14 +970,14 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, MF = myHelper->AddFace( NC, Nodes1[0], tmpNodes[0] ); else MF = myHelper->AddFace( NC, tmpNodes[0], Nodes1[0] ); - if(MF) meshDS->SetMeshElementOnShape(MF, faceID); - for(j=0; jSetMeshElementOnShape(MF, faceID); + for ( j = 0; j < (int) Nodes1.size(); j++ ) { Nodes1[j] = tmpNodes[j]; } } // create last faces // quad - for(i=0; iAddFace( Nodes2[i], Nodes1[i], @@ -1106,7 +1107,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::computeLayerPositions(const gp_Pnt& } else { - if ( myLayerPositions.size() != nbNodes ) + if ((int) myLayerPositions.size() != nbNodes ) return error("Radial edge is meshed by other algorithm"); } } @@ -1196,7 +1197,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Evaluate(SMESH_Mesh& aMesh, ok = !aResMap.count( aMesh.GetSubMesh(LinEdge1) ); if ( !ok ) { const vector& aVec = aResMap[ aMesh.GetSubMesh(LinEdge1) ]; - ok = ( aVec[SMDSEntity_Node] == myLayerPositions.size() ); + ok = ( aVec[SMDSEntity_Node] == (int) myLayerPositions.size() ); } if(ok) { ok = algo1d->EvaluateCircularEdge( aMesh, CircEdge, aResMap ); @@ -1243,7 +1244,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Evaluate(SMESH_Mesh& aMesh, // other curve not line return error(COMPERR_BAD_SHAPE); } - int nbLayers = myLayerPositions.size(); + size_t nbLayers = myLayerPositions.size(); computeLayerPositions( P0, P1, LinEdge2 ); if ( nbLayers != myLayerPositions.size() ) return error("Different hypotheses apply to radial edges"); @@ -1254,7 +1255,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Evaluate(SMESH_Mesh& aMesh, ok = true; // override other 1d hyps else { const vector& aVec = aResMap[ aMesh.GetSubMesh(LinEdge1) ]; - ok = ( aVec[SMDSEntity_Node] == myLayerPositions.size() ); + ok = ( aVec[SMDSEntity_Node] == (int) myLayerPositions.size() ); } } if( ok && aResMap.count( aMesh.GetSubMesh(LinEdge2) )) { @@ -1262,7 +1263,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Evaluate(SMESH_Mesh& aMesh, ok = true; // override other 1d hyps else { const vector& aVec = aResMap[ aMesh.GetSubMesh(LinEdge2) ]; - ok = ( aVec[SMDSEntity_Node] == myLayerPositions.size() ); + ok = ( aVec[SMDSEntity_Node] == (int) myLayerPositions.size() ); } } if(ok) {