From 690b5f67ff09634fbc8f5507fa310b5f4eb1fa4d Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 23 Apr 2012 16:20:19 +0000 Subject: [PATCH] 0021556: EDF 2222 SMESH: 3D mesh after projection impossible In projectBy2DSimilarity() check U on edge before setting --- src/StdMeshers/StdMeshers_Projection_2D.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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: { -- 2.39.2