Salome HOME
Regression of BelongToGeom on Debian-6
authoreap <eap@opencascade.com>
Wed, 29 Jun 2016 17:53:22 +0000 (20:53 +0300)
committereap <eap@opencascade.com>
Wed, 29 Jun 2016 17:53:22 +0000 (20:53 +0300)
  (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)

51 files changed:
src/Controls/SMESH_Controls.cxx
src/Controls/SMESH_ControlsDef.hxx
src/SMDS/ObjectPool.hxx
src/SMESH/SMESH_Algo.cxx
src/SMESH/SMESH_Algo.hxx
src/SMESH/SMESH_Gen.cxx
src/SMESH/SMESH_Gen.hxx
src/SMESH/SMESH_HypoFilter.cxx
src/SMESH/SMESH_Hypothesis.cxx
src/SMESH/SMESH_Mesh.hxx
src/SMESH/SMESH_MeshEditor.cxx
src/SMESH/SMESH_MeshEditor.hxx
src/SMESH/SMESH_MesherHelper.cxx
src/SMESH/SMESH_MesherHelper.hxx
src/SMESH/SMESH_ProxyMesh.cxx
src/SMESH/SMESH_ProxyMesh.hxx
src/SMESH/SMESH_subMesh.cxx
src/SMESH/SMESH_subMesh.hxx
src/SMESHClient/SMESH_Client.cxx
src/SMESHGUI/SMESHGUI_MeshOp.cxx
src/SMESH_I/SMESH_Gen_i.cxx
src/SMESH_I/SMESH_Gen_i_1.cxx
src/SMESH_I/SMESH_Group_i.cxx
src/SMESH_I/SMESH_Mesh_i.hxx
src/SMESH_I/SMESH_Pattern_i.cxx
src/SMESH_I/SMESH_PreMeshInfo.cxx
src/SMESH_I/SMESH_subMesh_i.cxx
src/StdMeshers/StdMeshers_Adaptive1D.cxx
src/StdMeshers/StdMeshers_Cartesian_3D.cxx
src/StdMeshers/StdMeshers_CompositeHexa_3D.cxx
src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx
src/StdMeshers/StdMeshers_HexaFromSkin_3D.cxx
src/StdMeshers/StdMeshers_MEFISTO_2D.cxx
src/StdMeshers/StdMeshers_MaxElementArea.cxx
src/StdMeshers/StdMeshers_MaxElementVolume.cxx
src/StdMeshers/StdMeshers_NumberOfSegments.cxx
src/StdMeshers/StdMeshers_Penta_3D.cxx
src/StdMeshers/StdMeshers_ProjectionSource3D.cxx
src/StdMeshers/StdMeshers_ProjectionUtils.cxx
src/StdMeshers/StdMeshers_Projection_1D2D.cxx
src/StdMeshers/StdMeshers_Projection_2D.cxx
src/StdMeshers/StdMeshers_Projection_3D.cxx
src/StdMeshers/StdMeshers_QuadFromMedialAxis_1D2D.cxx
src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx
src/StdMeshers/StdMeshers_Quadrangle_2D.cxx
src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx
src/StdMeshers/StdMeshers_Regular_1D.cxx
src/StdMeshers/StdMeshers_Regular_1D.hxx
src/StdMeshers/StdMeshers_SegmentAroundVertex_0D.cxx
src/StdMeshers/StdMeshers_ViscousLayers.cxx
src/StdMeshers/StdMeshers_ViscousLayers2D.cxx

index 3e1d2f960608365755b8db2d92cb169a75019490..9a8589d9251f3b39c29ebc533cbe55b06a259901 100644 (file)
@@ -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<const OctreeClassifier*>( otherTree->myChildren[i]),
index 65ee163dd38be26b2d7cb315d39675d07270551f..97b1350482f99aa42ac40580917f7fca88f0eedd 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "SMESH_Controls.hxx"
 
-#include "SMDS_MeshNode.hxx"
 #include "SMESH_TypeDefs.hxx"
 
 #include <BRepClass3d_SolidClassifier.hxx>
