Salome HOME
PR: correction bug EDF 2299.
[modules/smesh.git] / src / SMESH / SMESH_subMesh.hxx
index 781e555a997f56b16f3e26e3277e81b7bf8b70e3..028a249b288606932c45934ac2c0b219f858ea2d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  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
@@ -77,7 +77,6 @@ class SMESH_EXPORT SMESH_subMesh
   SMESH_Algo* GetAlgo() const;
 
   const std::map < int, SMESH_subMesh * >& DependsOn();
-  //const map < int, SMESH_subMesh * >&Dependants();
   /*!
    * \brief Return iterator on the submeshes this one depends on
    */
@@ -90,11 +89,11 @@ class SMESH_EXPORT SMESH_subMesh
   {
     NOT_READY, READY_TO_COMPUTE,
     COMPUTE_OK, FAILED_TO_COMPUTE
-    };
+  };
   enum algo_state
   {
     NO_ALGO, MISSING_HYP, HYP_OK
-    };
+  };
   enum algo_event
   {
     ADD_HYP          , ADD_ALGO,
@@ -102,16 +101,13 @@ class SMESH_EXPORT SMESH_subMesh
     ADD_FATHER_HYP   , ADD_FATHER_ALGO,
     REMOVE_FATHER_HYP, REMOVE_FATHER_ALGO,
     MODIF_HYP
-    };
+  };
   enum compute_event
   {
-    MODIF_ALGO_STATE, COMPUTE,
-#ifdef WITH_SMESH_CANCEL_COMPUTE
-    COMPUTE_CANCELED,
-#endif
+    MODIF_ALGO_STATE, COMPUTE, COMPUTE_CANCELED,
     CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED, SUBMESH_LOADED,
     MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE
-    };
+  };
   enum event_type
   {
     ALGO_EVENT, COMPUTE_EVENT
@@ -210,7 +206,7 @@ public:
   void DumpAlgoState(bool isMain);
 
   bool ComputeStateEngine(int event);
-  void ComputeSubMeshStateEngine(int event);
+  void ComputeSubMeshStateEngine(int event, const bool includeSelf=false);
 
   bool Evaluate(MapShapeNbElems& aResMap);
 
@@ -282,7 +278,9 @@ protected:
    * \brief Update compute_state by _computeError
     * \retval bool - false if there are errors
    */
-  bool checkComputeError(SMESH_Algo* theAlgo, const TopoDS_Shape& theShape=TopoDS_Shape());
+  bool checkComputeError(SMESH_Algo*         theAlgo,
+                         const bool          theComputeOK,
+                         const TopoDS_Shape& theShape=TopoDS_Shape());
 
   /*!
    * \brief Return a hypothesis attached to theShape.