X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_TypeDefs.hxx;h=294a8aece434bd2266671c62a9a3d4c0af4f90cc;hb=ad718f985481e242cb34b54e1b373066b1a5bda3;hp=7b4e4b41b3842f7235395da751a26136a4fe5040;hpb=385d4cede5f752d0eec26c306f3b5e14511e2a3d;p=modules%2Fsmesh.git diff --git a/src/SMESHUtils/SMESH_TypeDefs.hxx b/src/SMESHUtils/SMESH_TypeDefs.hxx index 7b4e4b41b..294a8aece 100644 --- a/src/SMESHUtils/SMESH_TypeDefs.hxx +++ b/src/SMESHUtils/SMESH_TypeDefs.hxx @@ -76,6 +76,7 @@ namespace SMESHUtils TVECTOR v2( vec ); vec.swap( v2 ); } + /*! * \brief Auto pointer */ @@ -91,6 +92,7 @@ namespace SMESHUtils private: Deleter( const Deleter& ); }; + /*! * \brief Auto pointer to array */ @@ -104,6 +106,9 @@ namespace SMESHUtils ArrayDeleter( const ArrayDeleter& ); }; + /*! + * \return SMDS_ElemIteratorPtr on an std container of SMDS_MeshElement's + */ template < class ELEM_SET > SMDS_ElemIteratorPtr elemSetIterator( const ELEM_SET& elements ) { @@ -111,6 +116,24 @@ namespace SMESHUtils < SMDS_pElement, typename ELEM_SET::const_iterator> TSetIterator; return boost::make_shared< TSetIterator >( elements.begin(), elements.end() ); } + + /*! + * \brief Increment enum value + */ + template < typename ENUM > + void Increment( ENUM& v, int delta=1 ) + { + v = ENUM( int(v)+delta ); + } + + /*! + * \brief Return incremented enum value + */ + template < typename ENUM > + ENUM Add( ENUM v, int delta ) + { + return ENUM( int(v)+delta ); + } } //======================================================================= @@ -213,7 +236,7 @@ typedef struct uvPtStruct double x, y; // 2d parameter, normalized [0,1] const SMDS_MeshNode * node; - uvPtStruct(): node(NULL) {} + uvPtStruct(const SMDS_MeshNode* n = 0): node(n) {} inline gp_XY UV() const { return gp_XY( u, v ); } inline void SetUV( const gp_XY& uv ) { u = uv.X(); v = uv.Y(); }