index 8c357ecc1068b36b14a08db695b14d61385fca0e..5e5f0d289d275eff3d2c3d10a6b99d80b88d400d 100644 (file)
@@ -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 );
index e31bf02d9ee800e26adf002705c08c46f7399ac4..84b4dace3fba1765001082bc041d5b5c140ba7ca 100644 (file)
@@ -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
index 8739abaca6f510d788e3823698cf6aabe6fee069..cee45b12ce3693e1ede31b0cc09ea790b9a764fb 100644 (file)
@@ -35,8 +35,6 @@
 #include "SMESH_ComputeError.hxx"
 #include "SMESH_Hypothesis.hxx"
 
-#include <TopoDS_Shape.hxx>
-#include <TopoDS_Edge.hxx>
 #include <GeomAbs_Shape.hxx>
 
 #include <string>
@@ -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
index 84ffb381c138695efe739e5f4820f685fa80894b..ce860fc5eac101ae570d6d3d9e857b0be3b54326 100644 (file)
@@ -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"
 
index 65dc4f347062e19cecbbafde1e067c1e27309f55..e047be38f346dedefc356bd3517b84588a82eb57 100644 (file)
 
 #include "Utils_SALOME_Exception.hxx"
 
-#include "SMESH_Hypothesis.hxx"
-#include "SMESH_ComputeError.hxx"
 #include "SMESH_Algo.hxx"
-#include "SMESH_Mesh.hxx"
-
-#include <TopoDS_Shape.hxx>
+#include "SMESH_ComputeError.hxx"
 
 #include <map>
 #include <list>
+#include <set>
 #include <vector>
 #include <string>
 
+#include <TopoDS_Shape.hxx>
+
 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
index f2aeb9a024a99b62ede198f57754bdd33cd6d17e..73c87fec48cb2582cf60b8704bf9126d3b443754 100644 (file)
 //
 #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"
 
index d51ae2a45cef0c9e50cc1e8eba60ac4a06133810..2d1e10c165906c40776ccded4f72a2fcf5e6eb45 100644 (file)
 //  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 );
+  }
 }
 
 //=============================================================================
 /*!
- * 
+ *
  */
 //=============================================================================
 
index 918e28fb5081cf8d5c5b479a654c22be8d8f6b9c..da79ce1bfc378fa9ac53c3739e249844aa0ea682 100644 (file)
 #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"
 
 #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<int> TListOfInt;
index 0366d4a079535be17bab70c0a4ec92f6dcdac268..f9eeb5755b97bf692bab72bc5807df54366d8108 100644 (file)
 
 #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 <TopTools_ListOfShape.hxx>
 #include <TopTools_SequenceOfShape.hxx>
 #include <TopoDS.hxx>
+#include <TopoDS_Edge.hxx>
 #include <TopoDS_Face.hxx>
 #include <TopoDS_Solid.hxx>
 #include <gp.hxx>
@@ -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
index 436e17f72b491707e361180b53dc35c481449536..4e9d0220d7940726dbb371cf797fc4e2247faac5 100644 (file)
@@ -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"
 
 #include <map>
 #include <set>
 
+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; }
index 7d8ea6a84c7fe31142cc4d7b47558da1ec0b94d8..13d072bbb5a376bc35a75453d680c75e31b536d0 100644 (file)
 #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,..)
index 834cd8e8725e0e3acbb2470a53771d77e548f5cb..8c598fb62ffeecdb5b0bd14619d60fa9f422ad15 100644 (file)
@@ -30,8 +30,6 @@
 #include "SMESH_SMESH.hxx"
 
 #include "SMESH_MeshEditor.hxx" // needed for many meshers
-#include <SMDS_MeshNode.hxx>
-#include <SMDS_QuadraticEdge.hxx>
 
 #include <Geom_Surface.hxx>
 #include <ShapeAnalysis_Surface.hxx>
 #include <map>
 #include <vector>
 
-class GeomAPI_ProjectPointOnSurf;
 class GeomAPI_ProjectPointOnCurve;
+class GeomAPI_ProjectPointOnSurf;
+class SMDS_MeshNode;
+class SMESHDS_Hypothesis;
+class SMESH_Gen;
 class SMESH_ProxyMesh;
 
 typedef std::map<SMESH_TLink, const SMDS_MeshNode*>           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
