Salome HOME
Copyright update 2021
[modules/smesh.git] / src / SMESH / SMESH_subMesh.hxx
index 5a8361278e02d784da0ff17c6219cbc4f2806a8f..576047f7d2e8c95a000f104581abd5a69c294c44 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  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
@@ -36,6 +36,7 @@
 #include "Utils_SALOME_Exception.hxx"
 
 #include <TopoDS_Shape.hxx>
+#include <TopTools_IndexedMapOfShape.hxx>
 
 #include <list>
 #include <map>
@@ -126,7 +127,7 @@ class SMESH_EXPORT SMESH_subMesh
   // ==================================================================
 
   /*!
-   * \brief Sets an event listener and its data to a submesh
+   * \brief Set an event listener and its data to a submesh
     * \param listener - the listener to store
     * \param data - the listener data to store
     * \param where - the submesh to store the listener and it's data
@@ -256,6 +257,15 @@ public:
   bool IsMeshComputed() const;
   // check if _subMeshDS contains mesh elements unless _alwaysComputed==true
 
+  bool IsComputedPartially() const;
+  // check if any upper level sub-shape is not computed
+
+  /*!
+   * \brief Set sub-shapes that are allowed to compute at once by a multidimensional algo
+   */
+  void SetAllowedSubShapes( const TopTools_IndexedMapOfShape* subShapes )
+  { _allowedSubShapes = subShapes; }
+
   /*!
    * \brief Allow algo->Compute() if a subshape of lower dim is meshed but
    *        none mesh entity is bound to it
@@ -344,6 +354,8 @@ protected:
   // mesh several edges as a whole and leave some of them  without mesh entities
   bool                  _alwaysComputed;
 
+  const TopTools_IndexedMapOfShape* _allowedSubShapes; // allowed to be returned by getCollection()
+
 };
 
 #endif