X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MesherHelper.hxx;h=14d9225e6535bc38f732c78be76b0968edcb897f;hb=56fb0953d7061ef534cc9e1f65a1ec0bd2b49a10;hp=a4c039120bf0f3f23d4e6aa18c6761c09fbd1fd0;hpb=8951a462381b15bcfdaa3858cee5bb082d120749;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_MesherHelper.hxx b/src/SMESH/SMESH_MesherHelper.hxx index a4c039120..14d9225e6 100644 --- a/src/SMESH/SMESH_MesherHelper.hxx +++ b/src/SMESH/SMESH_MesherHelper.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2010 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 @@ -19,6 +19,7 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File: SMESH_MesherHelper.hxx // Created: 15.02.06 14:48:09 // Author: Sergey KUUL @@ -38,6 +39,7 @@ #include #include +#include class GeomAPI_ProjectPointOnSurf; @@ -220,6 +222,13 @@ public: const SMDS_MeshNode* n4, const int id = 0, const bool force3d = false); + + /*! + * Creates polygon, with additional nodes in quadratic mesh + */ + SMDS_MeshFace* AddPolygonalFace (const std::vector& nodes, + const int id = 0, + const bool force3d = false); /*! * Creates quadratic or linear tetraahedron */ @@ -263,11 +272,20 @@ public: const SMDS_MeshNode* n8, const int id = 0, bool force3d = true); + + /*! + * Creates polyhedron. In quadratic mesh, adds medium nodes + */ + SMDS_MeshVolume* AddPolyhedralVolume (const std::vector& nodes, + const std::vector& quantities, + const int ID=0, + const bool force3d = true); /*! * \brief Return U of the given node on the edge */ double GetNodeU(const TopoDS_Edge& theEdge, const SMDS_MeshNode* theNode, + const SMDS_MeshNode* inEdgeNode=0, bool* check=0); /*! * \brief Return node UV on face @@ -296,7 +314,8 @@ public: const SMDS_MeshNode* n, double& u, const double tol, - const bool force=false) const; + const bool force=false, + double* distance=0) const; /*! * \brief Return middle UV taking in account surface period */ @@ -451,6 +470,9 @@ protected: */ gp_Pnt2d GetUVOnSeam( const gp_Pnt2d& uv1, const gp_Pnt2d& uv2 ) const; + const SMDS_MeshNode* getMediumNodeOnComposedWire(const SMDS_MeshNode* n1, + const SMDS_MeshNode* n2, + bool force3d); private: // Forbiden copy constructor