From b860f3ffbde63f120fbd9fbd0f98552b25a6c44c Mon Sep 17 00:00:00 2001 From: eap Date: Fri, 23 Aug 2013 16:26:29 +0000 Subject: [PATCH] SALOME Forum bug: http://www.salome-platform.org/forum/forum_10/967838025 Do not report a compute error if a node on VERTEX is not shared by any segment because segments on seam EDGE are assigned later --- src/StdMeshers/StdMeshers_Import_1D2D.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/StdMeshers/StdMeshers_Import_1D2D.cxx b/src/StdMeshers/StdMeshers_Import_1D2D.cxx index 5acc4bdc5..4b54fa774 100644 --- a/src/StdMeshers/StdMeshers_Import_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_Import_1D2D.cxx @@ -226,7 +226,7 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & typedef SMDS_StdIterator< const SMDS_MeshNode*, SMDS_NodeIteratorPtr > iterator; existingNodes.insert( iterator( eSM->GetNodes() ), iterator() ); } - } + } } // octree to find existing nodes SMESH_OctreeNode existingNodeOcTr( existingNodes ); @@ -513,7 +513,7 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & int sId = editor.FindShape( edge ); nbEdges += subShapeIDs.count( sId ); } - if ( nbEdges < 2 ) + if ( nbEdges < 2 && !helper.IsRealSeam( s )) return false; // weird if ( nbEdges > 2 ) return error( COMPERR_BAD_INPUT_MESH, "Source elements overlap one another"); @@ -601,8 +601,8 @@ bool StdMeshers_Import_1D2D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & for ( size_t iE = 0; iE < edges.size(); ++iE ) { SMESH_subMesh * sm = theMesh.GetSubMesh( edges[iE] ); - if ( SMESH_Algo::isDegenerated( edges[iE] )) - sm->SetIsAlwaysComputed( true ); + // if ( SMESH_Algo::isDegenerated( edges[iE] )) + // sm->SetIsAlwaysComputed( true ); sm->ComputeStateEngine(SMESH_subMesh::CHECK_COMPUTE_STATE); if ( sm->GetComputeState() != SMESH_subMesh::COMPUTE_OK ) return error(SMESH_Comment("Failed to create segments on the edge ")