From: eap Date: Mon, 9 Jul 2012 08:35:37 +0000 (+0000) Subject: http://www.salome-platform.org/forum/forum_10/508123838#632325403 : Extrude3D doesn... X-Git-Tag: V6_6_0a1~275 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=31c3351c50f10f8fdf6cba7ecee2fd4068cbd201;p=modules%2Fsmesh.git http://www.salome-platform.org/forum/forum_10/508123838#632325403 : Extrude3D doesn't work Restore error reporting in the case where existing 1D mesh mismatches the projected 2D mesh --- diff --git a/src/StdMeshers/StdMeshers_Projection_2D.cxx b/src/StdMeshers/StdMeshers_Projection_2D.cxx index 17bde5c85..b4734fa0c 100644 --- a/src/StdMeshers/StdMeshers_Projection_2D.cxx +++ b/src/StdMeshers/StdMeshers_Projection_2D.cxx @@ -1007,24 +1007,18 @@ bool StdMeshers_Projection_2D::Compute(SMESH_Mesh& theMesh, const TopoDS_Shape& ( u2nodesMaps[ NEW_NODES ].size() == u2nodesOnSeam.size() ); if ( !mergeNewToOld ) - { - // if ( u2nodesMaps[ NEW_NODES ].size() == 0 && - // sm->GetSubShape().ShapeType() == TopAbs_EDGE && - // helper.IsDegenShape( sm->GetId() ) ) - // // NPAL15894 (tt88bis.py) - project mesh built by NETGEN_1d_2D that - // // does not make segments/nodes on degenerated edges - // continue; - - // if ( u2nodesMaps[ OLD_NODES ].size() == 0 && - // sm->GetSubShape().ShapeType() == TopAbs_VERTEX ) - // // old nodes are optional on vertices in the case of 1D-2D projection - // continue; - - //RETURN_BAD_RESULT - MESSAGE("Different nb of old and new nodes on shape #"<< sm->GetId() <<" "<< - u2nodesMaps[ OLD_NODES ].size() << " != " << - u2nodesMaps[ NEW_NODES ].size()); - } + if ( u2nodesMaps[ NEW_NODES ].size() > 0 && + u2nodesMaps[ OLD_NODES ].size() > 0 ) + { + u_oldNode = u2nodesMaps[ OLD_NODES ].begin(); + newEnd = u2nodesMaps[ OLD_NODES ].end(); + for ( ; u_oldNode != newEnd; ++u_oldNode ) + _badInputElements.push_back( u_oldNode->second ); + return error( COMPERR_BAD_INPUT_MESH, + SMESH_Comment( "Existing mesh mismatches the projected 2D mesh on " ) + << ( sm->GetSubShape().ShapeType() == TopAbs_EDGE ? "edge" : "vertex" ) + << " #" << sm->GetId() ); + } if ( isSeam && !mergeSeamToNew ) { //RETURN_BAD_RESULT MESSAGE("Different nb of old and seam nodes " <<