X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_TypeDefs.hxx;h=ddca90c8124121670c6c3c31471a3942d4e48bd1;hb=b0797b305a39b4f5aa34a6fb1eab8d83e2ddb3e4;hp=7b4e4b41b3842f7235395da751a26136a4fe5040;hpb=6d32f944a0a115b6419184c50b57bf7c4eef5786;p=modules%2Fsmesh.git diff --git a/src/SMESHUtils/SMESH_TypeDefs.hxx b/src/SMESHUtils/SMESH_TypeDefs.hxx index 7b4e4b41b..ddca90c81 100644 --- a/src/SMESHUtils/SMESH_TypeDefs.hxx +++ b/src/SMESHUtils/SMESH_TypeDefs.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -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(); }