X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Import_1D.cxx;h=5de5783569a2a3ec2d5a117f8645754c913dba58;hb=bb5c11a5ede32160ebb18549daab96801c236d12;hp=f9ddca12a65455f68373bbff53f91ee9bdbffc58;hpb=be61d6322efd4952e6d225762992f8c0ebfe23a4;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Import_1D.cxx b/src/StdMeshers/StdMeshers_Import_1D.cxx index f9ddca12a..5de578356 100644 --- a/src/StdMeshers/StdMeshers_Import_1D.cxx +++ b/src/StdMeshers/StdMeshers_Import_1D.cxx @@ -693,9 +693,11 @@ bool StdMeshers_Import_1D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & th else { // find an existing vertex node + double checktol = max(1.E-10, 10*edgeTol*edgeTol); for ( vNIt = vertexNodes.begin(); vNIt != vertexNodes.end(); ++vNIt) - if ( vNIt->SquareDistance( *node ) < 10 * edgeTol * edgeTol) + if ( vNIt->SquareDistance( *node ) < checktol) { + //MESSAGE("SquareDistance " << vNIt->SquareDistance( *node ) << " checktol " << checktol); (*n2nIt).second = vNIt->_node; vertexNodes.erase( vNIt ); break; @@ -710,13 +712,17 @@ bool StdMeshers_Import_1D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & th SMDS_MeshNode* newNode = tgtMesh->AddNode( (*node)->X(), (*node)->Y(), (*node)->Z()); n2nIt->second = newNode; tgtMesh->SetNodeOnEdge( newNode, shapeID, u ); + //MESSAGE("u=" << u); } } if ( !(newNodes[i] = n2nIt->second )) break; } if ( !newNodes.back() ) + { + //MESSAGE("not all nodes of edge lie on theShape"); continue; // not all nodes of edge lie on theShape + } // make a new edge SMDS_MeshElement * newEdge; @@ -724,6 +730,7 @@ bool StdMeshers_Import_1D::Compute(SMESH_Mesh & theMesh, const TopoDS_Shape & th newEdge = tgtMesh->AddEdge( newNodes[0], newNodes[1], newNodes[2] ); else newEdge = tgtMesh->AddEdge( newNodes[0], newNodes[1]); + //MESSAGE("add Edge"); tgtMesh->SetMeshElementOnShape( newEdge, shapeID ); e2e->insert( make_pair( edge, newEdge )); }