X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_subMesh.hxx;h=48ed2be01af35b7371bedcbeb84c9e94e391360c;hb=f96a5f853b454ee5cf9f164d5b3c9c8a9d262332;hp=0c956cea623af7fa8627fde9e16b659e71c95be7;hpb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_subMesh.hxx b/src/SMESH/SMESH_subMesh.hxx index 0c956cea6..48ed2be01 100644 --- a/src/SMESH/SMESH_subMesh.hxx +++ b/src/SMESH/SMESH_subMesh.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 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 @@ -107,7 +107,7 @@ class SMESH_EXPORT SMESH_subMesh }; enum compute_event { - MODIF_ALGO_STATE, COMPUTE, COMPUTE_CANCELED, + MODIF_ALGO_STATE, COMPUTE, COMPUTE_SUBMESH, COMPUTE_CANCELED, CLEAN, SUBMESH_COMPUTED, SUBMESH_RESTORED, SUBMESH_LOADED, MESH_ENTITY_REMOVED, CHECK_COMPUTE_STATE }; @@ -253,7 +253,7 @@ public: void SetIsAlwaysComputed(bool isAlCo); bool IsAlwaysComputed() { return _alwaysComputed; } - bool SubMeshesComputed() const; + bool SubMeshesComputed(bool * isFailedToCompute=0) const; /*! @@ -273,7 +273,7 @@ protected: void updateDependantsState(const compute_event theEvent); void updateSubMeshState(const compute_state theState); void cleanDependants(); - void cleanDependsOn(); + void cleanDependsOn( SMESH_Algo* algoRequiringCleaning=0 ); void setAlgoState(algo_state state); /*! @@ -282,7 +282,8 @@ protected: */ TopoDS_Shape getCollection(SMESH_Gen * theGen, SMESH_Algo* theAlgo, - bool & theSubComputed); + bool & theSubComputed, + bool & theSubFailed); /*! * \brief Update compute_state by _computeError * \retval bool - false if there are errors @@ -313,11 +314,12 @@ protected: std::map < int, SMESH_subMesh * >_mapDepend; bool _dependenceAnalysed; + SMESH_Algo * _algo; // the algorithm found by last *StateEngine() call algo_state _algoState; compute_state _computeState; SMESH_ComputeErrorPtr _computeError; - // allow algo->Compute() if a subshape of lower dim is meshed but + // allow algo->Compute() if a sub-shape of lower dim is meshed but // none mesh entity is bound to it. Eg StdMeshers_CompositeSegment_1D can // mesh several edges as a whole and leave some of them without mesh entities bool _alwaysComputed;