From: eap Date: Mon, 23 Apr 2012 16:20:19 +0000 (+0000) Subject: 0021556: EDF 2222 SMESH: 3D mesh after projection impossible X-Git-Tag: TRIPOLI_323~23 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=690b5f67ff09634fbc8f5507fa310b5f4eb1fa4d;p=modules%2Fsmesh.git 0021556: EDF 2222 SMESH: 3D mesh after projection impossible In projectBy2DSimilarity() check U on edge before setting --- diff --git a/src/StdMeshers/StdMeshers_Projection_2D.cxx b/src/StdMeshers/StdMeshers_Projection_2D.cxx index 77a8d7559..17bde5c85 100644 --- a/src/StdMeshers/StdMeshers_Projection_2D.cxx +++ b/src/StdMeshers/StdMeshers_Projection_2D.cxx @@ -734,9 +734,11 @@ namespace { } case SMDS_TOP_EDGE: { TopoDS_Shape srcEdge = srcHelper.GetSubShapeByNode( srcNode, srcHelper.GetMeshDS() ); - TopoDS_Shape tgtEdge = shape2ShapeMap( srcEdge, /*isSrc=*/true ); + TopoDS_Edge tgtEdge = TopoDS::Edge( shape2ShapeMap( srcEdge, /*isSrc=*/true )); + tgtMeshDS->SetNodeOnEdge( n, TopoDS::Edge( tgtEdge )); double U = srcHelper.GetNodeU( TopoDS::Edge( srcEdge ), srcNode ); - tgtMeshDS->SetNodeOnEdge( n, TopoDS::Edge( tgtEdge ), U); + helper.CheckNodeU( tgtEdge, n, U, Precision::PConfusion()); + n->SetPosition(SMDS_PositionPtr(new SMDS_EdgePosition( U ))); break; } case SMDS_TOP_VERTEX: {