X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MesherHelper.hxx;h=8c598fb62ffeecdb5b0bd14619d60fa9f422ad15;hp=fe888c75055b69e014d5e84959aad17c31c0e2df;hb=386c76ea033aef391a39dfc3b015ed081ed49fd5;hpb=a17b36970bc61da1d664453c615754997c925b18 diff --git a/src/SMESH/SMESH_MesherHelper.hxx b/src/SMESH/SMESH_MesherHelper.hxx index fe888c750..8c598fb62 100644 --- a/src/SMESH/SMESH_MesherHelper.hxx +++ b/src/SMESH/SMESH_MesherHelper.hxx @@ -30,8 +30,6 @@ #include "SMESH_SMESH.hxx" #include "SMESH_MeshEditor.hxx" // needed for many meshers -#include -#include #include #include @@ -42,8 +40,11 @@ #include #include -class GeomAPI_ProjectPointOnSurf; class GeomAPI_ProjectPointOnCurve; +class GeomAPI_ProjectPointOnSurf; +class SMDS_MeshNode; +class SMESHDS_Hypothesis; +class SMESH_Gen; class SMESH_ProxyMesh; typedef std::map TLinkNodeMap; @@ -248,12 +249,12 @@ public: // constructor SMESH_MesherHelper(SMESH_Mesh& theMesh); - SMESH_Gen* GetGen() const { return GetMesh()->GetGen(); } + SMESH_Gen* GetGen() const; SMESH_Mesh* GetMesh() const { return myMesh; } - SMESHDS_Mesh* GetMeshDS() const { return GetMesh()->GetMeshDS(); } - + SMESHDS_Mesh* GetMeshDS() const; + /*! * Check submesh for given shape: if all elements on this shape are quadratic, * quadratic elements will be created. Also fill myTLinkNodeMap @@ -317,6 +318,11 @@ public: */ const TopoDS_Shape& GetSubShape() const { return myShape; } + /*! + * \brief Convert a shape to its index in the SMESHDS_Mesh + */ + int ShapeToIndex( const TopoDS_Shape& S ) const; + /*! * Creates a node (!Note ID before u=0.,v0.) */ @@ -569,7 +575,7 @@ public: * Seam shape has two 2D alternative represenations on the face */ bool IsSeamShape(const TopoDS_Shape& subShape) const - { return IsSeamShape( GetMeshDS()->ShapeToIndex( subShape )); } + { return IsSeamShape( ShapeToIndex( subShape )); } /*! * \brief Return true if an edge or a vertex encounters twice in face wire * \param subShape - Id of edge or vertex @@ -581,7 +587,7 @@ public: * \param subShape - edge or vertex */ bool IsRealSeam(const TopoDS_Shape& subShape) const - { return IsRealSeam( GetMeshDS()->ShapeToIndex( subShape)); } + { return IsRealSeam( ShapeToIndex( subShape )); } /*! * \brief Check if the shape set through IsQuadraticSubMesh() or SetSubShape() * has a seam edge, i.e. an edge that has two parametric representations @@ -684,6 +690,8 @@ public: virtual ~SMESH_MesherHelper(); + static void WriteShape(const TopoDS_Shape& s); + protected: /*!