fix "Clear mesh data"

This commit is contained in:
eap 2008-10-16 07:33:07 +00:00
parent ecf5c3827e
commit f65b4d8617
2 changed files with 7 additions and 1 deletions

View File

@ -1928,7 +1928,7 @@ void SMDS_Mesh::Clear()
while(itc!=myChildren.end()) while(itc!=myChildren.end())
(*itc)->Clear(); (*itc)->Clear();
myInfo = SMDS_MeshInfo(); myInfo.Clear();
} }
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////

View File

@ -5,6 +5,8 @@
#ifndef SMDS_MeshInfo_HeaderFile #ifndef SMDS_MeshInfo_HeaderFile
#define SMDS_MeshInfo_HeaderFile #define SMDS_MeshInfo_HeaderFile
using namespace std;
#include "SMESH_SMDS.hxx" #include "SMESH_SMDS.hxx"
#include "SMDS_MeshElement.hxx" #include "SMDS_MeshElement.hxx"
@ -14,6 +16,7 @@ class SMDS_EXPORT SMDS_MeshInfo
public: public:
inline SMDS_MeshInfo(); inline SMDS_MeshInfo();
inline void Clear();
int NbNodes() const { return myNbNodes; } int NbNodes() const { return myNbNodes; }
@ -123,6 +126,9 @@ inline SMDS_MeshInfo::SMDS_MeshInfo():
myNb[ index( SMDSAbs_Volume, 15)] = & myNbQuadPrisms; myNb[ index( SMDSAbs_Volume, 15)] = & myNbQuadPrisms;
myNb[ index( SMDSAbs_Volume, 20)] = & myNbQuadHexas; myNb[ index( SMDSAbs_Volume, 20)] = & myNbQuadHexas;
} }
inline void // Clear
SMDS_MeshInfo::Clear()
{ for ( int i=0; i<myNb.size(); ++i ) if ( myNb[i] ) (*myNb[i])=0; }
inline int // index inline int // index
SMDS_MeshInfo::index(SMDSAbs_ElementType type, int nbNodes) SMDS_MeshInfo::index(SMDSAbs_ElementType type, int nbNodes)