From: eap Date: Thu, 10 Jan 2013 11:26:34 +0000 (+0000) Subject: 21397: EDF SMESH: a quadrangle face mesh can't be projected to a cylinder X-Git-Tag: pluginMGCleaner~188 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=293883f8d4ffbf403ef9a6fe6aeeb5fca84144e0;p=modules%2Fsmesh.git 21397: EDF SMESH: a quadrangle face mesh can't be projected to a cylinder bool Load (SMESH_Mesh* theMesh, const TopoDS_Face& theFace, bool theProject = false, + TopoDS_Vertex the1stVertex=TopoDS_Vertex()); --- diff --git a/src/SMESH/SMESH_Pattern.cxx b/src/SMESH/SMESH_Pattern.cxx index cc493ca34..a2bb1aa00 100644 --- a/src/SMESH/SMESH_Pattern.cxx +++ b/src/SMESH/SMESH_Pattern.cxx @@ -514,7 +514,8 @@ static bool isMeshBoundToShape(SMESHDS_Mesh * aMeshDS, bool SMESH_Pattern::Load (SMESH_Mesh* theMesh, const TopoDS_Face& theFace, - bool theProject) + bool theProject, + TopoDS_Vertex the1stVertex) { MESSAGE(" ::Load(face) " ); Clear(); @@ -538,10 +539,9 @@ bool SMESH_Pattern::Load (SMESH_Mesh* theMesh, // check if face is closed bool isClosed = helper.HasSeam(); - TopoDS_Vertex bidon; list eList; list::iterator elIt; - SMESH_Block::GetOrderedEdges( face, bidon, eList, myNbKeyPntInBoundary ); + SMESH_Block::GetOrderedEdges( face, the1stVertex, eList, myNbKeyPntInBoundary ); // check that requested or needed projection is possible bool isMainShape = theMesh->IsMainShape( face ); diff --git a/src/SMESH/SMESH_Pattern.hxx b/src/SMESH/SMESH_Pattern.hxx index 2ba7666aa..272e7bef5 100644 --- a/src/SMESH/SMESH_Pattern.hxx +++ b/src/SMESH/SMESH_Pattern.hxx @@ -35,7 +35,7 @@ #include #include -#include +#include #include #include #include @@ -48,7 +48,6 @@ class SMDS_MeshNode; class SMESH_Mesh; class SMESHDS_SubMesh; class TopoDS_Shell; -class TopoDS_Vertex; class TopoDS_Face; class TopoDS_Edge; @@ -71,7 +70,8 @@ class SMESH_EXPORT SMESH_Pattern { bool Load (SMESH_Mesh* theMesh, const TopoDS_Face& theFace, - bool theProject = false); + bool theProject = false, + TopoDS_Vertex the1stVertex=TopoDS_Vertex()); // Create a pattern from the mesh built on . // ==true makes override nodes positions // on computed by mesher