From: eap Date: Wed, 29 Jun 2016 17:53:22 +0000 (+0300) Subject: Regression of BelongToGeom on Debian-6 X-Git-Tag: V8_1_0a1~5 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=386c76ea033aef391a39dfc3b015ed081ed49fd5 Regression of BelongToGeom on Debian-6 (SMESH_Controls* ) - Optimize mesh deletion (ObjectPool.hxx) - Memory leaks (SMESH_Gen_i.cxx) - Usage of uninitialized vars ( SMESHGUI_MeshOp.cxx ) - Minimize nb of #include in headers (the rest files) --- diff --git a/src/Controls/SMESH_Controls.cxx b/src/Controls/SMESH_Controls.cxx index 3e1d2f960..9a8589d92 100644 --- a/src/Controls/SMESH_Controls.cxx +++ b/src/Controls/SMESH_Controls.cxx @@ -3220,7 +3220,7 @@ bool RangeOfIds::SetRangeStr( const TCollection_AsciiString& theStr ) { char c = aStr.Value( i ); if ( !isdigit( c ) && c != ',' && c != '-' ) - aStr.SetValue( i, ' '); + aStr.SetValue( i, ','); } aStr.RemoveAll( ' ' ); @@ -4097,7 +4097,8 @@ namespace { struct ElementsOnShape::Classifier { - //Classifier(const TopoDS_Shape& s, double tol) { Init(s,tol); } + Classifier() { mySolidClfr = 0; myFlags = 0; } + ~Classifier(); void Init(const TopoDS_Shape& s, double tol, const Bnd_B3d* box = 0 ); bool IsOut(const gp_Pnt& p) { return SetChecked( true ), (this->*myIsOutFun)( p ); } TopAbs_ShapeEnum ShapeType() const { return myShape.ShapeType(); } @@ -4108,6 +4109,7 @@ struct ElementsOnShape::Classifier void SetChecked( bool is ) { is ? SetFlag( theIsCheckedFlag ) : UnsetFlag( theIsCheckedFlag ); } void SetFlag ( int flag ) { myFlags |= flag; } void UnsetFlag( int flag ) { myFlags &= ~flag; } + private: bool isOutOfSolid (const gp_Pnt& p); bool isOutOfBox (const gp_Pnt& p); @@ -4116,15 +4118,15 @@ private: bool isOutOfVertex(const gp_Pnt& p); bool isBox (const TopoDS_Shape& s); - bool (Classifier::* myIsOutFun)(const gp_Pnt& p); - BRepClass3d_SolidClassifier mySolidClfr; - Bnd_B3d myBox; - GeomAPI_ProjectPointOnSurf myProjFace; - GeomAPI_ProjectPointOnCurve myProjEdge; - gp_Pnt myVertexXYZ; - TopoDS_Shape myShape; - double myTol; - int myFlags; + bool (Classifier::* myIsOutFun)(const gp_Pnt& p); + BRepClass3d_SolidClassifier* mySolidClfr; // ptr because of a run-time forbidden copy-constructor + Bnd_B3d myBox; + GeomAPI_ProjectPointOnSurf myProjFace; + GeomAPI_ProjectPointOnCurve myProjEdge; + gp_Pnt myVertexXYZ; + TopoDS_Shape myShape; + double myTol; + int myFlags; }; struct ElementsOnShape::OctreeClassifier : public SMESH_Octree @@ -4364,6 +4366,7 @@ void ElementsOnShape::Classifier::Init( const TopoDS_Shape& theShape, { myShape = theShape; myTol = theTol; + myFlags = 0; bool isShapeBox = false; switch ( myShape.ShapeType() ) @@ -4376,7 +4379,7 @@ void ElementsOnShape::Classifier::Init( const TopoDS_Shape& theShape, } else { - mySolidClfr.Load(theShape); + mySolidClfr = new BRepClass3d_SolidClassifier(theShape); myIsOutFun = & ElementsOnShape::Classifier::isOutOfSolid; } break; @@ -4432,10 +4435,15 @@ void ElementsOnShape::Classifier::Init( const TopoDS_Shape& theShape, } } +ElementsOnShape::Classifier::~Classifier() +{ + delete mySolidClfr; mySolidClfr = 0; +} + bool ElementsOnShape::Classifier::isOutOfSolid (const gp_Pnt& p) { - mySolidClfr.Perform( p, myTol ); - return ( mySolidClfr.State() != TopAbs_IN && mySolidClfr.State() != TopAbs_ON ); + mySolidClfr->Perform( p, myTol ); + return ( mySolidClfr->State() != TopAbs_IN && mySolidClfr->State() != TopAbs_ON ); } bool ElementsOnShape::Classifier::isOutOfBox (const gp_Pnt& p) @@ -4524,7 +4532,7 @@ OctreeClassifier::OctreeClassifier( const OctreeClassifier* } else if ( otherTree->myChildren ) { - myChildren = new SMESH_Tree < Bnd_B3d, 8 >*[ 8 ]; + myChildren = new SMESH_Tree< Bnd_B3d, 8 > * [ 8 ]; for ( int i = 0; i < nbChildren(); i++ ) myChildren[i] = new OctreeClassifier( static_cast( otherTree->myChildren[i]), diff --git a/src/Controls/SMESH_ControlsDef.hxx b/src/Controls/SMESH_ControlsDef.hxx index 65ee163dd..97b135048 100644 --- a/src/Controls/SMESH_ControlsDef.hxx +++ b/src/Controls/SMESH_ControlsDef.hxx @@ -25,7 +25,6 @@ #include "SMESH_Controls.hxx" -#include "SMDS_MeshNode.hxx" #include "SMESH_TypeDefs.hxx" #include diff --git a/src/SMDS/ObjectPool.hxx b/src/SMDS/ObjectPool.hxx index 8c357ecc1..5e5f0d289 100644 --- a/src/SMDS/ObjectPool.hxx +++ b/src/SMDS/ObjectPool.hxx @@ -44,6 +44,7 @@ private: int _chunkSize; int _maxOccupied; int _nbHoles; + int _lastDelChunk; int getNextFree() { @@ -84,6 +85,7 @@ public: _nbHoles = 0; _chunkList.clear(); _freeList.clear(); + _lastDelChunk = 0; } virtual ~ObjectPool() @@ -126,27 +128,30 @@ public: void destroy(X* obj) { - long adrobj = (long) (obj); - for (size_t i = 0; i < _chunkList.size(); i++) + size_t i = 0; + if ( obj >= _chunkList[ _lastDelChunk ] && + obj < _chunkList[ _lastDelChunk ] + _chunkSize ) + i = _lastDelChunk; + else + for ( ; i < _chunkList.size(); i++ ) { - X* chunk = _chunkList[i]; - long adrmin = (long) (chunk); - if (adrobj < adrmin) - continue; - long adrmax = (long) (chunk + _chunkSize); - if (adrobj >= adrmax) - continue; - int rank = (adrobj - adrmin) / sizeof(X); - int toFree = i * _chunkSize + rank; - _freeList[toFree] = true; - if (toFree < _nextFree) - _nextFree = toFree; - if (toFree < _maxOccupied) - _nbHoles += 1; - //obj->clean(); - //checkDelete(i); compactage non fait - break; + if ( obj >= _chunkList[ i ] && + obj < _chunkList[ i ] + _chunkSize ) + break; } + X* chunk = _chunkList[i]; + long adrobj = (long) (obj); + long adrmin = (long) (chunk); + int rank = (adrobj - adrmin) / sizeof(X); + int toFree = i * _chunkSize + rank; + _freeList[toFree] = true; + if (toFree < _nextFree) + _nextFree = toFree; + if (toFree < _maxOccupied) + _nbHoles += 1; + _lastDelChunk = i; + //obj->clean(); + //checkDelete(i); compactage non fait } void clear() @@ -155,6 +160,7 @@ public: _maxAvail = 0; _maxOccupied = 0; _nbHoles = 0; + _lastDelChunk = 0; for (size_t i = 0; i < _chunkList.size(); i++) delete[] _chunkList[i]; clearVector( _chunkList ); diff --git a/src/SMESH/SMESH_Algo.cxx b/src/SMESH/SMESH_Algo.cxx index e31bf02d9..84b4dace3 100644 --- a/src/SMESH/SMESH_Algo.cxx +++ b/src/SMESH/SMESH_Algo.cxx @@ -494,10 +494,11 @@ SMESH_Algo::GetCompatibleHypoFilter(const bool ignoreAuxiliary) const */ //================================================================================ -GeomAbs_Shape SMESH_Algo::Continuity(TopoDS_Edge E1, - TopoDS_Edge E2) +GeomAbs_Shape SMESH_Algo::Continuity(const TopoDS_Edge& theE1, + const TopoDS_Edge& theE2) { - //E1.Orientation(TopAbs_FORWARD), E2.Orientation(TopAbs_FORWARD); // avoid pb with internal edges + // avoid pb with internal edges + TopoDS_Edge E1 = theE1, E2 = theE2; if (E1.Orientation() > TopAbs_REVERSED) // INTERNAL E1.Orientation( TopAbs_FORWARD ); if (E2.Orientation() > TopAbs_REVERSED) // INTERNAL diff --git a/src/SMESH/SMESH_Algo.hxx b/src/SMESH/SMESH_Algo.hxx index 8739abaca..cee45b12c 100644 --- a/src/SMESH/SMESH_Algo.hxx +++ b/src/SMESH/SMESH_Algo.hxx @@ -35,8 +35,6 @@ #include "SMESH_ComputeError.hxx" #include "SMESH_Hypothesis.hxx" -#include -#include #include #include @@ -54,6 +52,7 @@ class SMESH_Mesh; class SMESH_MesherHelper; class SMESH_ProxyMesh; class SMESH_subMesh; +class TopoDS_Edge; class TopoDS_Face; class TopoDS_Shape; class TopoDS_Vertex; @@ -349,7 +348,7 @@ public: * \param E2 - the 2nd edge * \retval GeomAbs_Shape - regularity at the junction between E1 and E2 */ - static GeomAbs_Shape Continuity(TopoDS_Edge E1, TopoDS_Edge E2); + static GeomAbs_Shape Continuity(const TopoDS_Edge& E1, const TopoDS_Edge& E2); /*! * \brief Return true if an edge can be considered as a continuation of another diff --git a/src/SMESH/SMESH_Gen.cxx b/src/SMESH/SMESH_Gen.cxx index 84ffb381c..ce860fc5e 100644 --- a/src/SMESH/SMESH_Gen.cxx +++ b/src/SMESH/SMESH_Gen.cxx @@ -35,6 +35,7 @@ #include "SMDS_MeshNode.hxx" #include "SMESHDS_Document.hxx" #include "SMESH_HypoFilter.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_subMesh.hxx" diff --git a/src/SMESH/SMESH_Gen.hxx b/src/SMESH/SMESH_Gen.hxx index 65dc4f347..e047be38f 100644 --- a/src/SMESH/SMESH_Gen.hxx +++ b/src/SMESH/SMESH_Gen.hxx @@ -32,19 +32,22 @@ #include "Utils_SALOME_Exception.hxx" -#include "SMESH_Hypothesis.hxx" -#include "SMESH_ComputeError.hxx" #include "SMESH_Algo.hxx" -#include "SMESH_Mesh.hxx" - -#include +#include "SMESH_ComputeError.hxx" #include #include +#include #include #include +#include + class SMESHDS_Document; +class SMESH_Algo; +class SMESH_Mesh; +class TopoDS_Shape; +class SMESH_subMesh; typedef SMESH_Hypothesis::Hypothesis_Status TAlgoStateErrorName; @@ -141,7 +144,7 @@ public: StudyContextStruct *GetStudyContext(int studyId); static int GetShapeDim(const TopAbs_ShapeEnum & aShapeType); - static int GetShapeDim(const TopoDS_Shape & aShape) + static int GetShapeDim(const TopoDS_Shape & aShape) { return GetShapeDim( aShape.ShapeType() ); } SMESH_Algo* GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, TopoDS_Shape* assignedTo=0); @@ -153,12 +156,6 @@ public: int GetANewId(); - // std::map < int, SMESH_Algo * >_mapAlgo; - // std::map < int, SMESH_0D_Algo * >_map0D_Algo; - // std::map < int, SMESH_1D_Algo * >_map1D_Algo; - // std::map < int, SMESH_2D_Algo * >_map2D_Algo; - // std::map < int, SMESH_3D_Algo * >_map3D_Algo; - private: int _localId; // unique Id of created objects, within SMESH_Gen entity diff --git a/src/SMESH/SMESH_HypoFilter.cxx b/src/SMESH/SMESH_HypoFilter.cxx index f2aeb9a02..73c87fec4 100644 --- a/src/SMESH/SMESH_HypoFilter.cxx +++ b/src/SMESH/SMESH_HypoFilter.cxx @@ -26,8 +26,10 @@ // #include "SMESH_HypoFilter.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen.hxx" #include "SMESH_Hypothesis.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_subMesh.hxx" diff --git a/src/SMESH/SMESH_Hypothesis.cxx b/src/SMESH/SMESH_Hypothesis.cxx index d51ae2a45..2d1e10c16 100644 --- a/src/SMESH/SMESH_Hypothesis.cxx +++ b/src/SMESH/SMESH_Hypothesis.cxx @@ -26,8 +26,12 @@ // Module : SMESH // #include "SMESH_Hypothesis.hxx" + +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_subMesh.hxx" + #include "utilities.h" using namespace std; @@ -121,15 +125,15 @@ void SMESH_Hypothesis::NotifySubMeshesHypothesisModification() for (itm = myStudyContext->mapMesh.begin(); itm != myStudyContext->mapMesh.end(); itm++) - { - SMESH_Mesh* mesh = (*itm).second; - mesh->NotifySubMeshesHypothesisModification( this ); - } + { + SMESH_Mesh* mesh = (*itm).second; + mesh->NotifySubMeshesHypothesisModification( this ); + } } //============================================================================= /*! - * + * */ //============================================================================= diff --git a/src/SMESH/SMESH_Mesh.hxx b/src/SMESH/SMESH_Mesh.hxx index 918e28fb5..da79ce1bf 100644 --- a/src/SMESH/SMESH_Mesh.hxx +++ b/src/SMESH/SMESH_Mesh.hxx @@ -30,11 +30,10 @@ #include "SMESH_SMESH.hxx" #include "SMDSAbs_ElementType.hxx" -#include "SMESHDS_Command.hxx" -#include "SMESHDS_Mesh.hxx" #include "SMESH_ComputeError.hxx" #include "SMESH_Controls.hxx" #include "SMESH_Hypothesis.hxx" +#include "SMDS_Iterator.hxx" #include "Utils_SALOME_Exception.hxx" @@ -51,11 +50,15 @@ #pragma warning(disable:4290) // Warning Exception ... #endif -class SMESH_Gen; +class SMESHDS_Command; class SMESHDS_Document; +class SMESHDS_GroupBase; +class SMESHDS_Hypothesis; +class SMESHDS_Mesh; +class SMESH_Gen; class SMESH_Group; -class SMESH_subMesh; class SMESH_HypoFilter; +class SMESH_subMesh; class TopoDS_Solid; typedef std::list TListOfInt; diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index 0366d4a07..f9eeb5755 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -26,22 +26,21 @@ #include "SMESH_MeshEditor.hxx" -#include "SMDS_FaceOfNodes.hxx" -#include "SMDS_VolumeTool.hxx" +#include "SMDS_Downward.hxx" #include "SMDS_EdgePosition.hxx" +#include "SMDS_FaceOfNodes.hxx" #include "SMDS_FacePosition.hxx" -#include "SMDS_SpacePosition.hxx" -#include "SMDS_MeshGroup.hxx" #include "SMDS_LinearEdge.hxx" -#include "SMDS_Downward.hxx" +#include "SMDS_MeshGroup.hxx" #include "SMDS_SetIterator.hxx" - +#include "SMDS_SpacePosition.hxx" +#include "SMDS_VolumeTool.hxx" #include "SMESHDS_Group.hxx" #include "SMESHDS_Mesh.hxx" - #include "SMESH_Algo.hxx" #include "SMESH_ControlsDef.hxx" #include "SMESH_Group.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MeshAlgos.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_OctreeNode.hxx" @@ -73,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -125,6 +125,18 @@ SMESH_MeshEditor::SMESH_MeshEditor( SMESH_Mesh* theMesh ) { } +//================================================================================ +/*! + * \brief Return mesh DS + */ +//================================================================================ + +SMESHDS_Mesh * SMESH_MeshEditor::GetMeshDS() +{ + return myMesh->GetMeshDS(); +} + + //================================================================================ /*! * \brief Clears myLastCreatedNodes and myLastCreatedElems diff --git a/src/SMESH/SMESH_MeshEditor.hxx b/src/SMESH/SMESH_MeshEditor.hxx index 436e17f72..4e9d0220d 100644 --- a/src/SMESH/SMESH_MeshEditor.hxx +++ b/src/SMESH/SMESH_MeshEditor.hxx @@ -30,9 +30,7 @@ #include "SMESH_SMESH.hxx" -#include "SMDS_MeshElement.hxx" #include "SMESH_Controls.hxx" -#include "SMESH_Mesh.hxx" #include "SMESH_TypeDefs.hxx" #include "SMESH_ComputeError.hxx" @@ -45,13 +43,22 @@ #include #include +class SMDS_MeshElement; class SMDS_MeshFace; class SMDS_MeshNode; -class gp_Ax1; -class gp_Vec; -class gp_Pnt; +class SMESHDS_Mesh; +class SMESHDS_SubMesh; +class SMESH_Group; +class SMESH_Mesh; class SMESH_MesherHelper; class SMESH_NodeSearcher; +class SMESH_subMesh; +class TopoDS_Edge; +class TopoDS_Shape; +class TopoDS_Vertex; +class gp_Ax1; +class gp_Pnt; +class gp_Vec; // ============================================================ /*! @@ -65,8 +72,8 @@ public: SMESH_MeshEditor( SMESH_Mesh* theMesh ); - SMESH_Mesh * GetMesh() { return myMesh; } - SMESHDS_Mesh * GetMeshDS() { return myMesh->GetMeshDS(); } + SMESH_Mesh * GetMesh() { return myMesh; } + SMESHDS_Mesh * GetMeshDS(); const SMESH_SequenceOfElemPtr& GetLastCreatedNodes() const { return myLastCreatedNodes; } const SMESH_SequenceOfElemPtr& GetLastCreatedElems() const { return myLastCreatedElems; } diff --git a/src/SMESH/SMESH_MesherHelper.cxx b/src/SMESH/SMESH_MesherHelper.cxx index 7d8ea6a84..13d072bbb 100644 --- a/src/SMESH/SMESH_MesherHelper.cxx +++ b/src/SMESH/SMESH_MesherHelper.cxx @@ -31,8 +31,10 @@ #include "SMDS_FacePosition.hxx" #include "SMDS_IteratorOnIterators.hxx" #include "SMDS_VolumeTool.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_HypoFilter.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MeshAlgos.hxx" #include "SMESH_ProxyMesh.hxx" #include "SMESH_subMesh.hxx" @@ -113,6 +115,28 @@ SMESH_MesherHelper::~SMESH_MesherHelper() } } +//================================================================================ +/*! + * \brief Return SMESH_Gen + */ +//================================================================================ + +SMESH_Gen* SMESH_MesherHelper::GetGen() const +{ + return GetMesh()->GetGen(); +} + +//================================================================================ +/*! + * \brief Return mesh DS + */ +//================================================================================ + +SMESHDS_Mesh* SMESH_MesherHelper::GetMeshDS() const +{ + return GetMesh()->GetMeshDS(); +} + //======================================================================= //function : IsQuadraticSubMesh //purpose : Check submesh for given shape: if all elements on this shape @@ -347,6 +371,16 @@ void SMESH_MesherHelper::SetSubShape(const TopoDS_Shape& aSh) } } +//======================================================================= +//function : ShapeToIndex +//purpose : Convert a shape to its index in the SMESHDS_Mesh +//======================================================================= + +int SMESH_MesherHelper::ShapeToIndex( const TopoDS_Shape& S ) const +{ + return GetMeshDS()->ShapeToIndex( S ); +} + //======================================================================= //function : GetNodeUVneedInFaceNode //purpose : Check if inFaceNode argument is necessary for call GetNodeUV(F,..) diff --git a/src/SMESH/SMESH_MesherHelper.hxx b/src/SMESH/SMESH_MesherHelper.hxx index 834cd8e87..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 diff --git a/src/SMESH/SMESH_ProxyMesh.cxx b/src/SMESH/SMESH_ProxyMesh.cxx index 0b4522d4a..828b77d1e 100644 --- a/src/SMESH/SMESH_ProxyMesh.cxx +++ b/src/SMESH/SMESH_ProxyMesh.cxx @@ -24,6 +24,8 @@ #include "SMDS_IteratorOnIterators.hxx" #include "SMDS_SetIterator.hxx" +#include "SMESHDS_Mesh.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MesherHelper.hxx" #include @@ -99,7 +101,7 @@ SMESH_ProxyMesh::SMESH_ProxyMesh(std::vector& components): SMESH_ProxyMesh::~SMESH_ProxyMesh() { - for ( unsigned i = 0; i < _subMeshes.size(); ++i ) + for ( size_t i = 0; i < _subMeshes.size(); ++i ) delete _subMeshes[i]; _subMeshes.clear(); diff --git a/src/SMESH/SMESH_ProxyMesh.hxx b/src/SMESH/SMESH_ProxyMesh.hxx index 7ab2b4484..16513a8eb 100644 --- a/src/SMESH/SMESH_ProxyMesh.hxx +++ b/src/SMESH/SMESH_ProxyMesh.hxx @@ -26,7 +26,6 @@ #include "SMESH_SMESH.hxx" -#include "SMDS_MeshElement.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_TypeDefs.hxx" @@ -37,6 +36,7 @@ #include class SMDS_MeshNode; +class SMDS_MeshElement; class SMESHDS_Mesh; class SMESH_Mesh; diff --git a/src/SMESH/SMESH_subMesh.cxx b/src/SMESH/SMESH_subMesh.cxx index 19931be61..5bb8a34b3 100644 --- a/src/SMESH/SMESH_subMesh.cxx +++ b/src/SMESH/SMESH_subMesh.cxx @@ -27,16 +27,16 @@ #include "SMESH_subMesh.hxx" +#include "SMDS_SetIterator.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Algo.hxx" +#include "SMESH_Comment.hxx" #include "SMESH_Gen.hxx" #include "SMESH_HypoFilter.hxx" #include "SMESH_Hypothesis.hxx" #include "SMESH_Mesh.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_subMeshEventListener.hxx" -#include "SMESH_Comment.hxx" -#include "SMDS_SetIterator.hxx" -#include "SMDSAbs_ElementType.hxx" #include diff --git a/src/SMESH/SMESH_subMesh.hxx b/src/SMESH/SMESH_subMesh.hxx index 8de40d222..05890e8ce 100644 --- a/src/SMESH/SMESH_subMesh.hxx +++ b/src/SMESH/SMESH_subMesh.hxx @@ -29,9 +29,7 @@ #include "SMESH_SMESH.hxx" -#include "SMESHDS_Mesh.hxx" -#include "SMESHDS_SubMesh.hxx" -#include "SMESH_Hypothesis.hxx" +#include "SMDS_Iterator.hxx" #include "SMESH_ComputeError.hxx" #include "SMESH_Algo.hxx" @@ -42,13 +40,15 @@ #include #include -class SMESH_Mesh; -class SMESH_Hypothesis; +class SMESHDS_Mesh; +class SMESHDS_SubMesh; class SMESH_Algo; class SMESH_Gen; +class SMESH_Hypothesis; +class SMESH_Mesh; +class SMESH_subMesh; class SMESH_subMeshEventListener; class SMESH_subMeshEventListenerData; -class SMESH_subMesh; typedef SMESH_subMeshEventListener EventListener; typedef SMESH_subMeshEventListenerData EventListenerData; diff --git a/src/SMESHClient/SMESH_Client.cxx b/src/SMESHClient/SMESH_Client.cxx index 5fa6bc833..f556f1a92 100644 --- a/src/SMESHClient/SMESH_Client.cxx +++ b/src/SMESHClient/SMESH_Client.cxx @@ -24,8 +24,10 @@ // Module : SMESH #include "SMESH_Client.hxx" -#include "SMESH_Mesh.hxx" + +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_Script.hxx" +#include "SMESH_Mesh.hxx" #include "SALOME_NamingService.hxx" #include "SALOME_LifeCycleCORBA.hxx" diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.cxx b/src/SMESHGUI/SMESHGUI_MeshOp.cxx index b6c534369..30949d462 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshOp.cxx @@ -200,6 +200,8 @@ bool SMESHGUI_MeshOp::onApply() //================================================================================ void SMESHGUI_MeshOp::startOperation() { + myIgnoreAlgoSelection = false; + if (!myDlg) { myDlg = new SMESHGUI_MeshDlg( myToCreate, myIsMesh ); @@ -260,7 +262,6 @@ void SMESHGUI_MeshOp::startOperation() myDlg->setGeomPopupEnabled(false); selectionDone(); - myIgnoreAlgoSelection = false; myHasConcurrentSubBefore = false; myObjectToSelect.clear(); @@ -2172,6 +2173,7 @@ SMESH::SMESH_Hypothesis_var SMESHGUI_MeshOp::getAlgo( const int theDim ) SMESH::CreateHypothesis(aHypName, aHypName, true); aHyp.out(); } + delete aCreator; } QStringList tmpList; _PTR(SComponent) aFather = SMESH::GetActiveStudyDocument()->FindComponent( "SMESH" ); diff --git a/src/SMESH_I/SMESH_Gen_i.cxx b/src/SMESH_I/SMESH_Gen_i.cxx index 5e2316415..757e3977f 100644 --- a/src/SMESH_I/SMESH_Gen_i.cxx +++ b/src/SMESH_I/SMESH_Gen_i.cxx @@ -960,9 +960,9 @@ void SMESH_Gen_i::SetOption(const char* name, const char* value) if ( str.at(i*2) >= '0' && str.at(i*2) <= 'f' && str.at(i*2+1) >= '0' && str.at(i*2+1) <= 'f' ) color.push_back( strtol( str.substr( i*2, 2 ).c_str(), NULL, 16 ) ); } - else { // rgb color ("255,170,0", for example) - char* tempValue = strdup( value ); - char* colorValue = strtok( tempValue, "," ); + else if ( value ) { // rgb color ("255,170,0", for example) + string tempValue( value ); + char* colorValue = strtok( &tempValue[0], "," ); while ( colorValue != NULL ) { int c_value = atoi( colorValue ); if ( c_value >= 0 && c_value <= 255 ) diff --git a/src/SMESH_I/SMESH_Gen_i_1.cxx b/src/SMESH_I/SMESH_Gen_i_1.cxx index af12566d8..346150a0b 100644 --- a/src/SMESH_I/SMESH_Gen_i_1.cxx +++ b/src/SMESH_I/SMESH_Gen_i_1.cxx @@ -26,6 +26,7 @@ #include "SMESH_Gen_i.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Algo_i.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Group_i.hxx" diff --git a/src/SMESH_I/SMESH_Group_i.cxx b/src/SMESH_I/SMESH_Group_i.cxx index 84e405e9b..7df1384ca 100644 --- a/src/SMESH_I/SMESH_Group_i.cxx +++ b/src/SMESH_I/SMESH_Group_i.cxx @@ -27,10 +27,10 @@ // #include "SMESH_Group_i.hxx" -#include "SMDSAbs_ElementType.hxx" #include "SMESHDS_Group.hxx" #include "SMESHDS_GroupOnFilter.hxx" #include "SMESHDS_GroupOnGeom.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Filter_i.hxx" #include "SMESH_Gen_i.hxx" diff --git a/src/SMESH_I/SMESH_Mesh_i.hxx b/src/SMESH_I/SMESH_Mesh_i.hxx index 7efa6ea54..8aaa79bae 100644 --- a/src/SMESH_I/SMESH_Mesh_i.hxx +++ b/src/SMESH_I/SMESH_Mesh_i.hxx @@ -31,6 +31,7 @@ #include "SMESH_Hypothesis.hxx" #include "SMESH_Mesh.hxx" #include "SMESH_subMesh.hxx" +#include "SMDS_ElemIterator.hxx" #include #include diff --git a/src/SMESH_I/SMESH_Pattern_i.cxx b/src/SMESH_I/SMESH_Pattern_i.cxx index 653fdea4e..ca5bcd0d2 100644 --- a/src/SMESH_I/SMESH_Pattern_i.cxx +++ b/src/SMESH_I/SMESH_Pattern_i.cxx @@ -27,13 +27,13 @@ // #include "SMESH_Pattern_i.hxx" -#include "GEOM_Client.hxx" +#include "SMDS_MeshFace.hxx" +#include "SMDS_MeshVolume.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen_i.hxx" #include "SMESH_Mesh.hxx" #include "SMESH_Mesh_i.hxx" #include "SMESH_PythonDump.hxx" -#include "SMDS_MeshFace.hxx" -#include "SMDS_MeshVolume.hxx" #include #include diff --git a/src/SMESH_I/SMESH_PreMeshInfo.cxx b/src/SMESH_I/SMESH_PreMeshInfo.cxx index 56a096df1..3d8980ff9 100644 --- a/src/SMESH_I/SMESH_PreMeshInfo.cxx +++ b/src/SMESH_I/SMESH_PreMeshInfo.cxx @@ -35,6 +35,7 @@ #include "SMDS_VertexPosition.hxx" #include "SMESHDS_Group.hxx" #include "SMESHDS_GroupOnFilter.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen_i.hxx" #include "SMESH_Group_i.hxx" #include "SMESH_Mesh_i.hxx" diff --git a/src/SMESH_I/SMESH_subMesh_i.cxx b/src/SMESH_I/SMESH_subMesh_i.cxx index a660013ed..9328f4b77 100644 --- a/src/SMESH_I/SMESH_subMesh_i.cxx +++ b/src/SMESH_I/SMESH_subMesh_i.cxx @@ -26,10 +26,12 @@ // Module : SMESH // #include "SMESH_subMesh_i.hxx" + +#include "SMESHDS_SubMesh.hxx" #include "SMESH_Gen_i.hxx" #include "SMESH_Mesh_i.hxx" -#include "SMESH_PreMeshInfo.hxx" #include "SMESH_MesherHelper.hxx" +#include "SMESH_PreMeshInfo.hxx" #include "Utils_CorbaException.hxx" #include "utilities.h" diff --git a/src/StdMeshers/StdMeshers_Adaptive1D.cxx b/src/StdMeshers/StdMeshers_Adaptive1D.cxx index bd3274d22..ba2e031ac 100644 --- a/src/StdMeshers/StdMeshers_Adaptive1D.cxx +++ b/src/StdMeshers/StdMeshers_Adaptive1D.cxx @@ -24,12 +24,13 @@ // #include "StdMeshers_Adaptive1D.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen.hxx" +#include "SMESH_HypoFilter.hxx" #include "SMESH_Mesh.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_Octree.hxx" #include "SMESH_subMesh.hxx" -#include "SMESH_HypoFilter.hxx" #include diff --git a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx index fb5dc152d..70fe2368d 100644 --- a/src/StdMeshers/StdMeshers_Cartesian_3D.cxx +++ b/src/StdMeshers/StdMeshers_Cartesian_3D.cxx @@ -25,6 +25,7 @@ #include "StdMeshers_Cartesian_3D.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Mesh.hxx" @@ -73,6 +74,7 @@ #include #include #include +#include #include #include #include diff --git a/src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx b/src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx index cb0512d1f..d80d072a9 100644 --- a/src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx +++ b/src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx @@ -28,6 +28,8 @@ #include "SMDS_Mesh.hxx" #include "SMDS_MeshNode.hxx" #include "SMDS_SetIterator.hxx" +#include "SMESHDS_Mesh.hxx" +#include "SMESHDS_SubMesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_Comment.hxx" #include "SMESH_ComputeError.hxx" diff --git a/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx b/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx index c1b2dc017..3d04f7aac 100644 --- a/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx +++ b/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx @@ -28,6 +28,7 @@ #include "SMDS_MeshElement.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Gen.hxx" #include "SMESH_HypoFilter.hxx" diff --git a/src/StdMeshers/StdMeshers_HexaFromSkin_3D.cxx b/src/StdMeshers/StdMeshers_HexaFromSkin_3D.cxx index 24000a8c3..52ed47d01 100644 --- a/src/StdMeshers/StdMeshers_HexaFromSkin_3D.cxx +++ b/src/StdMeshers/StdMeshers_HexaFromSkin_3D.cxx @@ -25,7 +25,9 @@ #include "SMDS_VolumeOfNodes.hxx" #include "SMDS_VolumeTool.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Block.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MeshAlgos.hxx" #include "SMESH_MesherHelper.hxx" diff --git a/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx b/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx index 7537f7aeb..7ae149535 100644 --- a/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx +++ b/src/StdMeshers/StdMeshers_MEFISTO_2D.cxx @@ -31,6 +31,7 @@ #include "SMDS_EdgePosition.hxx" #include "SMDS_MeshElement.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Gen.hxx" #include "SMESH_Mesh.hxx" diff --git a/src/StdMeshers/StdMeshers_MaxElementArea.cxx b/src/StdMeshers/StdMeshers_MaxElementArea.cxx index 2cbb8f469..513536da1 100644 --- a/src/StdMeshers/StdMeshers_MaxElementArea.cxx +++ b/src/StdMeshers/StdMeshers_MaxElementArea.cxx @@ -28,9 +28,11 @@ // #include "StdMeshers_MaxElementArea.hxx" -#include "SMESH_ControlsDef.hxx" #include "SMDS_MeshElement.hxx" +#include "SMESHDS_Mesh.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" +#include "SMESH_ControlsDef.hxx" #include "SMESH_Mesh.hxx" #include diff --git a/src/StdMeshers/StdMeshers_MaxElementVolume.cxx b/src/StdMeshers/StdMeshers_MaxElementVolume.cxx index e33628746..4839f9b21 100644 --- a/src/StdMeshers/StdMeshers_MaxElementVolume.cxx +++ b/src/StdMeshers/StdMeshers_MaxElementVolume.cxx @@ -29,6 +29,7 @@ #include "StdMeshers_MaxElementVolume.hxx" #include "SMDS_MeshElement.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_ControlsDef.hxx" #include "SMESH_Mesh.hxx" diff --git a/src/StdMeshers/StdMeshers_NumberOfSegments.cxx b/src/StdMeshers/StdMeshers_NumberOfSegments.cxx index 675bbad03..2ff7274fc 100644 --- a/src/StdMeshers/StdMeshers_NumberOfSegments.cxx +++ b/src/StdMeshers/StdMeshers_NumberOfSegments.cxx @@ -28,10 +28,11 @@ // #include "StdMeshers_NumberOfSegments.hxx" -#include "StdMeshers_Distribution.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" -#include "SMESH_Mesh.hxx" #include "SMESH_Comment.hxx" +#include "SMESH_Mesh.hxx" +#include "StdMeshers_Distribution.hxx" #include #include diff --git a/src/StdMeshers/StdMeshers_Penta_3D.cxx b/src/StdMeshers/StdMeshers_Penta_3D.cxx index 6b4ca9b05..413ec1f7e 100644 --- a/src/StdMeshers/StdMeshers_Penta_3D.cxx +++ b/src/StdMeshers/StdMeshers_Penta_3D.cxx @@ -33,6 +33,7 @@ #include "SMDS_MeshElement.hxx" #include "SMDS_VolumeOfNodes.hxx" #include "SMDS_VolumeTool.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Mesh.hxx" diff --git a/src/StdMeshers/StdMeshers_ProjectionSource3D.cxx b/src/StdMeshers/StdMeshers_ProjectionSource3D.cxx index 394c16b79..0fdfad774 100644 --- a/src/StdMeshers/StdMeshers_ProjectionSource3D.cxx +++ b/src/StdMeshers/StdMeshers_ProjectionSource3D.cxx @@ -29,6 +29,7 @@ #include "utilities.h" #include "SMESH_Gen.hxx" +#include "SMESH_Mesh.hxx" #include diff --git a/src/StdMeshers/StdMeshers_ProjectionUtils.cxx b/src/StdMeshers/StdMeshers_ProjectionUtils.cxx index 794aa889d..d81ade633 100644 --- a/src/StdMeshers/StdMeshers_ProjectionUtils.cxx +++ b/src/StdMeshers/StdMeshers_ProjectionUtils.cxx @@ -27,21 +27,21 @@ // #include "StdMeshers_ProjectionUtils.hxx" -#include "StdMeshers_ProjectionSource1D.hxx" -#include "StdMeshers_ProjectionSource2D.hxx" -#include "StdMeshers_ProjectionSource3D.hxx" - #include "SMDS_EdgePosition.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Algo.hxx" #include "SMESH_Block.hxx" #include "SMESH_Gen.hxx" #include "SMESH_HypoFilter.hxx" #include "SMESH_Hypothesis.hxx" #include "SMESH_Mesh.hxx" +#include "SMESH_MeshAlgos.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_subMesh.hxx" #include "SMESH_subMeshEventListener.hxx" -#include "SMESH_MeshAlgos.hxx" +#include "StdMeshers_ProjectionSource1D.hxx" +#include "StdMeshers_ProjectionSource2D.hxx" +#include "StdMeshers_ProjectionSource3D.hxx" #include "utilities.h" diff --git a/src/StdMeshers/StdMeshers_Projection_1D2D.cxx b/src/StdMeshers/StdMeshers_Projection_1D2D.cxx index 6654ac082..523043c6a 100644 --- a/src/StdMeshers/StdMeshers_Projection_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_Projection_1D2D.cxx @@ -25,7 +25,9 @@ // #include "StdMeshers_Projection_1D2D.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MesherHelper.hxx" #include "SMESH_subMesh.hxx" #include "SMESH_subMeshEventListener.hxx" diff --git a/src/StdMeshers/StdMeshers_Projection_2D.cxx b/src/StdMeshers/StdMeshers_Projection_2D.cxx index 0e7d3ff20..b44115663 100644 --- a/src/StdMeshers/StdMeshers_Projection_2D.cxx +++ b/src/StdMeshers/StdMeshers_Projection_2D.cxx @@ -35,6 +35,7 @@ #include "SMDS_EdgePosition.hxx" #include "SMDS_FacePosition.hxx" #include "SMESHDS_Hypothesis.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_Comment.hxx" diff --git a/src/StdMeshers/StdMeshers_Projection_3D.cxx b/src/StdMeshers/StdMeshers_Projection_3D.cxx index 9f07547b9..040b2efc4 100644 --- a/src/StdMeshers/StdMeshers_Projection_3D.cxx +++ b/src/StdMeshers/StdMeshers_Projection_3D.cxx @@ -34,6 +34,7 @@ #include "SMDS_PolyhedralVolumeOfNodes.hxx" #include "SMDS_VolumeTool.hxx" #include "SMESHDS_Hypothesis.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_Comment.hxx" diff --git a/src/StdMeshers/StdMeshers_QuadFromMedialAxis_1D2D.cxx b/src/StdMeshers/StdMeshers_QuadFromMedialAxis_1D2D.cxx index fb0749452..86b8b7376 100644 --- a/src/StdMeshers/StdMeshers_QuadFromMedialAxis_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_QuadFromMedialAxis_1D2D.cxx @@ -25,6 +25,7 @@ #include "StdMeshers_QuadFromMedialAxis_1D2D.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_Gen.hxx" #include "SMESH_MAT2d.hxx" diff --git a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx index 74960efbb..47fffaeb2 100644 --- a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx +++ b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx @@ -27,8 +27,10 @@ #include "SMDS_IteratorOnIterators.hxx" #include "SMDS_SetIterator.hxx" #include "SMESHDS_GroupBase.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Algo.hxx" #include "SMESH_Group.hxx" +#include "SMESH_Mesh.hxx" #include "SMESH_MeshAlgos.hxx" #include "SMESH_MesherHelper.hxx" diff --git a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx index fc25bf7bb..2be343242 100644 --- a/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx +++ b/src/StdMeshers/StdMeshers_Quadrangle_2D.cxx @@ -30,6 +30,7 @@ #include "SMDS_FacePosition.hxx" #include "SMDS_MeshElement.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Block.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Gen.hxx" diff --git a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx index c23627d85..526d1ec35 100644 --- a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx @@ -29,6 +29,7 @@ #include "StdMeshers_NumberOfSegments.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESHDS_SubMesh.hxx" #include "SMESH_Gen.hxx" #include "SMESH_HypoFilter.hxx" diff --git a/src/StdMeshers/StdMeshers_Regular_1D.cxx b/src/StdMeshers/StdMeshers_Regular_1D.cxx index 973f11384..4b0f11e21 100644 --- a/src/StdMeshers/StdMeshers_Regular_1D.cxx +++ b/src/StdMeshers/StdMeshers_Regular_1D.cxx @@ -29,6 +29,7 @@ #include "SMDS_MeshElement.hxx" #include "SMDS_MeshNode.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Comment.hxx" #include "SMESH_Gen.hxx" #include "SMESH_HypoFilter.hxx" @@ -37,8 +38,8 @@ #include "SMESH_subMeshEventListener.hxx" #include "StdMeshers_Adaptive1D.hxx" #include "StdMeshers_Arithmetic1D.hxx" -#include "StdMeshers_Geometric1D.hxx" #include "StdMeshers_AutomaticLength.hxx" +#include "StdMeshers_Geometric1D.hxx" #include "StdMeshers_Deflection1D.hxx" #include "StdMeshers_Distribution.hxx" #include "StdMeshers_FixedPoints1D.hxx" diff --git a/src/StdMeshers/StdMeshers_Regular_1D.hxx b/src/StdMeshers/StdMeshers_Regular_1D.hxx index dc773dacc..7786f4ac7 100644 --- a/src/StdMeshers/StdMeshers_Regular_1D.hxx +++ b/src/StdMeshers/StdMeshers_Regular_1D.hxx @@ -33,6 +33,8 @@ #include "SMESH_Algo.hxx" +#include + class Adaptor3d_Curve; class StdMeshers_Adaptive1D; class StdMeshers_FixedPoints1D; diff --git a/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.cxx b/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.cxx index ada894616..f938d2829 100644 --- a/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.cxx +++ b/src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.cxx @@ -28,6 +28,8 @@ // #include "StdMeshers_SegmentAroundVertex_0D.hxx" +#include + //======================================================================= //function : StdMeshers_SegmentAroundVertex_0D //purpose : diff --git a/src/StdMeshers/StdMeshers_ViscousLayers.cxx b/src/StdMeshers/StdMeshers_ViscousLayers.cxx index 9ee7df1c9..27afe5d02 100644 --- a/src/StdMeshers/StdMeshers_ViscousLayers.cxx +++ b/src/StdMeshers/StdMeshers_ViscousLayers.cxx @@ -30,6 +30,7 @@ #include "SMDS_SetIterator.hxx" #include "SMESHDS_Group.hxx" #include "SMESHDS_Hypothesis.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Algo.hxx" #include "SMESH_ComputeError.hxx" #include "SMESH_ControlsDef.hxx" diff --git a/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx b/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx index cd91c7391..32cf255ec 100644 --- a/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx +++ b/src/StdMeshers/StdMeshers_ViscousLayers2D.cxx @@ -30,6 +30,7 @@ #include "SMDS_SetIterator.hxx" #include "SMESHDS_Group.hxx" #include "SMESHDS_Hypothesis.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Algo.hxx" #include "SMESH_ComputeError.hxx" #include "SMESH_ControlsDef.hxx"