index 0b4522d4aec6ea1522f3b00fc938e1eb0d7ebadb..828b77d1ef3a00ac58555dc807fd1844af43867a 100644 (file)
@@ -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 <TopTools_ListIteratorOfListOfShape.hxx>
@@ -99,7 +101,7 @@ SMESH_ProxyMesh::SMESH_ProxyMesh(std::vector<SMESH_ProxyMesh::Ptr>& 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();
 
index 7ab2b4484ad1380984039dd629f4407862e59163..16513a8eb23273340349bf01d43905e659616d97 100644 (file)
@@ -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 <boost/shared_ptr.hpp>
 
 class SMDS_MeshNode;
+class SMDS_MeshElement;
 class SMESHDS_Mesh;
 class SMESH_Mesh;
 
index 19931be61ed4c7c2eb0ea6772d6c88226651f273..5bb8a34b38ee33a051faa7636d8ab1e23c0c4c52 100644 (file)
 
 #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 <Basics_OCCTVersion.hxx>
 
index 8de40d2225c70f6e1201a16f47799e94fec9850a..05890e8cef1ac776e7bab1caee33890127abb1ef 100644 (file)
@@ -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"
 
 #include <list>
 #include <map>
 
-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;
index 5fa6bc833185c7fb4648c6600eca64a823254178..f556f1a9245d175477f2d6f2900fc7597f3d4f8b 100644 (file)
 //  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"
index b6c53436919659381b67d54b348281e1d3c4cec3..30949d4621ed93a96aa2e8a3351605bd6718d00c 100644 (file)
@@ -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" );
index 5e2316415e5ba5a74669116499403f0df5190ee6..757e3977f94d22d8cea3f48fe60e15ea4ea4786e 100644 (file)
@@ -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 )
index af12566d8698d440e465f1e71397d13257ec5353..346150a0bdf20fa0763b5e2e88dfdda5b756d733 100644 (file)
@@ -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"
index 84e405e9b4d2d3d579371a329998d20966a48bb7..7df1384caa24d0f716c5cf7621dc44525bc08f1f 100644 (file)
 //
 #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"
index 7efa6ea54b4d20b6e1337499d4b0b4c3731342d5..8aaa79bae4201174e2019ce25b9c2f7b2d427c81 100644 (file)
@@ -31,6 +31,7 @@
 #include "SMESH_Hypothesis.hxx"
 #include "SMESH_Mesh.hxx"
 #include "SMESH_subMesh.hxx"
+#include "SMDS_ElemIterator.hxx"
 
 #include <SALOME_GenericObj_i.hh>
 #include <SALOMEconfig.h>
index 653fdea4ed08390177a153adb45dd24ed972d4c3..ca5bcd0d2e0c74d85f482bd6e15242916996fef0 100644 (file)
 //
 #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 <TopExp_Explorer.hxx>
 #include <TopoDS.hxx>
index 56a096df1ab9f24bf0c958aed2817af19e315a17..3d8980ff9a3751a9efc1b144ceb9b4ba705bcf1d 100644 (file)
@@ -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"
index a660013ed3b98aca2e1b523398a7c3c2c8bd1056..9328f4b77d1fe503782d040bc484df7a2247bfc1 100644 (file)
 //  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"
index bd3274d221228de247fe6481b614e05a7342d324..ba2e031ac96c00f8c70f1a5b408b45d1e26a4638 100644 (file)
 //
 #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 <Utils_SALOME_Exception.hxx>
 
index fb5dc152d8281389f83966bf3d761506fb90bf89..70fe2368d063191ccee137a29eb00ae13086bdc2 100644 (file)
@@ -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 <TopExp.hxx>
 #include <TopExp_Explorer.hxx>
 #include <TopLoc_Location.hxx>
+#include <TopTools_IndexedMapOfShape.hxx>
 #include <TopTools_MapOfShape.hxx>
 #include <TopoDS.hxx>
 #include <TopoDS_Compound.hxx>
index cb0512d1ff1ce07bf0df98853a47621bab89125f..d80d072a928b1ff93f40043b8857f985d95e910a 100644 (file)
@@ -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"
index c1b2dc0174e2a4129ad20857119e6f8b9b93a05a..3d04f7aac72630c7ef146c881c7b6ebd8c04eda5 100644 (file)
@@ -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"
index 24000a8c32c5798356b2fe5755fea86306c2141e..52ed47d013935baff02cfab915bb457e32f1d059 100644 (file)
@@ -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"
 
