X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Pattern.hxx;h=67c9093ea5c89eb1d71dee95604ea8719f30f22e;hp=2ba7666aa93790ec1e1ede12ab847505970bba24;hb=bb40f7c1d3542da1ff59b6c3bface0574789dded;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/src/SMESH/SMESH_Pattern.hxx b/src/SMESH/SMESH_Pattern.hxx index 2ba7666aa..67c9093ea 100644 --- a/src/SMESH/SMESH_Pattern.hxx +++ b/src/SMESH/SMESH_Pattern.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -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 @@ -334,6 +334,12 @@ private: void clearMesh(SMESH_Mesh* theMesh) const; // clear mesh elements existing on myShape in theMesh + bool findExistingNodes( SMESH_Mesh* mesh, + const TopoDS_Shape& S, + const std::list< TPoint* > & points, + std::vector< const SMDS_MeshNode* > & nodes); + // fills nodes vector with nodes existing on a given shape + static SMESHDS_SubMesh * getSubmeshWithElements(SMESH_Mesh* theMesh, const TopoDS_Shape& theShape); // return submesh containing elements bound to theShape in theMesh @@ -356,7 +362,7 @@ private: // all functions assure that shapes are indexed so that first go // ordered vertices, then ordered edge, then faces and maybe a shell TopTools_IndexedMapOfOrientedShape myShapeIDMap; - std::map< int, std::list< TPoint* > > myShapeIDToPointsMap; + std::map< int, std::list< TPoint*> > myShapeIDToPointsMap; // for the 2d case: // nb of key-points in each of pattern boundaries