X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Import_1D2D.cxx;h=8180f0a027ff93a692f6e7155cd949443c4f0902;hb=43db13f33a1d75fae36db8f06fa378ed7906a332;hp=326aeaa1186e3d0ccd5d83d30b78a919a6fa2172;hpb=4ad6a5b19bae49eae5c02662e70c1229262cace5;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Import_1D2D.cxx b/src/StdMeshers/StdMeshers_Import_1D2D.cxx index 326aeaa11..8180f0a02 100644 --- a/src/StdMeshers/StdMeshers_Import_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_Import_1D2D.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -420,10 +420,14 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & } } if ( !nodesOnBoundary ) - break; // error: free internal link + { + error("free internal link"); // just for an easier debug + break; + } if ( bndShapes.front().ShapeType() == TopAbs_EDGE && bndShapes.front() != bndShapes.back() ) - break; // error: link nodes on different geom edges + // link nodes on different geom edges + return error(COMPERR_BAD_INPUT_MESH, "Source nodes mismatch target vertices"); // find geom edge the link is on if ( bndShapes.back().ShapeType() != TopAbs_EDGE ) @@ -433,7 +437,10 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & bndShapes.front(), theMesh, TopAbs_EDGE ); if ( geomEdge.IsNull() ) - break; // vertices belong to different edges -> error: free internal link + { + error("free internal link"); + break; // vertices belong to different edges + } bndShapes.push_back( geomEdge ); } @@ -465,7 +472,7 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & } else if ( nbFaces > 2 ) { - return error( "Non-manifold source mesh"); + return error( COMPERR_BAD_INPUT_MESH, "Non-manifold source mesh"); } } isFaceMeshed = ( link2Nb == linkCount.end() && !linkCount.empty()); @@ -491,12 +498,13 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & if ( nbEdges < 2 ) return false; // weird if ( nbEdges > 2 ) - return error( "Source elements overlap one another"); + return error( COMPERR_BAD_INPUT_MESH, "Source elements overlap one another"); } } } if ( !isFaceMeshed ) - return error( "Source elements don't cover totally the geometrical face" ); + return error( COMPERR_BAD_INPUT_MESH, + "Source elements don't cover totally the geometrical face" ); if ( helper.HasSeam() ) {