X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Pattern.cxx;h=63e6f365fec9b754dcd2b74514a75e0a0ccd3688;hb=cb2ff0ef7093f4e532ec69f15f514ba5a1c5a37e;hp=cc493ca3439cfed759fbb3153f1a8a1518d2ecb1;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_Pattern.cxx b/src/SMESH/SMESH_Pattern.cxx index cc493ca34..63e6f365f 100644 --- a/src/SMESH/SMESH_Pattern.cxx +++ b/src/SMESH/SMESH_Pattern.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -26,6 +26,21 @@ #include "SMESH_Pattern.hxx" +#include "SMDS_EdgePosition.hxx" +#include "SMDS_FacePosition.hxx" +#include "SMDS_MeshElement.hxx" +#include "SMDS_MeshFace.hxx" +#include "SMDS_MeshNode.hxx" +#include "SMDS_VolumeTool.hxx" +#include "SMESHDS_Group.hxx" +#include "SMESHDS_Mesh.hxx" +#include "SMESHDS_SubMesh.hxx" +#include "SMESH_Block.hxx" +#include "SMESH_Mesh.hxx" +#include "SMESH_MeshAlgos.hxx" +#include "SMESH_MesherHelper.hxx" +#include "SMESH_subMesh.hxx" + #include #include #include @@ -60,20 +75,6 @@ #include #include -#include "SMDS_EdgePosition.hxx" -#include "SMDS_FacePosition.hxx" -#include "SMDS_MeshElement.hxx" -#include "SMDS_MeshFace.hxx" -#include "SMDS_MeshNode.hxx" -#include "SMDS_VolumeTool.hxx" -#include "SMESHDS_Group.hxx" -#include "SMESHDS_Mesh.hxx" -#include "SMESHDS_SubMesh.hxx" -#include "SMESH_Block.hxx" -#include "SMESH_Mesh.hxx" -#include "SMESH_MesherHelper.hxx" -#include "SMESH_subMesh.hxx" - #include #include @@ -514,7 +515,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 +540,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, eList, myNbKeyPntInBoundary, the1stVertex ); // check that requested or needed projection is possible bool isMainShape = theMesh->IsMainShape( face ); @@ -2370,7 +2371,7 @@ bool SMESH_Pattern::Apply (const TopoDS_Face& theFace, list< TopoDS_Edge > eList; list< int > nbVertexInWires; - int nbWires = SMESH_Block::GetOrderedEdges( face, theVertexOnKeyPoint1, eList, nbVertexInWires); + int nbWires = SMESH_Block::GetOrderedEdges( face, eList, nbVertexInWires, theVertexOnKeyPoint1); if ( !theVertexOnKeyPoint1.IsSame( TopExp::FirstVertex( eList.front(), true ))) { MESSAGE( " theVertexOnKeyPoint1 not found in the outer wire "); @@ -3559,7 +3560,7 @@ void SMESH_Pattern:: while (true) { const SMDS_MeshElement* face = - SMESH_MeshEditor::FindFaceInSet( n1, n2, elemSet, avoidSet ); + SMESH_MeshAlgos::FindFaceInSet( n1, n2, elemSet, avoidSet ); if ( face ) { avoidSet.insert ( face );