X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_MesherHelper.hxx;h=cf3506fea7af1d83ed6c12f37debde26c5b88622;hb=87a7f0d0495483874b3fb322ffef2866d6bd30c6;hp=a8d7a8e64ecc17e4701a8ab50ae9d05bce8c906d;hpb=7211ec8d0ebb65251f41eeb32b74b1e6e322a875;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_MesherHelper.hxx b/src/SMESH/SMESH_MesherHelper.hxx index a8d7a8e64..cf3506fea 100644 --- a/src/SMESH/SMESH_MesherHelper.hxx +++ b/src/SMESH/SMESH_MesherHelper.hxx @@ -122,7 +122,9 @@ class SMESH_EXPORT SMESH_MesherHelper /*! * \brief Return true if 2D mesh on FACE is distored */ - static bool IsDistorted2D( SMESH_subMesh* faceSM, bool checkUV=false ); + static bool IsDistorted2D( SMESH_subMesh* faceSM, + bool checkUV = false, + SMESH_MesherHelper* faceHelper = NULL); /*! * \brief Returns true if given node is medium @@ -187,7 +189,7 @@ class SMESH_EXPORT SMESH_MesherHelper * \brief Count nb of sub-shapes * \param shape - the shape * \param type - the type of sub-shapes to count - * \param ignoreSame - if true, use map not to count same shapes, esle use explorer + * \param ignoreSame - if true, use map not to count same shapes, else use explorer * \retval int - the calculated number */ static int Count(const TopoDS_Shape& shape, @@ -318,6 +320,12 @@ public: * \brief Return the shape set by IsQuadraticSubMesh() or SetSubShape() */ const TopoDS_Shape& GetSubShape() const { return myShape; } + /*! + * \brief Copy shape information from another helper to improve performance + * since SetSubShape() can be time consuming if there are many edges + */ + void CopySubShapeInfo(const SMESH_MesherHelper& other); + /*! * \brief Convert a shape to its index in the SMESHDS_Mesh @@ -611,6 +619,10 @@ public: * \brief Return an alternative parameter for a node on seam */ double GetOtherParam(const double param) const; + /*! + * \brief Check if UV is on seam. Return 0 if not, 1 for U seam, 2 for V seam + */ + int IsOnSeam(const gp_XY& uv) const; /*! * \brief Return existing or create new medium nodes between given ones @@ -693,6 +705,7 @@ public: static void WriteShape(const TopoDS_Shape& s); + protected: /*! @@ -709,9 +722,10 @@ public: double getFaceMaxTol( const TopoDS_Shape& face ) const; + private: - // Forbiden copy constructor + // forbidden copy constructor SMESH_MesherHelper (const SMESH_MesherHelper& theOther); // key of a map of bi-quadratic face to it's central node