index 7537f7aeb8743a686b54b8cb864dc743b3d2e790..7ae149535504400bdcbb0ee387bddb4d9037dcab 100644 (file)
@@ -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"
index 2cbb8f46947bd038aa02e011f5365ffa161044f7..513536da152b8d91226be22ecd21c46d0954a8bf 100644 (file)
 //
 #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 <TopExp.hxx>
index e33628746461cadbeb1be26ec7b1a850ae2a02ec..4839f9b218b68052f47ed2498b0cda628fc7aacb 100644 (file)
@@ -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"
index 675bbad0399d31175987ea4d845d0281bb42148a..2ff7274fc2b0827483a13c14ec9adc555f7477c7 100644 (file)
 //
 #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 <ExprIntrp_GenExp.hxx>
 #include <Expr_Array1OfNamedUnknown.hxx>
index 6b4ca9b05e642344835405813495ef71e8ed17bb..413ec1f7e5ae6eddf72c322eda9ebbbb322e8e28 100644 (file)
@@ -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"
index 394c16b796eb10f1e7283c8d96711e4053610c87..0fdfad774529e4f0c866511c0a6a41005d3a2d73 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "utilities.h"
 #include "SMESH_Gen.hxx"
+#include "SMESH_Mesh.hxx"
 
 #include <TopoDS.hxx>
 
index 794aa889d33a97496c77ab635834dd7b68a5a74d..d81ade633a2008dcad61c8935e6dddbdc839b790 100644 (file)
 //
 #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"
 
index 6654ac0820d4bdac93d12b15899bcd70b16a6fdb..523043c6afd2a03e69ac62011f3e92d775b9f0de 100644 (file)
@@ -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"
index 0e7d3ff2065732b48bbf6f251986c91d3d0c87cd..b441156634125bc5243f466d8d5deb912cbb4564 100644 (file)
@@ -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"
index 9f07547b90ed4a4a460045c6d5130809f4162b02..040b2efc4bc8f13afb6f5e596022adbf8ac0f3ab 100644 (file)
@@ -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"
index fb074945274a6da7f509f6bdd1e38e0ff0b88e76..86b8b73766c26e7f5a615aea67b2df742942f72f 100644 (file)
@@ -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"
index 74960efbb17230cf2b1b125e9acae1d2e990e685..47fffaeb2c1244d189d01bfbc65d313e4a94a2f1 100644 (file)
 #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"
 
index fc25bf7bb578d31b7acd2f5836bf813790361a56..2be343242b9e3faab826423263dbf54f47282b13 100644 (file)
@@ -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"
index c23627d858ca1059040fd73a7900cdac580ec99a..526d1ec35cd64ada6cc0b6ad56bb286c4f5b1e35 100644 (file)
@@ -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"
index 973f113847f2f54edcf302fb3152cecf435ede20..4b0f11e21b619948fc2e02a241ba4ad474707ba4 100644 (file)
@@ -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"
index dc773dacc692240e0200f16fce4161371b5b25eb..7786f4ac70e38055913903f8fd87cae12ce7f3f2 100644 (file)
@@ -33,6 +33,8 @@
 
 #include "SMESH_Algo.hxx"
 
+#include <TopoDS_Shape.hxx>
+
 class Adaptor3d_Curve;
 class StdMeshers_Adaptive1D;
 class StdMeshers_FixedPoints1D;
index ada894616765f3235e28295930b2c6cd706b0811..f938d28291b9ede29780c4d6e3cc8587dd8275f3 100644 (file)
@@ -28,6 +28,8 @@
 //
 #include "StdMeshers_SegmentAroundVertex_0D.hxx"
 
+#include <TopAbs_ShapeEnum.hxx>
+
 //=======================================================================
 //function : StdMeshers_SegmentAroundVertex_0D
 //purpose  : 
index 9ee7df1c98a4f7d51f1e23c170661379d3b0ad1d..27afe5d0211b61fa20c56c15f6c0702b5cbd8ae7 100644 (file)
@@ -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"
index cd91c7391554e5aa63b773be64867eee028acf3e..32cf255ecc95f616c59f1565b3125dc0263d3b3b 100644 (file)
@@ -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"