X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Quadrangle_2D.cxx;h=19461a7744fc0c6d7acf98e2da70bdd51eb5f962;hb=5552aec787c289730a35843d295811cfdadaacd3;hp=ada3ab0ccc43d7e524949325cb589e543ffa13dc;hpb=8b6d98aa4acd8176f72ff5b96693bcfef0f9ebd5;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx index ada3ab0cc..19461a774 100644 --- a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx +++ b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx @@ -80,9 +80,9 @@ using namespace std; */ //============================================================================= -StdMeshers_Quadrangle_2D::StdMeshers_Quadrangle_2D (int hypId, int studyId, +StdMeshers_Quadrangle_2D::StdMeshers_Quadrangle_2D (int hypId, SMESH_Gen* gen) - : SMESH_2D_Algo(hypId, studyId, gen), + : SMESH_2D_Algo(hypId, gen), myQuadranglePreference(false), myTrianglePreference(false), myTriaVertexID(-1), @@ -127,6 +127,7 @@ bool StdMeshers_Quadrangle_2D::CheckHypothesis myTrianglePreference = false; myHelper = (SMESH_MesherHelper*)NULL; myParams = NULL; + myProxyMesh.reset(); myQuadList.clear(); aStatus = SMESH_Hypothesis::HYP_OK; @@ -251,7 +252,7 @@ bool StdMeshers_Quadrangle_2D::Compute (SMESH_Mesh& aMesh, int nfull = n1+n2+n3+n4; if ((nfull % 2) == 0 && ((n1 != n3) || (n2 != n4))) { - // special path genarating only quandrangle faces + // special path generating only quandrangle faces res = computeQuadPref( aMesh, F, quad ); } } @@ -643,9 +644,11 @@ bool StdMeshers_Quadrangle_2D::computeQuadDominant(SMESH_Mesh& aMesh, SMESH_ComputeErrorPtr& err = aMesh.GetSubMesh( aFace )->GetComputeError(); if ( !err || err->IsOK() || err->myName < COMPERR_WARNING ) { - err.reset( new SMESH_ComputeError( COMPERR_WARNING, - "Bad quality quad created")); - err->myBadElements.push_back( face ); + SMESH_BadInputElements* badElems = + new SMESH_BadInputElements( meshDS, COMPERR_WARNING, + "Bad quality quad created"); + badElems->add( face ); + err.reset( badElems ); } } --i; @@ -818,9 +821,11 @@ bool StdMeshers_Quadrangle_2D::computeQuadDominant(SMESH_Mesh& aMesh, SMESH_ComputeErrorPtr& err = aMesh.GetSubMesh( aFace )->GetComputeError(); if ( !err || err->IsOK() || err->myName < COMPERR_WARNING ) { - err.reset( new SMESH_ComputeError( COMPERR_WARNING, - "Bad quality quad created")); - err->myBadElements.push_back( face ); + SMESH_BadInputElements* badElems = + new SMESH_BadInputElements( meshDS, COMPERR_WARNING, + "Bad quality quad created"); + badElems->add( face ); + err.reset( badElems ); } } --i; @@ -4668,9 +4673,11 @@ bool StdMeshers_Quadrangle_2D::check() { SMESH_subMesh* fSM = myHelper->GetMesh()->GetSubMesh( geomFace ); SMESH_ComputeErrorPtr& err = fSM->GetComputeError(); - err.reset ( new SMESH_ComputeError( COMPERR_ALGO_FAILED, - "Inverted elements generated")); - err->myBadElements.swap( badFaces ); + SMESH_BadInputElements* badElems = + new SMESH_BadInputElements( meshDS, COMPERR_ALGO_FAILED, + "Inverted elements generated"); + badElems->myBadElements.swap( badFaces ); + err.reset( badElems ); return !isOK; }